




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编号: 本科毕业论文(设计)题目:基于at89c51单片机的低频波形发生器 学 院 物理与电子科学学院 专 业 电子信息科学与技术 学 号 200740620270 姓名 张亚杰 指导教师 赵发勇 职称: 教授 完成日期 2011年4月10日 诚 信 承 诺我谨在此承诺:本人所写的毕业论文基于at89c51单片机的低频波形发生器均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年 月 日19基于at89c51单片机的低频波形发生器目 录1前言52电路总体设计53电路详细设计63.1开关控制单元63.2 单片机控制单元73.3
2、d/a转换单元73.4 波形输出单元74系统软件设计84.1主程序及流程图84.2子程序及流程图104.2.1方波子程序及流程图104.2.2锯齿波子程序及流程图114.2.3.三角波子程序及流程图124.2.4梯形波子程序及流程图135. protues和keil联调与仿真155.1方波的仿真155.2锯齿波的仿真155.3三角波的仿真165.4梯形波的仿真166.总结177.致谢17参考文献17附录18附录1.单片机at89c51介绍18附录2.dac0832芯片介绍19附录3.lm324芯片介绍21基于at89c51单片机的低频波形发生器姓名:张亚杰 学号:200740620270 指导
3、老师:赵发勇 摘要:波形发生器作为一种常用的信号源,广泛地应用于电子电路和教学实验等领域。目前常用的主要是低频正弦波发生器,虽然其输出信号稳定,失真度底,但其缺陷是只能产生正弦波,且调节范围不大。本设计是以at89c51单片机为控制核心,外围采用数模转换电路(dac0832)和运算放大电路(lm324)实现的低频信号发生器。通过按键控制可产生方波、锯齿波、三角波、正弦波等波形,且信号幅度和频率都可以按要求控制。其设计简单、性能优好,具有一定的实用性。关键词:波形发生器 at89c51 dac0832 lm324abstract:waveform generator is a kind of c
4、ommon source, widely used in electronic circuits and teaching experiment, etc. the currently used more mainly low frequency sine wave generator, although its output signal stability, the distortion degree, but its defects is only generates sine wave, and the adjusting range is not big. this design b
5、ased on at89c51 as control core and periphery adopts digital-to-analog circuits (dac0832) and operational amplifier circuit (lm324) realize digital low frequency signal generator. through the button control can produce square-wave, sawtooth wave, triangle wave, sine wave, and signals such as amplitu
6、de and frequency can be controlled according to the requirements. its simple design, performance optimization is good, have certain practical. keywords:waveform generator at89c51 dac0832 lm3241前言波形发生器作为一种常用的信号源,在现代通信、电子技术及教学实验等领域得到了广泛的应用。目前,教学实验和电子电路设计等领域所使用的波形发生器大都是由分立元件制作的,其主要缺点是可靠性差、准确度低,随着通信技术和电
7、子技术的发展,对信号源的要求日趋多样化、稳定性高,使得传统的分立元件波形发生器的局限性日益凸显。本设计主要由单片机at89c51、数模转换芯片dac0832以及运算放大器lm324等元件制作而成的低频波形信号发生器,以at89c51为核心控制器件。用汇编语言编写出产生各种波形的源程序,使用时可根据需要通过单片机p1口控制输入所要产生波形的信号,单片机根据输入信号调用相应的子程序产生相应的数字信号波形,并把产生的波形信息从p0口输出到dac0832芯片,实现模数转换后送到lm324中处理,最终输出所需的波形。整个电路在protues和keil软件中进行仿真,通过示波器直接观测所产生的波形。波形的
8、周期可以根据需要通过程序任意改变,能够满足一些试验和演示的需要,具有成本低、操作方便等优点。2电路总体设计本设计是用开关控制单片机执行不同的波形发生子程序,即改变程序的运行状态,使信号发生单元能产生所需的波形。通过按钮开关控制at89c51单片机产生相应的波形,经过d/a转换和放大后显示输出。本设计主要由单片机、d/a转换、放大电路、按钮开关和波形输出五部分组成。电路的总体设计框图如图1所示。按钮开关单片机控制单元d/a转换单元放大电路单元波形输出图1 波形发生器的设计框图根据图1的总体设计框图,设计出波形发生器的总体硬件电路图,如图2所示。at89c51的p1口接一组转换开关dipsw-4,
9、将dipsw-4的选择信息通过p1口送到单片机内部进行波形选择,控制输出所需波形。单片机p1.0p1.3四个接口分别对应方波、锯齿波、三角波、梯形波,并分别驱动红、黄、绿、蓝四个发光二极管作为对应波形的指示灯。单片机输出的数字信号通过dac0832转换成模拟信号,模拟信号经过lm324放大后显示输出。图2 波形发生器的总体电路图3电路详细设计3.1开关控制单元通过dipsw-4开关选择单片机p1口某个信号接受端为高电平,同时相应的波形指示灯发光,即达到了选择输入某一波形信号的目的。此时,波形发生器即产生相应波形。具体电路连接如下图所示:图3开关控制电路连接图3.2 单片机控制单元 本设计用12
10、mhz的晶振,为单片机提供时钟脉冲。单片机的p0口外接dac0832,作为dac0832的输入。为增强p0口的带负载能力,使后面的d/a转换电路和放大电路能正常工作,需要在p0口接rp-10k的电阻作为负载。其外围电路连接如下图所示:图4 单片机外围电路连接图3.3 d/a转换单元 at89c51单片机的p1口输出为数字信号,需经dac0832芯片转换成模拟信号显示输出。由于波形发生器只需要一路模拟信号输出,所以dac0832采用单缓冲控制方式。在这种方式下,将2级寄存器的输出作为控制信号,在其作用下,输入数据直接送入d/a寄存器。dac0832芯片的连接如下图所示:图5 dac0832的外围
11、连接图3.4 波形输出单元 为了便于protues仿真观察输出波形,需要通过运算放大器lm324将adc0832芯片的电流型输出转换成电压信号,再送入示波器显示。本设计采用的是双电源工作模式运用反馈原理,构成i/v转换电路。其电路连接如下图所示:图6 波形输出单元电路图4系统软件设计4.1主程序及流程图利用at89c51单片机实时对p1.0、p1.1、p1.2、p1.3四口进行扫描,如果发现某一口输入为高电平,即通过程序调用相应的波形子程序,输出相应的波形信息。程序流程图如下图:square按下初始化,设置常量及指针saw按下triang按下ladder按下跳转到主程序nnnn开 始点亮 d1
12、调用方波输出程序,输出一个周期的方波点亮 d2调用锯齿波输出程序,输出一个 周期的锯齿波点亮d3调用三角波输出程序,输出一个周期的三角波点亮d4调用梯形波输出程序,输出一个周期的梯形波图7 波形发生器的主程序流程图主程序如下: org 0000h tri bit p1.2 ladder bit p1.3 ljmp start org 0030h start: mov p1,#00h main: jbc tri,s3 jbc ladder,s4 sjmp main s3:lcall triage sjmp main s4:lcall ladd sjmp maintriage: mov dptr,
13、#0ffh mov a,#00h up:movx dptr,a inc a cjne a,#0aeh,up dec a down:dec a movx dptr,a cjne a,#068h, down inc a sjmp up ladd: mov dptr,#0ffh l4: mov a,#42h up1: inc a movx dptr,a cjne a,#0aeh,l5 l5: jc up1 down1: lcall delay1 l6: dec a movx dptr,a cjne a,#043h,l7 l7: jc l4 sjmp l6delay1: mov r0,#65 d: m
14、ov r1,#55 djnz r1,$ djnz r0,d ret end4.2子程序及流程图4.2.1方波子程序及流程图在每个时钟到来时,通过at89c51单片机对p0口交替输出00h和0ffh,这样往复执行,即可输出连续的方波。a赋值为00hdptr为0ffh选中dac0832向0832中输出数据调用延时子程序延时给a赋值为0ffh 并输出数据再次调用延时程序返回方波程序: org 0000h ljmp startstart:mov dptr,#0ffhl1:mov a,#00h movx dptr,a lcall delay mov a,#0ffh movx dptr,a lcall d
15、elay sjmp l1delay:mov r0,#250 d:mov r1,#255 djnz r1,$djnz r0,d ret end图8 方波子程序流程图方波子程序仿真结果如下图所示:图9 模拟输出方波波形4.2.2锯齿波子程序及流程图先由at89c51对p0口输出00h,在每个时钟到来时对输出值加1,当加至0ffh时,再从00h重新开始加,这样往复执行,最终得到连续的锯齿波。锯齿波程序:org 0000h 将a清零令dptr为0ffh选定0832将a的 值赋给dptr数据输出累加器a值加1a=88返回nyljmp l2org 0030hl2: mov a,#00hl21: mov d
16、ptr,#0ffh movx dptr,a inc a cjne a,#088h,l21 sjmp l2 end图10 锯齿波流程图锯齿波子程序仿真结果如下图所示:图11模拟输出锯齿波波形4.2.3.三角波子程序及流程图先对p0口写00h,在每个时钟到来时输出值加1;当加至0afh时,继而在每个时钟来时减1,如此往复执行,最终输出为连续的三角波。设a=00h将a的值赋给dptr数据输出数据输出令dptr为0ffh选定0832累加器a的值加1累加器a值减1累加器a加1将a的值赋给dptr输出数据累加器a再减1a=0aeh返回a=068hyynn三角波程序:org 0000h ljmp start
17、 org 0030hstart:mov dptr,#0ffh mov a,#00h up:movx dptr,a inc a cjne a,#0aeh,up dec a down:dec a movx dptr,a cjne a,#068h, down inc a sjmp up end图12 三角波流程图三角波子程序仿真结果如下图所示:图13模拟输出三角波波形4.2.4梯形波子程序及流程图先对p0口写42h,在每个时钟到来时输出值加1,当加至0aeh时调用一次延迟程序,然后在每个时钟到来时将输出值减1,当减至42h时再依次加1,如此往复执行,即可输出连续的梯形波。a赋值为42h令dptr为0
18、ffh选定0832累加器a加1将a 的值赋给dptr输出a=0aeh调用延时子程序延时累加器a值减1将a的值赋值给dptr输出a=43h返回nnyy 图14 梯形波流程图梯形波程序: org 0000hljmp l4org 0030hmov dptr,#0ffhl4:mov a,#42hup1:inc a movx dptr,a cjne a,#0aeh,l5l5:jc up1down1:lcall delayl6:dec a movx dptr,a cjne a,#043h,l7l7:jc l4 sjmp l6delay:mov r0,#65 d:mov r1,#55 djnz r1,$ d
19、jnz r0,d ret end梯形波子程序仿真结果如下图所示:.图15 模拟输出梯形波波形5. protues和keil联调与仿真 运用protues和keil软件对所编写的主程序进行仿真,通过protues中的模拟示波器观察到结果仿真如下:5.1方波的仿真 当dipsw4中第一路开关闭合,方波所对应的红灯发光,同时,在模拟示波器中观察到如下所示图形:图16 方波的仿真及仿真图5.2锯齿波的仿真当dipsw4中第二路开关闭合,方波所对应的黄灯发光,同时,在模拟示波器中观察到如下所示图形:图17 锯齿波的仿真及仿真图5.3三角波的仿真当dipsw4中第三路开关闭合,方波所对应的绿灯发光,同时,
20、在模拟示波器中观察到如下所示图形:图18 三角波的仿真及仿真图5.4梯形波的仿真当dipsw4中第四路开关闭合,方波所对应的蓝灯发光,同时,可在模拟示波器中观察到如下所示图形:图19 梯形波的仿真及仿真图6.总结本设计的硬件电路主要是用at89c51单片机、dac0832数模转换芯片以及lm324集成运放等元件组成的,软件部分是用汇编语言编写的,能够产生方波、锯齿波、三角波和梯形波等波形。该波形发生器能够在一定程度上满足现代电子技术发展的需要,且相对于传统的波形发生器具有波形稳定、成本低廉、操作方便等优点,具有较强的推广意义。通过这次毕业设计,我加深了对单片机、数字电路、模拟电路及汇编语言等已
21、学专业知识的认识,增强了运用专业知识、专业技能分析和解决问题的能力,掌握了protues和keil软件的使用方法,熟悉了程序编写及调试的一般步骤,更让我深刻地体会到了实践是理论联系实际的桥梁,只有通过自己亲自实践,才能对事物有更深刻的了解。这次毕业设计为我今后工作和学习打下了坚实的基础。7.致谢首先衷心感谢我的指导老师赵发勇教授在我做毕业设计的过程中给予我的认真指导和热心帮助。从选题、形成初始电路和论文初稿,一直到如今毕业论文定稿,从整个设计的总体结构到每一个细节,赵老师都非常关心,从百忙之中抽出时间来对我进行了耐心的指导,使我的毕业设计能够顺利完成。同时还要衷心地感谢帮助过我的同学。参考文献
22、1 丁元杰.单片微机原理及应用(第3版)m.机械工业出版社,2005.2 沈美明,温冬婵.ibm-pc汇编语言程序设计(第2版)m.清华大学出版社,2009.3 阎石.数字电子技术基础(第5版)m.高等教育出版社,20094 阎石.模拟电子技术基础(第5版)m.高等教育出版社,20095 李华.mcs51系列单片实用接口技术m.北京航空航天大学出版社,1993.6 徐爱军.单片机实用教程-基于proteus仿真m.电子工业出版社7 徐建军.mcs-51系列单片机应用及接口技术m.人民邮电出版社,2003.8 李秀人.电子技术实训指导m.国防工业出版社,2006.9王粉花. 基于at89c205
23、1单片机的客车倒车监视系统j. 计算机技术与发展,2006年9期10 牛立佳. 船舶模型控制器的设计j. 大连海事大学,200711 黄闽海. lm324四运放实用电路的设计j. 福建轻纺,2002年8期附录附录1.单片机at89c51介绍at89c51是低电压、高性能cmos 8位单片机,片内带4kb fperom(可编程可擦除只读存储器)和128b ram(随机存取数据存储器),置有通用8位中央处理器(cpu),32个可编程i/o口线,2个16位定时器/计数器,6个中断源,1个全双工串行通信口。p0口有两种功能:地址/数据分时复用总线和通用i/o接口。p1口只能作为通用i/o接口。p2口可
24、以作为通用i/o接口或高8位地址总线。p3口作为通用i/o接口功能与p1口相同,此外,其更重要的用途是它的第二功能,如下表所示:表1 p3口引脚第二功能端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2int0(外部中断0)p3.3int1(外部中断1)p3.4t0(定时/计数器0)p3.5t1(定时/计数器1)p3.6wr(外部数据存储器写选通)p3.7rd(外部数据存储器读选通)时钟振荡器特性:xtal1和xtal2分别at89c51内部高增益反向放大器的输入端和输出端,外接石英谐振器构成自激振荡器。也可采用外部时钟源驱动器件,此时外部时钟脉冲接到xtal1端
25、,xtal2端应悬空。附录2.dac0832芯片介绍dac0832是双列直插式8位d/a转换器,能完成数字量输入到模拟量(电流)输出的转换。单电源供电,在+5+15v范围内均可正常工作。附图1和附图2分别为dac0832的引脚图和内部结构图。其主要参数如下:分辨率为8位,转换时间为1s,满量程误差为1lsb,基准电压的范围为10v,cmos工艺,低功耗20mw。21附图1 dac0832的引脚图 附图2 dac0832内部结构附图1中其余各引脚的功能定义如下:(1) di0di7:8位的数据输入端,di0为最低位,di7为最高位。(2) iout1:模拟电流输出端1,当输入全为1时,输出电流最大,输入全为0时,输出电流为0。(3) iout2:模拟电流输出端2,其值与iout1的和为一个常数。(4) rfb:反馈电阻引出端,dac0832
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高端无人驾驶技术集成与测试服务合同
- 2025福建厦门银行三明分行招聘笔试备考试题及答案解析
- 2025年电子信息产业学徒培养就业服务合同书
- 2024淮南市潘集区潘集镇社区工作者招聘考试试题
- 2025年铁路货运安全责任及运输服务质量合同范本
- 2025年度智能家居产品全球分销商权益及风险控制合同
- 2025年全新能源改造项目劳务合作合同范本
- 2025年旅游度假区主题展览项目创意设计及实施合同
- 2025年高端汽车租赁市场研究与客户需求分析合作协议
- 2025年绿色地产开发项目进度跟踪与全方位管理服务合同
- 人工智能在音乐制作中的辅助设计研究-洞察阐释
- (高清版)DG∕TJ 08-802-2005 通风与空调系统性能检测规程
- 小学一年级音乐课纪律规范
- 部编版八年级历史上册社会实践活动计划
- 室内烟火特性训练概述课件
- 初中数学问题解决策略 特殊化教案2024-2025学年北师大版(2024)七年级数学下册
- 2025年初中语文名著阅读《林海雪原》阅读题及答案
- 九年级英语教学质量分析报告
- 成人肠内营养支持护理
- 2024秋新北师大版数学七年级上册教学课件 ☆ 问题解决策略:直观分析
- DB61T 5113-2024 建筑施工全钢附着式升降脚手架安全技术规程
评论
0/150
提交评论