开始 取表格初值R1←00H 置DAC0832口地址4000H 查表格取数送0832 R1+1 →R1 图5-3 正弦波程序流程图
5.2.3 方波程序流程图
方波程序流程图如图5-4所示。当进入方波产生流程后,首先将DAC0832
口地址置为4000H,当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时,从而得到方波。
开始 置DAC0832口地址4000H
输出对应模拟量 00H→A
输出对应模拟量 延时 FFH→A
延时 图5-4 方波程序流程图
16
六、 测试结果
在确定编程思路以后将各部分的程序及各子程序编好,使用keil进行编译,根据提示的错误对程序进行修改。除了语法差错和逻辑差错外,当确认程序没问题时,通过直接加载到protues软件电路中进行仿真。
当按键1拨下时,波形为三角波,同时LCD1602显示为train。仿真图如图6-1所示。
图6-1 三角波仿真图
当按键2拨下时,波形为正弦波,同时LCD1602显示为sine。仿真图如图6-2所示。
图6-2 正弦波仿真图
当按键3拨下时,波行为方波,同时LCD1602显示为squrae。仿真图如图6-3所示。
17
图6-3 方波仿真图
在对系统进行波形仿真时可以在示波器上观察到三角波、正弦波和方波的波形。其中三角波以及正弦波的输出误差较大,方波波形较为理想。这一方面与电路设置的参数有关,另一方面也与使用的仿真软件有关。对于上述问题的解决办法是:改变仿真电路的参数或着换用版本较高的仿真软件。当然一般产生这种情况的原因多由于电路的参数设计不合理所制。当仿真时,由于存在一定的系统误差,波形效果不是很好。
18
七、设计心得
经过将近一周的课程设计,终于完成了我们的简易波形发生器的设计,基本达到设计要求,从心底里来说,还是很高兴的。但高兴之余不得不深思呀!
在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。
通过这次的课程设计,让我真正的认识到课程设计的重要性,不但可以通过具体课题的设计工作学习到相关的新知识,而且可以课堂上所学习的知识用于实践。当在实际运用单片机的时候,才发现原来自己所学的知识并不熟悉,运用起来更是生疏,没有实现学以致用的目的,而且还发现了原来很多存在的疏忽,如简单的指令一直都用错了。这次波形发生器的课程设计基本运用了单片机学习中的很多知识,如单片机的结构及基本原理,指令系统和C语言程序设计,D/A转换接口技术等等。电路设计和程序设计都 参考了教材上的实例,但是在实际仿真的过程中却发现有些不妥只处,不能实现预期的结果,这样也提醒了自己书本不一定都是对的,所学的知识必须要充分理解再加以灵活的运用,更要注意具体问题具体分析解决。此外,通过实际的仿真操作,更加熟悉了PROTEUS 、Keil和Altium designer软件的操作流程,为以后的更好地学习和运用创造了条件。
要设计一个成功的电路,必须要有耐心,在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,我仔细比较分析其原理以及可行的原因。这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。同时在本次设计过程中,我还学会了高效率的查阅资料、运用工具书、利用网络查找资料。我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整,这就要求我们应更加注重实践环节。
19
致 谢
在课程设计期间,经各位老师的悉心指导和耐心启发,学习到了科学研究的基本方法,具备了一定的科研能力,使本人得以顺利地完成课程课题设计。老师渊博的学识,严谨的治学态度,和蔼的为人,忘我工作的奉献精神,使我深受感染。在此我要特别感谢各位老师对我的设计报告修改提出了宝贵的意见。衷心感谢我的室友和学长在从文献资料的收集到开题,在具体研究工作的开展与深入及论文的撰写各个阶段他们都给予了我莫大的帮助。最后,感谢我的家人在生活上对我的关心和照顾以及对我的学业的莫大支持。感谢所有关心和帮助过我的人。由于作者水平有限,文中难免有不妥和错误之处,恳请各位老师、专家及同学批评指正!
20