ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:110.44KB ,
资源ID:11396900      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11396900.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(毕业设计基于单片机的信号发生器设计01.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

毕业设计基于单片机的信号发生器设计01.docx

1、毕业设计基于单片机的信号发生器设计01基于单片机的信号发生器设计代劲(吉首大学 物理科学与信息工程学院,湖南 吉首 416000)摘 要本文介绍一种用AT89C51单片机构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。文章给出了源代码,通过仿真测试,其性能指标达到了设计要求。关键词:单片机;DAC;信号发生器Design of Signal Generator Based on MCUDai Jing(College of Physics Science and Inform

2、ation Engineering,Jishou University,Jishou,Hunan 416000)AbstractThis paper introduces a signal generator with MCU AT89C51,which is used to generate electro-wave-forms such as squares、triangles、sines and teeth-saw. The periods of these signals can be changed by programs of MCU AT89C51 and their outpu

3、ts can be selected to be monopolar or bipolar. This paper provides the original code. And the technical parameter of the signal generator meets the request of the design after the simulation test. Key words:MCU;DAC;signal generator 硬件设计硬件原理框图硬件原理方框图如图4.1所示。图4.1 硬件原理框图主控电路AT89C51单处机内部设置两个16位可编程的定时器/计

4、数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片内定时器计数器溢出时产生的中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到

5、定时器计时结束,产生中断请求,AT89C51响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形6。如图4.2所示,AT89C51从P0口接收来自键盘的信号,并通过P2口输出一些控制信号,将其输入到8155的信号控制端,用于控制其信号的输入、输出。如果有键按下,则在读控制端会产生一个读信号,使单片机读入信号。如果有信号输出,则在写控制端产生一个写信号,并将所要输出的信号通过8155的PB口输出,并在数码管上显示出来。图4.2 主控电路图数/模转换电路由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位

6、分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。由图4.3可知,DAC0832的片选地址为7FFFH,当P25有效时,若P0口向其送的数据为00H, 则U1 的输出电压为0V;若P0口向其送的数据为0FFH时, 则U1的输出电压为-5V. 故当U1 输出电压为0V时,由公式 得:Vout = - 5V.当输出电压为- 5V时,可得:Vout =

7、+5V,所以输出波形的电压变化范围为- 5V+ 5V. 故可推得,当P0所送数据为80H时,Vout为0V4。图4.3 数模转换电路按键接口电路图4.4为键盘接口电路的原理图,图中键盘和8155的PA口相连,AT89C51的P0口和8155的D0口相连,AT89C51不断的扫描键盘,看是否有键按下,如有,则根据相应按键作出反应。其中“S0”号键代表方波输出,“S1”号键代表正弦波输出,“S2”号键代表三角波输出。 “S3”号键代表锯齿波输出,“S4”号键为10Hz的频率信号,“S5”号键为100Hz的频率信号,“S6”号键为500Hz的频率信号,“S7”号键为1KHz的频率信号3。时钟电路80

8、51单片机有两个引脚(XTAL1,XTAL2)用于外接石英晶体和微调电容,从而构成时钟电路,其电路图如图4.5所示。电容C1、C2对振荡频率有稳定作用,其容量的选择为30pf,振荡器选择频率为12MHz的石英晶体。由于频率较大时,三角波、正弦波、锯齿波中每一点的延时时间为几微秒,故延时时间还要加上指令时间才能获得较大的频率波形9。 图4.5 时钟电路显示电路显示电路是用来显示波形信号的频率,使得整个系统更加合理,从经济的角度出发,所以显示器件采用LED数码管显示器。而且LED数码管是采用共阳极接法,当主控端口输出一个低电平后,与其相对应的数码管即变亮,显示所需数据。其器件模型如图4.6所示。图

9、4.6 LED显示电路软件设计程序流程图本文中子程序的调用是通过按键的选择来实现,在取得按键相应的键值后,启动计时器和相应的中断服务程序,再直接查询程序中预先设置的数据值,通过转换输出相应的电压,从而形成所需的各种波形。主程序的流程图如图5.1所示,在程序开始运行之后,首先是对8155进行初始化,之后判断信号频率值,如符合所需的频率,则重置时间常数,并通过显示器显示出来,不符则返回。在中断结束后,还要来判断波形是否符合,如符合,则显示其频率,不符则返回,重新判断。图5.1 主程序流程图图5.2为各波形子程序的流程图。如图所示,在中断服务子程序开始后,通过判断来确定各种波形的输出,当判断选择的不

10、是方波后,则转向对正弦波的判断,如此反复。如果选择的是方波,则用查表的方法求出相应的数据,并通过D/A转换器将数据转换成模拟信号,形成所需波形信号。图5.2 子程序流程图波形仿真通过前面的软、硬件设计,整个电路的设计已基本完成,下面将进行正弦波、方波、三角波、锯齿波等波形的仿真与测试。本文中波形信号的仿真是以Proteus 6.5这一款软件为平台,装入波形发生程序,验证硬件电路和程序的正确性。正弦波的仿真如图5.3所示,此波形为幅度为5V,频率为500HZ的正弦波,是通过查表转换的方法来实现的。而要实现其他如10HZ、100HZ、1KHZ等频率的波形,则需要调用延时子程序,改变波形发生的时间常

11、数。图5.3 正弦波仿真图三角波的仿真如图5.4所示,此波形为幅度为5V,频率为500HZ的正弦波,是通过查表转换的方法来实现的。通过调用延时子程序,改变波形发生的时间常数,实现10HZ、100HZ、1KHZ等频率的波形。图5.4 三角波仿真图锯齿波的仿真如图5.5所示,此波形为幅度为5V,频率为500HZ的锯齿波,是通过查表转换的方法来实现的。而要实现其他如10HZ、100HZ、1KHZ等频率的波形,则需要调用延时子程序,改变波形发生的时间常数。方波的仿真如图5.6所示,此波形为幅度为5V,频率为500HZ的方波,是通过查表转换的方法来实现的。通过调用延时子程序,改变波形发生的时间常数,实现

12、10HZ、100HZ、1KHZ等频率的波形。图5.6 方波仿真图结束语这种基于单片机的信号发生器已经展示出很好的性能,而且有着很高的性价比。此外,它产生的波形与模拟电路的波形相比,波形有着更好的平滑性,其周期性也更加稳定。已经越来越多的应用到各种电子设备当中,给人们的日常生活带来了方便。在论文中简单介绍了它的用途和发展趋势,根据它的一些基本知识,按照自己的想法设计了一类低频信号发生器,具体包括了设计方案以及相关参数的选取和计算,根据工作基本原理加入了一些相关的辅助电路,并编写了相关的应用程序。有些指标还有待于进一步提高。例如,在精度及其它功能的扩展上还有较大的潜力可以挖掘,这些都有待于我们通过

13、对电路的改进和对元器件的最佳选择来进一步完善。而且由于本人所学知识有限,很多知识点的学习不够深刻,我会在以后的学习中更加踏实、认真的学好各个知识点。参考文献1 程全.基于AT89C52实现的多种波形发生器的设计J.周口师范学院学报,2005.22(5):5758.2 周明德.微型计算机系统原理及应用M.北京:清华大学出版社,2002.341364.3 刘乐善.微型计算机接口技术及应用M.北京:北京航空航天大学出版社,2001.258264.4 童诗白.模拟电路技术基础M.北京:高等教育出版社,2000.171202.5 杜华.任意波形发生器及应用J.国外电子测量技术,2005.1:3840.6

14、 张友德.单片微型机原理、应用与实践M.上海:复旦大学出版社,2004.4044. 7 程朗.基于8051单片机的双通道波形发生器的设计与实现J.计算机工程与应用,2004.8:100103.8 张永瑞.电子测量技术基础M.西安:西安电子科技大学出版社,2006.61101.9 李叶紫. MCS-51单片机应用教程M.北京:清华大学出版社,2004.232238.10 蔡美琴.MCS-51系列单片机系统及其应用M.北京:高等教育出版社,1988.56289.致 谢本文的研究工作是在杨永东老师指导、帮助和督促下完成的。杨永东老师在该领域有敏锐的感知力以及对其应用价值的洞察力给我留下了深刻的印象。

15、在攻读学士学位四年的学习期间,导师勇于探索、敢于创新的科研精神激励我不断努力进取,在今后的人生旅途上取得成功的宝贵的精神财富。同时,在学习期间导师为我提供了良好的研究环境和实践条件,并对一些创新性的工作给予了大量的指导与支持。在本文完成之际,谨向为我倾注了大量心血的导师及帮助过我的老师和同学表示最诚挚的感谢和深深的敬意!附录一源程序:ORG 0000HAJM MAINORG 000BHLJMP TC0ORG 0030HMAIN:MOV DPTR,#9FFFH 指向DAC0832(1)MOV A,70HMOVX DPTR,A DAC0832(1)输出MOV DPTR,#7F00H 指向8155命

16、令字端口地址MOV A,#06H 设置A口为输入,B口、C口为输出MOVX DPTR,A 送命令字MOV DPTR,#7F01H 指向A口地址MOVX A,DPTR 读入A口的开关数据JNB ACC.4,K10H 判断是否“4”号键,若是则转输出10Hz信号JNB ACC.5,K100H 判断是否“5”号键,若是则转输出100Hz信号JNB ACC.6,K500H 判断是否“6”号键,若是则转输出500Hz信号JNB ACC.7,K1K 判断是否“7”号键,若是则转输出1KHz信号AJMP MAINLED1: MOV R3,#06H 设置6个LED显示MOV R2,#01H 选通第一位LED数

17、据MOV R1,#30H 送显示缓冲区首址GN1:MOV DPTR,#7F03H 指向C口地址MOV A,R2 位选通数据送AMOVX DPTR,A 位选通数据送C口RL A 选通下一位MOV R2,A 位选通数据送R2中保存MOV A, R1 取键值MOV DPTR,#TAB 送LED显示软件译码表首址MOVC A,A+DPTR 查表求出键值显示的段码MOV DPTR,#7F02H 指向B口地址MOV DPTR,A 段码送显示LCALL LOOP1 调延时子程序INC R1 指向下一位显示缓冲区地址DJNZ R3,GN1 循环显示6个LEDRETLOOP1:MOV R4,#08H 延时子程序

18、LOOP:MOV R5,#0A0HDJNZ R5,$DJNZ R4,LOOPRETK10H:MOV 30H,#00H 显示10HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#01HMOV 35H,#00HLCALL LED1 调显示子程序MOV TMOD,#00HMOV TL0,#15HMOV TH0,#9EHAJMP PDK100H:MOV 30H,#00H 显示100HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#01HMOV 34H,#00HMOV 35H,#00HLCALL LED1 调显示子程序MOV TMOD,#0

19、0HMOV TL0,#08HMOV TH0,#0F6HAJMP PDK500H:MOV 30H,#00H 显示500HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#05HMOV 34H,#00HMOV 35H,#00HLCALL LED1 调显示子程序MOV TMOD,#00HMOV TL0,#01HMOV TH0,#0FEHAJMP PDK1K:MOV 30H,#00H 显示1KHzMOV 31H,#00HMOV 32H,#01HMOV 33H,#00HMOV 34H,#00HMOV 35H,#00HLCALL LED1 调显示子程序MOV TMOD,#00HMOV T

20、L0,#01HMOV TH0,#0FFHPD:JNB ACC.0,KE0 判断是否“0”号键按下,若是则转方波输出JNB ACC.1,KE1 判断是否“1”号键按下,若是则转正弦方波输出JNB ACC.2,KE2 判断是否“2”号键按下,若是则转三角波输出JNB ACC.3,KE3 判断是否“3”号键按下,若是则转锯齿波输出LJMP PDKE0:MOV R7,#00HLCALL LED1 调显示子程序MOV R6,#00HAJMP GNKE1:MOV R7,#02HLCALL LED1 调显示子程序MOV R6,#00HAJMP GNKE2:MOV R7,#02HLCALL LED1 调显示子

21、程序MOV R6,#00HAJMP GN KE3:MOV R7,#02HLCALL LED1 调显示子程序MOV R6,#00HGN: SETB TR0SETB ET0SETB EALOP1:JNB ACC.4,K10H 判断是否“4”号键,若是则转输出10Hz信号JNB ACC.5,K100H 判断是否“5”号键,若是则转输出100Hz信号JNB ACC.6,K500H 判断是否“6”号键,若是则转输出500Hz信号JNB ACC.7,K1K 判断是否“7”号键,若是则转输出1KHz信号AJMP LOP1TC0:CJNE R7,#00H,TC1 发送方波程序MOV DPTR,#TAB1 送方

22、波数据表首址MOV A,R6 发送数据寄存器MOVC A,A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX DPTR,A DAC0832(2)输出MOV A,R6INC A MOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL1TC1:CJNE R7,#01H,TC2 发送正弦波程序MOV DPTR,#TAB2 送正弦波数据表首址MOV A,R6MOVC A, A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX DPTR,A DAC0832(2)输出MOV A,R6INC AMOV R6,ACJNE A,#3

23、2,QL1MOV R6,#00HAJMP QL1TC2:CJNE R7,#02H,QL1 发送三角波程序MOV DPTR,#TAB3 送三角波数据表首址MOV A,R6MOVC A,A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX DPTR,A DAC0832(2)输出MOV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL1TC3:CJNE R7,#03H,QL1 发送锯齿波程序MOV DPTR,#TAB4 送锯齿波数据表首址MOV A,R6MOVC A, A+DPTRMOV DPTR,#0AFFFH 指向DAC

24、0832(2)MOVX DPTR,A DAC0832(2)输出MOV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HQL1: RETITAB: DB 0C0H,0F9H,0A4H,0B0H,99H,82H,0F8H,80HTAB1: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FF

25、H, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,

26、0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H

27、, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H,

28、00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H

29、TAB2: 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, 0F

30、BH,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, 4

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2