没有合适的资源?快使用搜索试试~ 我知道了~
一个很好用的汇编FFT原程序
3星 · 超过75%的资源 需积分: 21 23 下载量 189 浏览量
2009-09-12
14:08:51
上传
评论 2
收藏 117KB DOC 举报
温馨提示
试读
20页
很少见到用汇编编写FFT的,只因太繁琐。本程序用纯汇编写成,尽管繁琐,但你调用就简单啦。
资源推荐
资源详情
资源评论
FFT 程序
1 ORG 0800H
2 SIN EQW 12C0H
3 COS EQW 1380H
4 BB EQW 8900H
5 FT: MOV R,#80H ; 采样数据个数
6 MOV SP,#13H ; 设置堆栈
7 MOV 77H,#0C3H ; 置采样数据地址
8 MOV 76H,#00H
9 MOV DPTR,#DXB ; 置倒序表地址
10 MOV 73H,DPH
11 MOV 72H,DPL
12 FDBH:MOV DPH,77H ; 取采样数据→R2R3
13 MOV DPL,76H
14 MOVX,A,@DPTR
15 MOV R2,A
16 INC DPTR
17 MOVX,A,@DPTR
18 MOV R3,A
19 INC DPTR
20 MOV 77H,DPH
21 MOV 76M, DPL
22 MOV A,R2 ; 数符→3CH
23 MOV C,ACC.7
24 MOV 3CH,C
25 CLR, ACC.7
26 MOV R2,A
27 MOV R6,#10H ; 阶码#16→R6
28 SETB C
29 CLR PSW.5
30 LCALL FSDT ; 右规格化
31 MOV A,R6 ; 置数符
32 MOV C,3CH
33 MOV ACC.7, C
34 MOV R4,A
35 MOV DPH,73H ; 取倒序变量
36 MOV DPL,72H
37 CLR A
38 MOVC, A,@A+DPTR
39 MOV 20H,R2
40 MOV 21H,R3
41 MOV R0,#0CH
42 MOV R3,A
43 MOV R6,#00H
44 MOV R7, #00H
45 NADD: CLR C ; 倒序值 X#3→R6R7
46 MOV R2,#00H
47 MOV A,R3
48 ADD A,R7
49 MOV R7,A
50 MOV A,R2
51 ADDC, A,R6
52 MOV R6,A
53 DJNZ R0, NADD
54 INC DPTR
55 MOV 73H, DPH
56 MOV 72H, DPL
57 MOV DPTR, #0C000H ; 存数地址首址
58 MOV A,R6
59 JNZ LJY
60 MOV A,R7
61 JZ ZHUAN
62 LJY: INC DPTR ; 查找相应倒数值的存数地址
63 CLR C
64 MOV A,R7
65 SUBB A,#01H
66 MOV R7,A
67 MOV A,R6
68 SUBB A,#00H
69 MOV R6,A
70 JNZ LJY
71 MOV A,R7
72 JNZ LJY
73 ZHUAN: MOV R2,20H ; 倒序后数据→外 RAM
74 MOV R3,21H
75 MOV A,R4
76 MOVX @DPTR,A
77 INC DPTR
78 MOV A,R2
79 MOVX @DPTR,A
80 INC DPTR
81 MOV A,R3
82 MOVX @DPTR,A
83 DJNZ, R1,FDBH ; 循环 128 次
84 MOV R0,#41H ; "0"送 C180 开始的虚部地址
85 MOV R1,#00H
86 MOV R2,#80H
87 MOV DPTR,#0C180H
88 LOOP1: MOV A,R0
89 MOVX @DPTR,A
90 INC DPTR
91 MOV A,R1
92 MOVX @DPTR,A
93 INC DPTR
94 MOVX @DPTR,A
95 INC DPTR
96 DJNZ R2,LOOP1 ; 循环 128 次
97 LJMP FFT
98 DXB: DB 00H,40H,20H,60H ; 倒序变量数据
99 DB 10H,50H,30H,70H
100 DB 08H,48H,28H,68H
101 DB 18H,58H,38H,78H
102 DB 04H,44H,24H,64H
103 DB 14H,54H,34H,74H
104 DB 0CH,4CH,2CH,6CH
105 DB 1CH,5CH,3CH,7CH
106 DB 02H42H,22H,62H
107 DB 12H,52H,32H,72H
108 DB 0AH,4AH,2AH,6AH
109 DB 1AH,5AH,3AH,7AH
110 DB 06H,46H,26H,66H
111 DB 16H,56H,36H,76H
112 DB 0EH,4EH,2EH,6EH
113 DB 1EH,5EH,3EH,7EH
114 DB 01H,41H,21H,61H
115 DB 11H,51H,31H,71H
116 DB 09H,49H,29H,69H
117 DB 19H,59H,39H,79H
118 DB 05H,45H,25H,65H
119 DB 15H,55H,35H,75H
120 DB 0DH,4DH,2DH,6DH
121 DB 1DH,5DH,3DH,7DH
122 DB 03H,43H,23H,63H
123 DB 13H,53H,33H,73H
124 DB 0BH,4BH,2BH,6BH
125 DB 15H,5BH,3BH,7BH
126 DB 07H,47H,27H,67H
127 DB 17H,57H,37H,77H
128 DB 0FH,4FH,2FH,6FH
129 DB 1FH,5FH,3FH,7FH
130 FFT: MOV R1,#01H ; FFT 初始化
131 MOV 70H,#07H ; 迭代次数
132 MOV R4,#00H ; I 增量值
133 MOV R3,#06H
134 MOV 71H,#03H ; 对偶节点 I-IP 间隔
135 MOV 6DH,#00H
136 MOV R5,#0C0H ; K 增量值
137 MOV R7,#40H ; 小循环次数
138 MOV 10H,#01H : 保护单元、
139 FFT1: MOV R6,#00H ; K 初值
140 MOV R2,#0H ; 决定取、存数单元
141 MOV R0,#00H
142 MOV 11H,#00H ; 保护单元
143 MOV 6BH,#00H ; 保护单元
144 FFT2: MOV 12H,R7
145 MOV DPTR,#SIN ; 取 sink→3CH-3EH
146 MOV A,R6
147 MOVC A,@A+DPTR
148 MOV 3CH,A
149 INC DPTR
150 MOV A,R6
151 MOVC A,@A+DPTR
152 MOV 3DH,A
153 INC DPTR
154 MOV A,R6
155 MOVC A,@A+DPTR
156 MOV 3EH,A
157 MOV DPTR,#COS ; 取 COSK→3FH→41H
158 MOV A,R6
159 MOVC A,@A+DPTR
160 MOV 3FH,A
161 INC DPTR
162 MOV A,R6
163 MOVC A,@A+DPTR
164 MOV 40H,A
165 INC DPTR
166 MOV A,R6
167 MOVC A,@A+DPTR
168 MOV 41H,A
169 FFT3: MOV DPTR,#0C000H ; 实部数据首址
170 MOV 13H,R2 ; 保护单元
171 MOV 6AH,R0
172 MOV A,6AH
173 JNZ FY0
174 MOV A,13H
175 JNZ FY0
176 LJMP FY1
177 FY0: INC DPTR ; 查找相应 XR
178 MOV A,6AH (I)数据地址
179 CLR C
180 SUBB A,#01H
181 MOV 6AH,A
182 MOV A,13H
183 SUBB A,#00H
184 MOV 13H,A
185 JNZ FY0
186 MOV A,6AH
187 JNZ FY0
188 FY1: MOVX A,@DPTR ; 取 XR(I)→30H-32H
189 MOV 30H,A
190 INC DPTR
191 MOVX A,@DPTR
192 MOV 31H,A
193 INC DPTR
194 MOVX A,@DPTR
195 MOV 32H,A
196 MOV 13H,6DH ; 置对偶节点间距
197 MOV 6AH,71H
198 MOV A,6AH
199 CLR C
200 SUBB A,#02H
201 MOV 6AH,A
202 MOV A,13H
203 SUBB A,#00H
204 MOV 13H,A
205 ZHU1: INC DPTR ; 查找相应 XR(I)地址
206 MOV A,6AH
207 CLR C
208 SUBB A,#01H
209 MOV 6AH,A
210 MOV A,13H
211 SUBB A,#00H
212 MOV 13H,A
213 JNZ ZHU1
214 MOV A,6AH
215 JNZ ZHU1
216 MOVX A,@DPTR ; 取 XR(IP)→33H-35H
217 MOV 33H,A
剩余19页未读,继续阅读
资源评论
- wenzhiquan2012-06-14看起来太复杂了,注释不好
jiangduo2009
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功