文档详情

单片机闹钟实训.doc

发布:2018-06-21约2.4千字共6页下载文档
文本预览下载声明
湖南******职业技术学院 单片机闹钟课程实训报告 课题名称 单片机闹钟 姓 名 *** 学 号 ****** 院、系、部 ****** 专 业 电子信息工程 指导教师 *** 2010年 6 月 10 日 【单片机闹钟设计】 一.实验目的及要求 实验目的: 1、加强使用单片机的编程控制一些较复杂一点电路的能力。 2、掌握单片机闹钟的原理 3、学会使用程序驱动数码管显示 4、学习复杂电路的设计、分析 5、按设计电路和工艺要求制作调试样机,并编写测试报告。 6、强化自己的焊工技能和专业素养。 7、强化综合运用模拟、数字电子技术和单片机原理与应用技术的能力。 实验要求: 1、设计一个闹钟电路,最大能显示到小时 2、要示具有使能端、复位端、启动、停止按钮 3、要求用数码管显示 二.电路工作原理及分析 (1)硬件原理图: (2)工作原理: 三.实验程序设计 整个实验的所有原理程序 #includereg52.h #define uchar unsigned char #define uint unsigned int uchar shi,fen,miao; sbit rs=P2^5; sbit rw=P2^6; sbit en=P2^7; sbit buy=P0^7; uchar code a1[]=2007-7-30 MON; uchar code a2[]=00:00:00; void delay(uchar z) { uchar x,y; for(x=100;x0;x--) for(y=z;y0;y--); } void cbuy() { P0 = 0xff; rs = 0; rw = 1; en = 1; while(buy == 1); en = 0; } void write_com(uchar com) { cbuy(); P0=0xff; rs=0; rw=0; P0=com; en=1; ; en=0; } void write_date(uchar date) { cbuy(); rs=1; rw=0; P0=date; en=1; ; en=0; } void init() { write_com(0x30); write_com(0x01); write_com(0x06); write_com(0x0c); } void clr() { write_com(0x30); write_com(0x01); } void dis_ch(uchar x0,uchar y0,uchar xx,uchar *p) { uchar i,j; write_com(0x30); write_com(xx); for(i=0;ix0;i++) { for(j=0;jy0;j++) { write_date(p[i*16+j]); } } } void main() { init(); clr(); while(1) { dis_ch(1,16,0x80,a1); dis_ch(1,16,0x90,a2); } } 四、安装调试与结果 1、安装元件时,首先检查一下元器件的好坏,用万用表测试电源脚与接地脚是否短路。 2、测试出数码管的公共接地端对应的管脚。 4、调试时,接通电源前,先用万用表检查电路电源正负极是否短路,确认没短路时才通电。以前我有一次粗心就吃亏了,差点把电源烧坏。 5、先按要求电路是否按电路原理图焊接,然后再通电检查。 6、编译程序 7、如果程序没错误,就下载到单片机进行综合调试 8要是没理想效果也不要急,先分析问题出在哪里,导致问题发生的原因。然后一个一个去排除。一定要有耐心 8、经过这一步步检查和改正后终于达到理想的效果。 五、参考文献 《C语言与单片机》 *88********************** 《单片机应用技术》 *** 主编 高等教育出版社 《电子技术基础》 康华光 主编 高等教育出版社 《电子产品工艺》 卢庆林 主编 西安电子科技大学出版社 《电子元器件检测与应用技术》 韩广兴 主编 电子工业出版社 六.实训总结 通过这次实训还使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从实践中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在此次综合实训的过程中,不仅让我比较全面的温习了大学所学的知识,体会到了很多的乐趣,而且激发了我对电子行业及其产品的兴趣。 这次实训,使我的动手操作能
显示全部
相似文档