微机原理课程设计数字闹钟课程设计报告.doc
《微机原理课程设计数字闹钟课程设计报告.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计数字闹钟课程设计报告.doc(17页珍藏版)》请在三一办公上搜索。
1、目 录一、摘要2二、实验要求2三、实验电路及功能说明2四、实验程序流程图5五、实验结果分析7 六、设计心得8七、程序清单9八、参考文献14九、附录(AT89C51单片机)14一、摘要:作为一个合格的大学生,不仅需要有过硬的理论知识,还应该有动手实践的能力,并且是将理论结合实际,提升到应用层面。以后走上社会,还是会有很多新的知识是需要我们学习的,届时需要我们有比较强的自学能力。此次微机课程设计对理论结合实际的动手能力和自学能力有很强的体现。我们这次是基于AT89C51单片机数字闹钟的设计。关键词:数字闹钟,单片机AT89C51,LED数码管。二、 实验要求:1.通过单片机实现秒、分、小时的进位(
2、24小时制)。2.将当前时分秒在七段LED显示器上显示(如:091132)。3.可设置闹钟的时间当前值(对准时间),设置闹铃时间,闹铃功能的关闭和开放。.三、实验电路及功能说明:仿真电路图如下:图1图2该数字闹钟是用一片AT89C51A单片机通过编程去驱动8个数码管实现的。通过5个开关控制,从上到下5个开关KEY1KEY5的功能分别为: KEY1,调节时间,每调一次分加1;KEY2, 调节时间,每调一次时加1;KEY3,从其它状态切换至时钟状态;KEY4,切换至闹钟设置状态;KEY5,闹钟关闭和开放.控制键分别与P1.0P1.4口连接其中:A. 通过P2口和P3口去控制数码管的显示如图所示P2
3、口接数码管的ag端,是控制输出编码,P3口接数码管的18端,是控制动态扫描输出B. 从P0.4输出一个信号发光二极管发光,二极管在闹铃开关打开时发光。C. 从P0.0输出一个信号使蜂鸣器发声,蜂鸣器在闹铃打开并设置的闹钟时间到了时候鸣叫。(图1是时钟运行状态,图2是闹钟运行状态)功能说明:1 各个控制键的功能:可对时间进行校准调节(只能加);按下设置键数字时钟进入闹钟设置状态,设置闹钟的时间;时加、分加键是在校准时间时或设置闹钟时间对小时数或分钟数调节而设置的;2 AT89C51单片机,通过编写程序对数码显示进行控制。3 八个7段数码管显示时钟信号。四、实验程序流程图:1. 主程序流程图: 图
4、32. 时钟中断程序流程图: 图43. 按键程序流程图:图5五、实验结果分析:此数字闹钟设计是利用protues仿真软件进行仿真。基本上实现了要求的功能,该多功能数字钟实现的时钟显示、闹钟功能,校准时钟时只设计了时加键和分加键以及清零键,没有设置减分减时键。可发通过循环调节得到正确的调节数值。本程序共有分端口设置模块,计数模块,显示模块等几个模块。经过调试,本程序可以实现题目的要求。时、分、秒都分两位。个位满十后就向前进一位。分秒的十位满六十后也向前进一位。显示小时两位在满二十四后重新计数。程序中设置5个开关控制,从上到下5个开关KEY1KEY5的功能分别为: KEY1,调节时间,每调一次分加
5、1;KEY2, 调节时间,每调一次时加1;KEY3,从其它状态切换至时钟状态;KEY4,切换至闹钟设置状态;KEY5,闹钟关闭和开放.控制键分别与P1.0P1.4口连接应该注意的是,经仿真,程序中设置的功能全都可以良好运行。下面对几个重点部分的调试过程和遇到的问题作一定的讨论:1.修改后的中断服务子程序(改变进位的条件)其中进位的条件判断以及后面的闹铃的程序段位置的设置都与程序结果有很大的关系.进位判断特别要注意仔细,编程实现前应该画个流程图,直接再源文件上改不但不能节省时间,反而更加浪费时间。2.在程序中要注意延时程序的使用,否则可能产生按键或led显示失灵。六、设计心得通过对数字闹钟的编程
6、实现,对硬件特别是单片机的原理和实现都有了很深的解。更加深了对C语言和汇编的使用.整个程序中涉及单片机的使用,C语言和汇编语言熟练掌握的要求。可以说整个文件中最麻烦的就是进位条件的判断,编程中经常犯想当然的错误。另外对于中断服务子程序的类型设置问题,由于以前对这个概念的理解留于表面,编程中出现了不少奇怪的错误。再调试中尝试使用了分割法,对错误模块进行定位,再进行排查.在算法实现上要有一定的思路要更能体现设计的目的。同时上机调试也是十分重要的,在调试的过程中能够不断的发现在编写算法时应该注意的一些细节和算法语句的非法使用,在调试过程中通过对算法的不断测试、更正、扩充功能、修饰细节,使算法程序不断
7、的得到完善。通过这次的课程设计使我认识到要将微机原理这门计算机专业的课学好不仅仅是要把书上的基本知识学好而且还要不断进行实践,将所学的跟实践操作结合起来才能更好地巩固所学,才能提高自己实践能力.通过这次的设计使我认识到只停留在表面理解问题是很难使问题得到很好的解决的,实践能力与理论知识同样重要。可以说此课程设计的理论难度并不大,但是若要深入发掘其中的东西,并且实际去编程实现,就遇到了相当大的难度。因为与之涉及的很多方面并没有学过,需要自己去自学和实践检验。所以在以后的学习中一方面我要不断的巩固自己所学的理论知识,一方面还要多参加实际操作工作以便提高自己的实际操作能力。其实这次课程设计的最大收获
8、应该是找到了解决问题的几个很好的途径:1.讨论2.通过网络,在自己的网站上也收获了很多,共享让我们共同进步。此外,我学会了看硬件结构图,并学会了自己去独立的完善一个程序,对程序的效用等做思考。并体会到:问别人只能帮你开拓思路,真正解决问题还是要靠自己去摸索。当然讨论是很好的学习途径,它会让你事半功倍.由于时间不是很充裕,程序中有很多值得改善的地方,我尝试再其中加入更多的功能,但调试的结果没有,所以需要继续努力。七、 程序清单#include#define uchar unsigned char#define uint unsigned intuint tcount,u;dat2=0,0,0,0
9、,0,0,0,0;/uchar dat1=0,0,0,0,0,0,0,0;/时钟定时缓冲区uchar alarms=0,0,0,0,0,0,0,0;/闹钟定时缓冲区uchar dis_bit=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;/unsigned char code SEG711=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,;/共阳极led数码管09,-的字段码sbit tminute=P10;sbit thour=P11;sbit shizhong=P12;sbit alarm=P1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 数字 闹钟 报告

链接地址:https://www.31ppt.com/p-4194096.html