- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计报告书
课题名称 波形发生器的设计 姓 名 学 号 院 系 通信与电子工程学院 专 业 电子科学与技术 指导教师 教授
2012年 12月31日
一、设计任务及要求
设计任务:要 求:(2)
指导教师签名:
年 月 日 二、指导教师评语
指导教师签名:
年 月 三、成绩
验收盖章
年 月 日 1设计目的 通过对本课题的设计,掌握A/D、D/A转换的应用,用单片机通过编程产生各种波形的方法。熟悉单片机应用系统的设计以及软硬件的调试。单片机本身并没有开发能力,必须借助开发工具即硬件开发环境才能进行开发。单片机的硬件开发环境有PC机、编程器和仿真机等。
2设计的主要内容和要求 设计一个简易波形发生器,要求该系统能通过开关或按钮有选择性的输出方波、锯齿波、三角波及正弦波等四种波形,并且这四种波形的频率均可在一定范围内调节,电压的幅度也可以通过电位器在一定范围内进行调节。
对于四种波形的切换,用四个开关的四种状态来表示(或用按钮)。选用D/A转换器选用DAC0832来输出波形。通过拨码开关来调节频率。3 整体设计方案
本方案直接采用Atmel公司的AT89C51作为波形发生器。波形的具体产生是通过DAC来产生,Atmel公司的AT89C51在这方面的设计为我们提供了极大的方便,用它实现的好处在于,外围电路极其简单,另外在DAC的编程方面又提供及其便利的编程环境。外围电路的设计包括三大部分,第一是键盘控制电路的设计,这里采用4个独立按键,由P1.0、P1.1、P1.2、P1.3的进行控制。通过P0口输出数字波形信号,经过DAC0832转换为模拟信号进行输出。在波形输出的同时利用按键(拨码开关)来进行频率调节,通过对DAC0832的VREF参考电压的控制来调节输出波形的幅度。另外由于Atmel公司的AT89C51接DAC输出,为保证电流的输出在P0口接上上拉电阻,保证驱动电路正常驱动。本设计的特点是全面采用数字电路方案,因而工作稳定可靠。利用单片机控制管理,使频率设置和占空比调整等操作可用键盘输入,十分方便。通过按键的控制来调节输出波形的形式、频率和幅度,如图3.1所示。
图3.1 整体设计方框图
4 硬件电路的设计
根据设计要求,可以考虑四种波形切换,用四个开关的四种状态来实现。波形频率的改变是通过P2口来控制实现。波形输出是通过D/A转换器实现的,可以选用D/A专用芯片0832来完成。通过控制DAC0832的参考电压来调节输出波形的幅度,采用一个1K的电位器来调节。这样系统的主要器件就确定了。其系统的硬件电路原理图如图4.1所示。
系统选用12MHZ晶振,如用8MHZ晶振,则输出波形的频率可得到相应降低。A/D转换器芯片的地址按图中所示接线为7000H,采样通道为IN0,三个通道地址选择端ADD-A,ADD-B及ADD-C接在数据线上,也可以接到P2口线上,只是按图所示接线,在启动A/D转换器时,累加器A中应送通道值。当然,按设计要求也可将这三根地址线接地,但这样不利于系统扩展,0809EOC端在A/D转换结束后会产生一个上跳变,将其接到P3.2口,这样当A/D转换结束时可按等待及查询两种方式读取数据,编程较为灵活,若采取中断方式读取结果,从EOC输出的信号应加反相器后再送到P3.2口,以便与单片机的中断逻辑相匹配。分频器74ALS74将1MHZ的地址锁存信号四分频,变为250KHZ脉冲后,提供给0809作为其工作脉冲。D/A转换器芯片DAC0832将单片机输入的数字量转变为电流信号并以差分方式送给运算放大器LM324,后者将其变为电压信号输出。若要得到正负电压,则应该为运算放大器提供正负电源。按途中所示,接线0832地址为8000H。
图4.1系统的硬件电路原理图
5 软件设计
根据硬件设计,系统用按钮切换波形,可考虑采用查询或中断方式进行,这两种方式比较起来后者效率更高。若采用查询方式检测按钮,则系统需花费时间去定期检测P3.3口管脚电位,这样就增加了软件开销,降低了效率,因此采用中断方式编程比较理想。其编程思想是安排一个存储单元存放按钮次数,初值设为0,对应于某种波形,每中断一次数据加1,以对应另一种波形。因此中断程序的任务仅仅是通过改变按钮的次数来存放单元的数据而已,波形转换在主程序中进行。各种波形的输出频率是通过改变两次输出数据之间的时间间隔来
文档评论(0)