ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:1.05MB ,
资源ID:19387992      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19387992.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计电子钟Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计电子钟Word文件下载.docx

1、4.1 单片机整体功能模块图 84.2 单片机蜂鸣器和数码管连接图 84.2 单片机矩阵键盘连接图 94.3 单片机时钟模块和晶振连接图 95 软件程序设计 106 实验测试部分 206.1测试结果 206.1.1电子钟正常的运行 206.1.2电子钟矫正时间后的运行 206.2测试结果分析与结论 217 总结 228 参考文献 231 系统功能要求本次设计时钟电路,使用了AT89S52单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂。同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、蜂鸣器、数码管显示即可满足设计要求。(1)

2、准确计时,以数字形式显示时、分、秒的时间。(2)小时以24小时计时形式,分秒计时为60进位。(3)校正时间功能,即能随意使用键盘键上的按键来调整时钟的时、分、秒。(4)闹钟功能,一旦走时到该时间,能以用蜂鸣器来进行定时提醒。2 设计原理及方案论证2.1数字钟原理数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的1MHZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟. (1) 晶体振荡器 晶体振荡器给数字钟提供一个频率稳定准确的11.0592MHz的方波信号,可保证数字钟的走时准确及稳定.不管

3、是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器。(2) 复位电路 时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器,时个位和时十位电路构成,秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,时个位和时十位计数器为24进制计数器。(3) 数码管 数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。(4) 键盘 键盘是控制和修改时钟的重要输入模块,通过键盘可以修改时间,修改闹钟时间,控制显。2.2电子时钟方案方案一:本方案采用DS1302。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直

4、接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设6个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有

5、硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。电子时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。2.3数码管显示方案静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的

6、每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。从节省I/O口和降低能耗出发,本设计采用方案二。3 主控制器和外围器件3.1单片机主控芯片本实验采用AT89S52芯片。(1)8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 024MHz(2)片内有 256字节 数据存储器 RAM(3)片内有 8K字节 程序存储器 ROM(4)4个8位 的并行I/O口(P0、P1、P2、P3)(5)1个 全双工

7、串行通讯口(6)3个16位 定时器/计数器(T0、T1、T2)(7)可处理 6个中断源,两级中断优先级图3.13.2 LED驱动芯片本实验采用两个74HC573锁存器。数码管的段ABCDEFGH对应74HC573-1芯片,数码管的位WE1WE6对应74HC573-2芯片。DU P2.6段选信号控制74HC573-1锁存器,WE P2.7位选信号控制74HC573-2锁存器。两个锁存器IO口接P00到P07,对应PCB网络编号D0到D7。图3.23.3 4x4矩阵键盘模块本实验采用4x4矩阵键盘INT1、LCDEN、RS、WR、RD、P30 P32对应AT89S52芯片上的INT1、LCDEN、

8、RS、WR、RD、P30 P32 IO口。图3.33.4 蜂鸣器模块本实验蜂鸣器FM接到AT89S52芯片上的P23 IO口,对应的PCB网络编号为FM。图3.43.5 下载线接口电路本实验下载线接口电路P30、P31引脚接到AT89S52芯片上的P30、P31 IO口上。图3.53.6 DS1302时钟模块本实验时钟模块CLK和I/O口接到AT89S52芯片上的P21、P20 IO口上。图3.63.7 单片机晶振模块 本实验晶振模块X1、X2接到AT89S52芯片上的X1、X2 IO口。图3.74 系统硬件电路设计4.1 单片机整体功能模块图蜂鸣器模块对应AT89S52的P23 IO端口;矩

9、阵键盘具体的扫描由P3端口控制;下载线接口电路通过P30和P31连接控制。图4.14.2 单片机蜂鸣器和数码管连接图数码管模块的段选信号由P26控制,位选信号由P27控制,数码管具体显示由P0端口控制;图4.24.2 单片机矩阵键盘连接图4x4矩阵键盘INT1、LCDEN、RS、WR、RD、P30 P32对应AT89S52芯片上的INT1、LCDEN、RS、WR、RD、P30 P32 IO口。4.3 单片机时钟模块和晶振连接图DS1302时钟模块则通过P21和P20连接控制;单片机晶振通过X1和X2连接控制;图4.35 软件程序设计#include#define uchar unsigned

10、charsbit dula=P26;sbit wela=P27;sbit beep=P23;unsigned char j,k,a1,a0,b1,b0,c1,c0,s,f,m,key=10,temp,qq;uchar shi20,shi10,fen20,fen10,miao20,miao10,ok=1,wei,dingshi,change,yidingshi;uchar baoshi,baoshijieshu;unsigned int pp;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0

11、x77,0x7c,0x39,0x5e,0x79,0x71;/*延时函数*/void delay(unsigned char i) for(j=i;j0;j-) for(k=125;kk-);/*六个数码管动态扫描显示时,分,秒*/void display(uchar shi2,uchar shi1,uchar fen2,uchar fen1,uchar miao2,uchar miao1) dula=0; P0=tableshi2; dula=1; dula=0; wela=0; P0=0xfe; wela=1; delay(5); P0=tableshi1|0x80; P0=0xfd; P0

