频率可调的正弦波发生器.doc_第1页
频率可调的正弦波发生器.doc_第2页
频率可调的正弦波发生器.doc_第3页
频率可调的正弦波发生器.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本次课程设计的题目是设计频率可调的正弦波发生器,可以利用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 TR0LOOP: 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的选片地址 MOVX 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,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 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 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, 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”其他均为低电平,这时DAC0832被选通。定义一个正弦表格如上,表格元素作为DAC0832的输入数字量。表格的偏移地址送R1,表首地址送DPTR,DPTR+R1即为元素物理地址。当DAC0832被选通时,且指定地址的数字量由CPU送到DAC0832,则DAC0832输出一个模拟量。这一模拟量与输入数字量成正比,当将表格的数字量设计成符合正弦波的变化规律时,且表格的数字量依次输入DAC0832时,输出的模拟量即电压的变化规律也符合正弦波的变化规律。 (2)关于频率变化的原理: 当DAC0832输出一个模拟量时,将输出的状态用定时器做延时。将定时器时工作状态设置成状态1,将定时初值0FFB1存入R5,R4中,然后起定时器开始工作。由表格可知一个周期的正弦波由256个模拟量组成每个状态的延时时间乘以256即为输出正弦波的周期,那么正弦波的周期就取决于每个状态的延时时间。当增加定时器的定时初值时即延长了定时时间,即降低了正弦波的频率。反之,当减少定时器的定时初值时,即增加了了正弦波的频率。由于工作状态为方式一,每次改变初值后计数完毕需要重装改编后的初值。该功能由如下程序段实现:MOV TL0,R4 MOV TH0,R5 (3)关于键盘扫描部分的说明: BRT0程序段即为键盘扫描部分,P1.0的状态控制频率增加。当P1.0的状

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论