频率可调的正弦波发生器.doc

上传人:枫** 文档编号:543883048 上传时间:2023-07-31 格式:DOC 页数:4 大小:24.51KB
返回 下载 相关 举报
频率可调的正弦波发生器.doc_第1页
第1页 / 共4页
频率可调的正弦波发生器.doc_第2页
第2页 / 共4页
频率可调的正弦波发生器.doc_第3页
第3页 / 共4页
频率可调的正弦波发生器.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《频率可调的正弦波发生器.doc》由会员分享,可在线阅读,更多相关《频率可调的正弦波发生器.doc(4页珍藏版)》请在金锄头文库上搜索。

1、本次课程设计的题目是设计频率可调的正弦波发生器,可以利用DAC0832数模转换器来实现。具体程序如下:ORG 0000H AJMP MAIN ORG 000BH AJMP BRT0 ORG 0100HMAIN: MOV R1,#00H ;取表格初始偏移量 MOV R4,#0B1H MOV R5,#0FFH MOV A,R1 MOV DPTR,#SETTAB MOVC A,A+DPTR MOV DPTR,#7FFFH ;DAC0832的选片地址 MOVX DPTR,ADELAY:MOV TMOD,#01H MOV TL0,R4 MOV TH0,R5 MOV IE,#82H SETB TR0LOO

2、P: SJMP $ ORG 0200HBRT0: JNB P1.0,JIA JNB P1.1,JIAN AJMP NEXT1JIA: CLR C MOV A,R4 ADDC A,#01H MOV R4,A MOV A,R5 ADDC A,#00H MOV R5,A AJMP NEXT1JIAN: CLR C MOV A,R4 SUBB A,#01H MOV R4,A MOV A,R5 SUBB A,#00H MOV R5,ANEXT1:INC R1 MOV A,R1 MOV DPTR,#SETTAB MOVC A,A+DPTR MOV DPTR,#7FFFH ;DAC0832的选片地址 MOV

3、X DPTR,A MOV TL0,R4 MOV TH0,R5 RETISETTAB: DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H DB 0F6H

4、,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H

5、 DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H DB

6、 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H DB 16H,

7、18H, 1AH, 1CH, 1EH, 20H, 22H, 25H DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80HEND程序整体结构的说明: (1)程序中正弦波生成的说明: 程序中CPU的地址线全译码,设定DAC0832的片选地址为7FFFH,即CPU的P0口和P2口状态为P2.7为高电平“1”其他均为低电平,

8、这时DAC0832被选通。定义一个正弦表格如上,表格元素作为DAC0832的输入数字量。表格的偏移地址送R1,表首地址送DPTR,DPTR+R1即为元素物理地址。当DAC0832被选通时,且指定地址的数字量由CPU送到DAC0832,则DAC0832输出一个模拟量。这一模拟量与输入数字量成正比,当将表格的数字量设计成符合正弦波的变化规律时,且表格的数字量依次输入DAC0832时,输出的模拟量即电压的变化规律也符合正弦波的变化规律。 (2)关于频率变化的原理: 当DAC0832输出一个模拟量时,将输出的状态用定时器做延时。将定时器时工作状态设置成状态1,将定时初值0FFB1存入R5,R4中,然后

9、起定时器开始工作。由表格可知一个周期的正弦波由256个模拟量组成每个状态的延时时间乘以256即为输出正弦波的周期,那么正弦波的周期就取决于每个状态的延时时间。当增加定时器的定时初值时即延长了定时时间,即降低了正弦波的频率。反之,当减少定时器的定时初值时,即增加了了正弦波的频率。由于工作状态为方式一,每次改变初值后计数完毕需要重装改编后的初值。该功能由如下程序段实现:MOV TL0,R4 MOV TH0,R5 (3)关于键盘扫描部分的说明: BRT0程序段即为键盘扫描部分,P1.0的状态控制频率增加。当P1.0的状态为低时,将定时器的定时初值R5,R4减1,则输入模拟量的状态延时时间减短则正弦波的周期变短。P1.1的状态为低时,将定时器的定时初值R5,R4加1,则输入模拟量的状态延时时间增加则正弦波的周期变长。CPU通过不停的扫描P1.0和P1.1的状态来判断是否对正弦波的频率进行改变。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号