,单片机复位后从高电平变为低电平,从地址开始执行指令。
单片机的引脚为主机提供个外部复位信号输入端口。
复位信号是高电平有效,高电平有效的持续时间应为个机器周期以上。
单片机的复位方式有上电复位和手工复位两种,图是系列单片机常用的上电复位和手动复位组合电路,只要上升时间不超过,他们都能很好的工作。
图复位电路系统程序设计软件总体框架设计图主流程图如图,为主流程图,本软件充分采用了模块化设计,包括主程序,显示控制程序,显示数据转为三位码子程序,显示子程序,延时程序,电压测量子程序,按键检测子程序等子程序。
首先初始化程序,所谓初始化,是对将要用到的系列单片机内部部件或扩展芯片进行初始工作设定。
初始化子程序的主要工作是设置定时器的工作模式初值预置开中断和打开定时器等。
系统上电时,将内存单元清,口置。
在刚上电时,因内存单元的数据位,则每通道的数码管显示值都为。
当进行次测量后,将显示每条通道的转换值。
每个通道的数据显示时间在左右。
主程序在调用显示程序和测试程序之间循环。
模数转换测量子程序显示子程序采用动态扫描法实现四位数码管的数值显示。
测量所得的转换数据放在内存单元中,测量数据在显示时需转换成进制码放在单元中,其中存放通道标志数。
寄存器用作路循环控制,用作显示数据地址指针。
其程序流程图如图所示。
开始初始化调用转换子程序调用显示子程序图转换测量程序流程图显示子程序显示子程序采用动态扫描实现四位数码管的数值显示。
在采用动态扫描显示方式时,要使得显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率。
当扫描频率在左右时,能够产生足够的图像和较好的显示效果。
般可以采用间隔对进行动态扫描次,每位的显示时间为。
在单片机中,定时功能既可以由硬件定时计数器实现,也可以通过软件定时程序实现。
软件延时程序占用的时间,因此,它降低了的利用率硬件定时是利用单片机内定时器定时,启动以后定时器可与并行工作,不占用开始启动测试转换结束取数据地址加地址数小于结束的时间,使工作有较高的工作效率。
由于本设计简单,可靠性较高,因而采用软件实现的方式对的影响不大。
在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器溢出中断功能实现定时,通过软件延时程序来实现的延时。
定时器中断服务程序的功能从显示缓冲区分别取出位显示器显示数据的位码和段码,送到口,依次显示每位,每位的显示时间为,显示位需要的时间。
定时器的计数初值设时钟频率为,个机器周期时间为。
定时器产生的定时,可以计算出计数值和计数初值计数值定时时间机器周期时间计数初值初值寄存器的初值为工作方式寄存器,定时器,工作方式最大定时值为。
制作与调试硬件电路的布线与焊接根据原理图生成图,在把完成的图打印到转印纸上,然后用热转印制作线路板。
做出线路板后再打孔,注意钻头尺寸。
然后是元器件的焊接,焊接时要注意元器件的正负极,不要焊错。
还要注意不要虚焊,虚焊是很难检查的。
因为是双面板,有铜线相连的焊盘正反面都要焊,以确保线路连通,所以必须万分仔细,避免漏焊。
调试系统硬件调试在系统上电开始测量前,要用万用表的电压档对被测电压进行估测,然后以此选择适当的量程,防止过大电压烧坏转换器。
首先用万用表按照原理图逐步检查印刷板中各器件的电源及各引脚的连接是否正确,有否断路短路或者虚焊,尤其是给电路供电的电源部分要重点检查,用数字万用表测量输出端的电压是否为,是否稳定,能输出,且稳定即可说明电源电路的设计基本达到要求。
如果电压要求没有达到,要及时排查给与解决,以免烧坏芯片和其他元器件。
系统软件调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序的,同时也能发现硬件的故障。
软件调试是个模块进行的。
首先单独调试各子程序是否能够按照预期的功能,接口电路的控制是否正常。
最后调试整个程序。
尤其注意的是各模块间能否正确的传递参数。
检查显示模块程序。
在主程序中调用和函数,观察在上是否能够显示相应的字符。
如果不能,则在相关的子程序中设计断点,反复调试直到能够显示。
检查按键模块程,谢辞岁月荏苒,三年的大学时光竟然就这样匆匆而过,我要开始写毕业论文的谢辞了,心中真是感慨万千。
论文的完成标志着我的大学生涯即将结束,也意味着,新的生活即将拉开序幕。
最近的半年忙着实习和写论文,其间的起起伏伏悲喜得失,今天想来仍旧唏嘘不已,所幸我在生活经验中不断成长,也为大学时光画下了还算完满的句点。
论文得以顺利完成,要感谢的人实在是太多了。
首先要衷心地感谢我的导师杨老师的细心指导。
我还要感谢学校对我的栽培,三年来尽力为我提供良好的学习和生活环境,撰写论文时为我提供免费的数据库以查询资料。
感谢所有在大学期间传授我知识的老师,您们的悉心教导让使我掌握了良好的专业课知识,这也是论文完成的基础。
感谢应用电子的所有同学,你们给我的生活增添了多少的光彩,如果没有你们,我不敢想象我的大学生活会是什么样子的。
最后要深深地感谢我的父母亲和家人,我永远都不会忘记你们的良苦用心和对我如既往的支持与鼓励。
快乐的事情因为有你们的分享而更快乐,失意的日子因为有你们亲切的关怀也能够忘却伤痛,坚强前行。
希望你们能够开心快乐,这是我最大的心愿。
附件附件实物图附件系统原理图附件系统图附件元器件清单表器件类别元件序号型号参数数量参考价封装形式单片机晶振四联体数码管共阳开关按键开关普通电容电解电容普通电阻可变电阻三极管转换器分频器附件简易数字电压表的源程序,求平均放数据序。
本设计的按键模块程序是用状态机的方法,可以在状态下加个任务,如显示个字符在上。
观察是否能正确显示。
检查转换模块程序。
可以在硬件电路的输入端输入已知的几个电压,分别观察上是否能显示相应的电压值。
检查数据的转换模块程序。
可以输入相应电压,观察显示的电压值是否致。
如果致。
则数据转换的算法正确的。
总调试。
当相应的各模块环节都正确后,可程序下载到单片机。
接上电源运行。
再检查所有功能,观察是否能预期的样。
如果样,说明设计成功完成。
在开始调试时,数码管的显示较不稳定,感觉较闪烁,数据变化不连贯,好像在跳变。
经过反复思考发现,开始程序是使用静态显示方法。
查了很多资料发现,般数码管显示采用动态扫描的方法,于是将程序的显示部分改成动态扫描程序,经再次调试可以显示比较稳定的数字串了。
调试心得回顾起此次毕业设计,我感慨颇多,从理论到实践,在整整几个月的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。
在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。
测试数据调试完后,对电路进行精度准确度进行测试,为了保证精确度,要多测几个点,除了零点和满度值外,再选择两个中间值进行比较,测试结果如表所示。
表测试数据表输入值测量值