电子信息工程毕业论文基于单片机的数字时钟设计 (2).doc

上传人:来看看 文档编号:3958653 上传时间:2019-10-11 格式:DOC 页数:11 大小:97.25KB
返回 下载 相关 举报
电子信息工程毕业论文基于单片机的数字时钟设计 (2).doc_第1页
第1页 / 共11页
电子信息工程毕业论文基于单片机的数字时钟设计 (2).doc_第2页
第2页 / 共11页
电子信息工程毕业论文基于单片机的数字时钟设计 (2).doc_第3页
第3页 / 共11页
电子信息工程毕业论文基于单片机的数字时钟设计 (2).doc_第4页
第4页 / 共11页
电子信息工程毕业论文基于单片机的数字时钟设计 (2).doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《电子信息工程毕业论文基于单片机的数字时钟设计 (2).doc》由会员分享,可在线阅读,更多相关《电子信息工程毕业论文基于单片机的数字时钟设计 (2).doc(11页珍藏版)》请在三一文库上搜索。

1、郑州航空工业管理学院单片机课程设计论文 09 届 电子信息工程 专业 0913081 班级题 目 基于单片机的数字时钟设计 学 号 091308133 姓 名 张 笑 笑 指导教师 程 琤 二一 二 年 一 月 三 日一、 电子时钟的基本原理 我们的这次单片机数字式电子钟集成电路基本上都是由振荡器、分频器、计数器、译码器、LED显示器组成。译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差。并且我们还添加了蜂鸣器来增加它的闹钟功能。 本设计就是研究用数字电路实现的数字电子钟,整体的电路设计就是由振荡器、分频器、计数器、译码器、LED显示器、校时电路组成。这种用数字电路实

2、现的电子钟与机械式时钟相比具有更高的准确性和直观性,且使用寿命更长。(1)计数、显示电路 该部分是由两个60进制计数器,一个24进制计数器、译码器、显示器组成。按设计原理连接电路并进行仿真。给60进制计数器一个1 Hz的脉冲。观察数码管的显示,看计数器是否正常计时,并且当秒计数器计满60后向分计数器进位。分计数器计满60后向小时计数器进位。(2)校时电路 当时间不准确时,按下暂停键,然后按选择键来选择时分秒,选定后,按加一减一键来调整时间,并且可以设置闹钟功能。二、电子时钟的硬件设计电路原理图如下图1所示:图1 电子时钟原理图元器件清单如下表1所示:表1 电子时钟元件清单表 序号器件名称参数数

3、量1USB座12USB线13双排针(2)14跳帽25104电容0.1uF66LED灯17电阻2K18STC89C5219晶振12MHz110电容20pF211复位键112电阻10K113蜂鸣器114三极管9015915电阻33011616针座117MAX232118单排针(5)119按键420单排针(3)121跳帽1224位LED数码管223电阻4.7K824电阻3308 3、 电子时钟的软件设计源程序见附录 按键S4按下?调表程序开始初始化程序复位键按下?按键S2按下?加时程序按键S1按下?移动程序按键S3按下减时程序电子时钟程序流程图 : 四、课程设计总结通过着手制作自己和同学调制和焊接的

4、数字时钟,我体会到了学习电子的乐趣,体验到了设计和焊接过程的冥思苦想与设计成功后的成就感。在学习的过程中我们也遇到诸多问题,比如在下载程序的时候,计算机总是提示没有为其上电,经过我组成员的冥思苦想还有老师的相关指导,发现原来我们板子上的两路线焊接有误,经过一番调整,终于下载成功了,让人欣喜万分。从这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,实践是检验真理的唯一标准。我们电子专业的学习更是如此,不仅要有丰富的理论知识,还要有很强的动手能力,只有理论与实践并重,我们的专业水平才能提高。五、指导教师评语 成绩 指导教师签名附录:#include

5、 #include /*定义*/ Unsigned char code Tab14=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0,0xf9,0xbf,0xff; unsigned long second; unsigned long clock,temp; unsigned char int_time=0; unsigned char flag=0; sbit k1=P33; sbit k2=P32; sbit k3=P31; sbit k4=P30; sbit bibi=P16; bit k,o=0; sbit x=P27; u

6、nsigned char m; void delay(unsigned int j) unsigned char i;while(j-) for(i=0;i=8) P0=Tabtemp/3600/10+2; else P0=Tabtemp/3600/10+1; delay(2); P0=Tab13; P2=0xbf; if(k=0&flag=0)|(o=0&flag=1) P0=Tabtemp/3600%10; else if(k=1&flag=0)|(o=1&flag=1) P0=Tabtemp/3600%10+2; delay(2); P0=Tab13; P2=0xdf; P0=Tab12

7、; delay(2); P0=Tab13; P2=0xef; P0=Tabtemp%3600/60/10; delay(2); P0=Tab13; P2=0xf7; P0=Tabtemp%3600/60%10; delay(2); P0=Tab13; P2=0xfb; P0=Tab12; delay(2); P0=Tab13; P2=0xfd; P0=Tabtemp%60/10; delay(2); P0=Tab13; P2=0xfe; P0=Tabtemp%60%10; delay(2); P0=Tab13; P0=0xff; delay(2); /*Beep函数*void beep()/参

8、数a控制响的次数,1只响一声unsigned char beep_i,i;P2=0x7f;/x=0;P0=0xf7;while(1) beep_i=5;while(beep_i-)for(i=0;i50;i+) bibi=0;delay(1);bibi=1;delay(1);P2=_cror_(P2,1); if(P2=0x7f) if(P0=0xf7) P0=0xfe;else P0=0xf7;if(k4=0)delay(5); if(k4=0)while(!k4);return ; delay(250);delay(400); /*数函数*/ void main(void) TMOD=0x

9、01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; k=1; second=0; clock=0; while(1) if(second=clock&k=o)beep(); if(flag=0) if(k1=0) delay(5); if(k1=0) dosecond=second+3600;for(m=0;m15;m+) Display();while(k1=0); else if(k2=0) delay(5); if(k2=0) dosecond=second+60;for(m=0;m15;m+) Display();while(k2=0); else if(k3=0) delay(5); if(k3=0) dosecond=second+1;for(m=0;m=43200) clock=0;o=o; for(m=0;m15;m+) Display();while(k1=0); else if(k2=0) delay(5); if(k2=0) doclock=clock+60;for(m=0;m=43200) second=0;k=k; if(int_time=20) int_time=0; second+;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1