基于STC89S52单片机开发板的功能设计与应用.doc
《基于STC89S52单片机开发板的功能设计与应用.doc》由会员分享,可在线阅读,更多相关《基于STC89S52单片机开发板的功能设计与应用.doc(17页珍藏版)》请在沃文网上搜索。
1、目录目 录第一章 课程设计要求及功能说明11.1课程设计要求11.2课程设计电路及功能说明2第二章 程序设计及结果分析32.1程序设计思想32.2调试析及问题解答3单片机综合应用实验设计总结6第一章 课程设计要求及功能说明第一章 课程设计要求及功能说明1.1 课程设计要求用四位数码管实现分计时,显示分秒,可以任意设置时间。1.2课程设计电路及功能说明1.2.1设计电路(见下图)1.2.2功能说明本作品四位数码管显示分计时,显示分秒;四位数码管显示分倒计时,显示分秒。四个独立按键(S1、S2、S3、S4)进行功能控制。S1为功能转换按键,按下一次为倒计时功能,按下两次为计时功能。S2、S3为计时
2、与倒计时设置时间按键,S2每按下一次秒加1,S3每按下一次秒减一,S4为计时与倒计时开始于暂停按键。另有蜂鸣器报警,设置时间时,每按下一次功能按键,蜂鸣器响一次;倒计时功能下,当计时少于10秒时,蜂鸣器报警。电路原理图:16第二章 程序设计及结果分析第二章 程序设计及结果分析2.1程序设计思想计时器的基本功能是计时与倒计时,由按键控制计时与倒计时功能的切换以及计时、倒计时的计数初值,数码管予以显示。通过程序把按键输入的命令给程序中修改时间函数,函数对按键做出反应并判断,进行功能的转换,计数初值的修改以及启停,利用中断进行高精度计时与倒计时,。当按键输入不正确时,函数不做任何反应,保持计时倒计时
3、的正常进行以及保证功能的稳定性。2.2调试结果分析及问题解答由于是利用开发板进行的程序设计,没有涉及到硬件的制作,所以在此测试硬件不在赘述。程序的编辑在Keil uVision4中进行,当编辑好后,我们可以运行链接一下,有错误必须修改,如程序格式错误、语法错误、括号不匹配等,一般的语法错误还是很容易排除的,关键难的是找出逻辑错误,我们可以进入软件提供的DEBUG选项来调试,可以单步运行也可以设置中断点,由此我们可以看出程序运行的步骤和过程,也可以看到左边框的REGISTER选项有个寄存器在运行中值得变化情况,以便我们分析程序运行的具体情况,一般调试没错误我们就可以把程序编译生成16进制文件,由
4、下载软件下载到单片机中验证,如没有得到想到的结果,继续修改程序,继续下载,直到调试到正确的结果为止。 程序编译结果图如下:是否S1按下?是否有按键按下?系统初始化开始正常显示按下几次?偶数次转换清零进入倒计时进入计时倒计时设初值计时设初值是否S2按下?是否S3按下?是否S4按下?是否S2按下?是否S3按下?是否S4按下?奇数次YYNNNYY秒加1秒加1秒减1秒减1开始开始S4再次按下?S4再次按下?暂停NNNNYYYYYYNNYYNN程序流程图如下: N在程序编译测试完成且正确后,我们将开发板连接到电脑上,运用STC_ISP_V3.1进行程序的下载烧写。整个程序的精髓在中断服务函数的应用。中断
5、是CPU与外设交换信息的一种方式。CPU在执行正常程序的过程中,当某些随机的异常事件或者某种外部请求产生时,CPU将暂时中断正在执行的正常程序,而转去执行对异常事件或者某种外部请求的处理操作,当处理完毕后,CPU再回到暂时中断的程序,接着往下继续执行。中断处理过程示意图: 主程序中断请求 中断服务程序 中断响应 中断返回MCS-52系列单片机的中断系统它是由中断源、中断标志、中断允许控制、中断优先级控制、中断查询硬件以及相应的特殊功能寄存器组成。相应的特殊功能寄存器TCON和SCON用来存储来自中断源的请求标志,IE为中断允许寄存器、IP为中断优先级控制寄存器。 单片机综合应用实验设计总结单片
6、机综合应用实验设计总结虽然上述程序能实现计时与倒计时的基本功能,但不算完善,并未考虑各种异常情况的出现,比如在计时与倒计时的过程中,数码管已经显示其功能,而在按下设置初值按键的时候仍修改在运行中的数字的值,从而造成计时与倒计时的计数错误。又比如计时功能清零的功能处理不好,在计时完成后的清零需要通过其功能转换清零,或者复位清零。给使用带来许多麻烦。在按键的功能控制处理上不是最优,功能拓展受到极大的限制以及资源的浪费。如果增加硬件,那么就会增加成本,这是不符合设计要求的。不过在实际应用中可以根据实际情况进行完善。如果充分理解了上述程序,那么在原有的硬件及其软件基础上设计更好的程序在单片机上使其具有
7、更强大,更完善的功能是完全可以的。两周的单片机综合应用实验设计结束了,我由理论再次走向了实践。在自己动手的过程中,再次学习了单片机开发的基本流程及其PROTEL绘制原理图的过程,加深了印象。由于程序设计是基于开发板上的,所以我没能再次体会到硬件调试的痛苦,只有软件调试的纠结。从这次设计使我又一次感受到了设计开发的痛苦,在这个设计上,软件的编写实现其功能对我来说是个不小的挑战,由于在软件设计方面,由于我大量采用AVR单片机程序设计语言,在Keil程序设计中,程序略显复杂、繁赘,程序中的许多问题从简单变复杂化,逻辑操作大量使用,实际局部增加了程序的可读性,加大了程序修改的难度,段声明处理不得当,导
8、致程序编译后出现警告,在中断处理方面不成熟,导致程序跳不出中断等等。不过再解决问题后,得出一点成果之后还是很有成就感和满足感的,从这次的编程过程学会了在写程序的时候很多地方自己要标注清楚,方便在以后使用,同时也提高了程序的可读性,觉得自己最大的收获是自己把AVR和51、52系列单片机部分编程语言结合起来,实现了部分通用,这让我这今后的学习开发中得到极大的便利,也使得在两者之间的程序移植方便,处理起来更为得心应手。回顾这次课程设计的过程,自己还是学到了相当多的知识,对发光二极管的点亮与熄灭,数码管的静态显示和动态显示以及对其段选和位选的操作,矩阵按键的扫描和独立按键的运用,更重要的是对单片机中断
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89S52 单片机 开发 功能设计 应用