12、=tablefen2; P0=0xfb; P0=tablefen1|0x80; P0=0xf7; P0=tablemiao2; P0=0xef; P0=tablemiao1; P0=0xdf;/*通过矩阵键盘的S18和S19键设置定时和取消定时,S16为暂停进入矫正时间状态,S17为继续计时*/void keyscan0() P3=0xfb; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); temp=P3; switch(temp) case 0xbb:ok=0;change=1; break; case 0x7b:ok=1;change=

13、0;dingshi=0;break; P3=0xf7; case 0xe7:dingshi=1; case 0xd7:yidingshi=0; /取消定时 /*通过矩阵键盘S6S15设置时钟具体时间时间*/void keyscan() P3=0xfe; case 0xee:key=0;wei+;case 0xde:key=1; case 0xbe:key=2; case 0x7e:key=3; while(temp!=0xf0) beep=0; beep=1; P3=0xfd; case 0xed:key=4;case 0xdd:key=5;case 0xbd:key=6;case 0x7d:

14、key=7; P3=0xfb; case 0xeb:key=8;case 0xdb:key=9;/*主函数设置时钟和定时时间时,分,秒的进制转换*/void main() TMOD=0x01;/*由于晶振为11.0592,故所记次数应为46080,计时器每隔50000微秒发起一次中断。*/TH0=(65536-46080)/256;TL0=(65536-46080)%256;/46080的来历,为50000*11.0592/12ET0=1;EA=1;while(1) keyscan0(); if(ok=1) TR0=1; wei=0;if(pp=20) pp=0; m+; if(m=60) m

15、=0; f+; if(f=60) f=0; s+; if(s=24) /为24h一个循环,若要12h,只需在此改为12即可。 s=0; a0=s%10; a1=s/10; b0=f%10; b1=f/10; c0=m%10; c1=m/10; display(a1,a0,b1,b0,c1,c0); else if(change=1) TR0=0; keyscan(); if(key!=10) switch(wei) case 1: if(key3) /小时最高位为2 a1=key; else wei-; break; case 2: if(a1=1|a1=0) a0=key; if(key5)

16、 /当小时最高位为2时,低位最高为4 case 3:6) /分钟最高位为5 b1=key; case 4: b0=key; case 5:6) /秒最高位为5 c1=key; case 6: c0=key; key=10; m=c1*10+c0; f=b1*10+b0; s=a1*10+a0; if(dingshi=1) display(shi20,shi10,fen20,fen10,miao20,miao10); switch(wei) shi20=key; shi10=key; fen20=key; fen10=key; miao20=key; miao10=key; yidingshi=

17、1; if(yidingshi=1) if(a1=shi20)&(a0=shi10)&(b1=fen20)&(b0=fen10)&(c1=miao20)&(c0=miao10) if(a1=shi20)&(b0=fen10+1)&(c0=miao10)|(yidingshi=0)/一分钟报时提示 beep=1;/*定时器T0中断函数*/void time0() interrupt 1 TH0=(65536-46080)/256; TL0=(65536-46080)%256; pp+;6 实验测试部分6.1测试结果6.1.1电子钟正常的运行图6.16.1.2电子钟矫正时间后的运行图6.26.2测

18、试结果分析与结论该程序为数码管显示可调且可定时钟表,用到HJ-3G开发板中矩阵键盘的上三排与第四排前两个按键。若要更改时钟初始值(即时钟校准),可先按下矩阵键盘中的S16键(第三排第三列),此时时钟会暂停。然后按S6-S15中的键修改矫正当前值,S6-S15分别先后对应数字0到9。矫正完后,按下S17(第三排最后一个),时钟可继续工作。若要设置定时时间,可先按下S18(第四排第一个),然后按数字键S6-S15设置定时时间(设置顺序是由高位到低位的顺序),设置完定时后,按下S17可恢复到正常计时状态定时时间到,蜂鸣器会持续响一分钟报时。若要取消定时,或者蜂鸣器响时想对其关闭,可以按下S19功能键

19、。7 总结在硬件电路制作阶段,我到图书馆、网上查阅各种资料,在电脑上使用 keil和万利软件 进行以及相关的绘图软件,使自己在理论分析设计和动手操作能力等各方面得到了极大提高。我通过对设计任务书的具体要求分析思考,再加上在学校进行的各种相关实践和实习积累的经验,在编写程序调试时,遇到了不少困难,这使我学会了耐心分析问题,并进一 步锻炼自己去攻破难题的能力。这次课程设计整体来说是成功的,但我也发现了自己许多错漏和不足之 处。譬如,最简单的程序没写好就想着写更复杂的程序,做事还是缺乏耐性和细心,当有时遇到问题时,总觉得无从下手,对于课本上的知识不能很好的组织起来。以后会更认真的学习相关内容。8 参考文献1李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,19982李广弟.单片机基础.北京:北京航空航天大学出版社,19943阎石.数字电子技术基础(第三版).北京:高等教育出版社,19894廖常初.现场总线概述J.电工技术,1999.5丁元杰 单片微机原理及应用(第三版)机械工业出版社,20056杨景常,谢维成单片微机原理及应用实验指导西华大学印,2011

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1