1、基于AT89C51单片机的数字式简易低频信号发生器电子设计应用软件训练总结报告一、 任务说明:本次课设的任务是基于AT89C51单片机的数字式简易低频信号发生器的设计,要 求实现用程序产生方波、正弦波、锯齿波、阶梯波四种信号,并可以键控切换,而且 需在Proteus电子设计平台上对设计方案进行仿真。本次设计采用了 AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832来实现 模数转换,从而输出正确的波形,设计中还连接了按键电路来实现键控。 波形的频率 为200Hz,用调整延时来实现。设计简单,性能良好,具有一定实用性。二、 原理图绘制说明1、原理图绘制过程说明(1)运行p
2、roteus7.5进入绘图页面。图1 proteus 绘图页面(2)查找元器件,按动键盘按键 P,进入Pick Devices页面,在关键字项中输入元件名称。如查找AT89C51的帥 |16kB E*. WHt. Wsldxbg TW.孩I 卓 Tne“ UMT|Sffil Z.咖此 5*加旳 Tei. 3iw Tw-k UAHT|M甲口niFI耀H *.胸虹刃豪却g Titmi 3x1涉Trwr 1朗卄 眄!I 祸中gcoftr |B 8. 4I1Hj. Wdhg Tvmi Id Trair UAHT| 51 Hcncrriok |EJkB =ndh. 4MHa Wddbg Tm 3xltH
3、 TrwiE LJART|3CE9 li4cacaftv|EJkB =adh. Wddxbg Tri 玉l&bi TrwiE UAHT|士 二*土艇(Qi IAT85C51RB?ATSX51RB?BU6ATaCSIRW 副聲RRbB呻 AiS9CElRg-3A-89C51RD2EUE;02* PXhT- jxWT JWlu FianizJ图2查找元件(3) 放置元器件并连线。2、原理图说明(1) 单片机晶振电路对于MCS-51般的晶振可以在1.2MHZ-12MHN间选择,这时电容C1、C2可以 选择在10pf-30pf之间。在本设计中,电容选择25pf,晶振选择12MHZ电路如下图:图3单片机
4、晶振电路原理图(2) 单片机复位电路复位时单片机的初始化工作,复位后中央处理器CPU和单片机内部的其他功能部件都处在一定的初始状态,从这个状态开始工作。电路如下图:(3) 总线电路本设计中,将P0并行口作为波形数据输出口,通过数据总线与DAC0832勺D0-D7380137g無0335D4:-4苗33D632&710VREF RFBGND23R510kFyccILE(BYVBY2)WR2XFER 函 DIBI0UT2I0UT1131715 0514D61307U2WCC*-*1问A1OA11A12A13 A14A15HD3 AQ4AD5离呃a.07DACQ3321015屋17丄22 13DDC
5、SWR1DI7r11连接。P2.7与0832的片选端/CS连接,使用时可由地址译码提供。P3.6与0832的2 管脚外部数据存储器写选通相连。电路如下图:图5总线电路(4) 键控电路本设计中的键控部分引入了外部中断 0中断来实现对波形的切换,用按键与P3.2连接来实现。在该管脚上加上一 10k的上拉电阻,用来提高输出电平,加大输出引脚 的驱动能力。电路如下图:图6键控电路(5) DAC0832电路在本设计中,DAC0832选择了直接工作方式。0832中的电源电压VCC输入寄存 器的锁存信号端ILE、基准电压端VREF接高电平。模拟电路接地端、数字电路接地 端GND写信号2端/WR2传递控制信号
6、端/XFER接地。D/A输入电流1、2端与反馈 信号输入线RFB连接运算放大器。这里的运算放大器选用了 LM324型号。电源电压 设置为-6+5VWR g诃grids4D2 5D16DO .7 .话 VCCGND WR7DI3 XFER-DI2 DI4DI1 DI5DIO DIGVREF DI7RFB I0UT2GND 3T11R51191817花U211电路图如下:图7 DAC0832电路三、流程图绘制以及说明:单片机的内部数据只有0、1之分,所产生的信号也都是离散信号。为了让单片 机输出所需的数字信号,采用对信号采样、量化的方法来实现由单片机产生所需信号。(1)主函数主函数调用了各个子程序
7、的初始化,通过对按键次数的判断来实现不同的功能, 输入波形。数值为0、1、2、3时分别输出方波、正弦波、阶梯波、锯齿波。图8主函数流程图(2)按键计数函数流程图在按键计数函数中,对key进行循环加1的操作,每按一次,数值加1。数值加开始到3时,再按动按键,数值跳回1在设计中,对正弦信号进行采样,通过查表来实现输出不同的幅度值。对于方波,(3)波形子程序调用函数赋予初值FFH延时一段时间后,赋值 00H,再延时一段时间后,输出 FFH以此循 环。在实现阶梯波时,通过查表和延时来实现。锯齿波则是通过256个采样点赋值依 次减1得以实现。为满足设计要求中输入频率为200hz这一要求,在程序中在对波形
8、 各个采样点赋值之外,还设计了相应的延时。波形子程序的调用就是对这两项进行调 用。四种波形的流程图如下。图10方波子程序调用流程图图11正弦波子函数调用流程图i+输出阶梯波图12阶梯波子程序调用图13锯齿波子函数调用流程图四、Proteus仿真说明:连接好原理图后,双击 AT89C51芯片,将后缀为.hex的文件添加到单片机中,点击运行图14添加程序正确运行后,示波器中显示正弦波。频率约为 200hz。波形如下图15 方波波形按动按键一下,波形转变成正弦波。皮率约为 200hz。波形如下ImuPpMikinClmrinel CPofi*liDnOm-StKtMMIkiini0IDPotion2
9、tl=1Digital Oscilloscope图16正弦波波形再按动一次按键,波形转换成阶梯波。频率约为 200hz。波形如下口E.:snn-二 *f*C?P!QnATT图17阶梯波波形再按动一次按键,波形转变成锯齿波。频率为 200hz。波形如下Sume c 0 lUlf TSnKJT 鼻 JCliatHhelClhkimel DChai Kiel BDigit川 OseillDseope |1图18锯齿波波形再按动一次按键,波形回到最初显示的方波。五、体会及合理化建议通过这次的课设,我熟悉了基于AT89C51单片机的数字式简易低频信号发生器的 设计,学会了如何利用数模转换器 DAC083
10、2来实现波形,和通过按键控制切换波形。在这次课程设计的过程中遇到了一些难题,比如键控部分。起初的构想是用 P1 口来控制按键,给P1 口赋初值01H,输入第一个波形,在对P1 口左移一位,输出第 二个波形,依次类推。连接后原理图无法正确运行。在频率上,编程时设计的延时单 元没有很符合要求, 仿真时输出的波形的频率与要求不符。 后经多次试验, 实现了输 出频率为 200hz 这一要求。在今后的学习中, 我认为应当为大家提供更多的机会亲自动手去完成一些简易的 设计,这样不仅可以加深大家对平时学习的理论知识的理解, 也可以提高大家的动手 实践能力,更会扩宽同学们的视野,拓展专业知识,有益于今后的学习
11、与发展。参考文献1 .严洁.单片机原理及接口技术 .M 机械工业出版社.2010.146-151 页2. 欧伟明、何静、凌云、刘剑 . 单片机原理及应用系统设计 .M 电子工业出版 社.2009.140-143 页3. 卢胜利、郝立果、丁峰.单片机原理与应用技术实践.M机械工业出版 社.2009.227-231 页4. 朱定华、戴颖颖、李川香 . 单片微机原理、汇编与 C51 及接口技术 .M 清华大学出 版社.2010.296-299 页5. 张毅刚、刘杰.单片机原理及应用.第三版.M哈尔滨工业大学出版 社.2010.219-226 页附录I电路原理图TH wsg 寸-Ld rdX3ES: g-LdLt -蚩ioe丄宙庄O一 d9頁E 寸匸密一 雲盏E 轻导E 二爲N 畧CJQ-NUJSCID 9 型 寸SI STi .s-ig- 2聶 寸口导 2密 M 営备 O宰 OO5OE足S电CNrl,. -As* 附录II元器件清单元器件名称及规格标注AT89C51U1DAC0832U2电阻10KR1上拉电阻10KR2晶体振荡器12MX1瓷片电容25PfC1,C2电解质电容10uFC3按键开关K1直流电源5VVCC运算放大器LM324U3数字示波器
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1