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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

智能电子钟LCD显示LED电子钟设计Word格式文档下载.docx

1、89C52CPU控制模块按键处理模块LCD显示模块 图2-12.3 器件连接2.3.1 LCD1602引脚对应开发板连接图:2.3.2 DS1302引脚对应开发板连接图:2.4 原理图及仿真2.4.1 原理图2.4.2 仿真图:3、实验结果3.1整体实现展示:3.1.1 开发板上实现电子钟功能,LCD屏为亮状态:3.1.2 开发板上实现电子钟功能,LCD屏为灭状态:3.2 电子钟功能实现,LCD屏正常走时展示:3.2.1 屏亮3.2.2 屏灭3.3 调节功能实现展示:3.3.1 自动开关屏实现展示:附:自动开关屏程序代码:void keyscan()int h=0; if(key4 = 0)

2、delay(5); if(key4 = 0) switch(h) case 0: bla = 0; delay(5000); h+; break; case 1: bla=1; delay(5000); h=0;break; 3.3.2 时钟调节功能实现展示:在该电子钟的设计中修改定时或调整时间时采用了闪烁,在编程上,首先进行了初始化定义了程序的入口地址以及中断的入口地址,在主程序的开始定义了一组固定单元用来存储计数的秒,分,时以及定时时间的序号等。其次,时,分,秒显示用了软件译码(查表)的方式,再用了一段固定的程序段进行进制转化。最后,用查询方式对按键进行判断,若有键按下,则进行软件延时消抖

3、,避免了抖动引起的干扰,执行相应的定时,选时或调时程序段。对当前时间或定时时间修改后又返回到最初的显示程序段,如此循环下去。3.3.3 自动判别闰年功能展示:自动判别闰年功能程序代码:void deal_3day()if(mon=1|mon=3|mon=5|mon=7|mon=8|mon=10|mon=12) day=32;else if(mon=4|mon=6|mon=9|mon=11) day=31;else if(mon=2&(year%4=0&year%100!=0|year%400=0) day=30;else day=29;4、设计总计4.1 调试过程中遇到的问题 (1)自动开关屏

4、调节按键时,按下开关,屏幕闪烁过快,得不到理想效果。 解决办法:在程序中加入延时程序,消除抖动 (2)调节时间时,原本设计的是逆序(按照秒、分、时、星期、天、月、年的次序)调节,调节误差过大,而且时钟走时不稳定。将调节功能改为正序(按照年、月、日、星期、时、分、秒的次序)调节,实现了误差最小化,得到了理想的调节效果。4.2 心得体会通过本次智能电子时钟的课程设计,我学习将理论和实践相结合,初步掌握综合运用所学知识分析和设计一般数字系统的基本方法,增强动手解决实际问题的能力。通过这次设计,我学会了了初步设计电路的整体思想。学会了怎样查找资料,设计电路。熟悉了绘制电路原理图和电路的调试整个过程,是

5、所学的知识应用到实践,进一步所学的知识。整个设计过程让我收获很多,前所学过的理论知识又再次重现在我们的脑海中,经过了自己的亲手实践使我们更好的理解和掌握了那些知识。同时,经过这短短几天的课程设计也使我提高了自己与其他同学交流沟通的能力。这次课程设计也使我明白了“实践是检验真理的唯一标准”,要想更好的掌握以前学过的知识除了定期的“温故知新”外,还需要进行一些实验和实践。使我们的理论和实践能力同步提高,这次课程设计也使我深刻的认识到了团队合作的重要性。5、参考文献1 张毅刚.单片机原理及应用J.高等教育出版社,2009.22.孙育才,王荣兴,孙华芳,新型AT89S52系列单片机及其应用. 北京:清

6、华大学出版社,2005.1.13.朱清慧,张凤蕊,王志奎,Proteus教程电子线路设计、制版与仿真,北京:清华大学出版社,2008.9.14.侯玉宝,陈忠平,李成群等,基于Proteus 的51系列单片机设计与仿真,北京:电子工业出版社,2008.9.15.彭小军用单片机实现电子时钟J新余高专学报,2004,9(2):54-576.徐宏亮,艾学忠等实现多功能电子时钟设计J吉林化工学院学报,2001,5(1):26-297.朱路,朱清慧,连续补充充电实时时钟芯片DS1302及其应用,河南:南阳理工出版社,20068.杨将军,李华军,刘东骏,单片机程序设计及应用,北京:电子工业出版社,2006.

7、3附录:源程序#include#define uint unsigned int#define uchar unsigned char#define yh 0x80 /第一行的初始位置#define er 0x80+0x40 /第二行初始位置#define true(x) x = 1#define fals(x) x = 0uchar h=0;sbit bla = P27;sbit wr = P25;sbit rs = P24;sbit en = P26;sbit SCLK = P36; sbit IO = P34;sbit RST = P35;sbit ACC0 = ACC0;sbit AC

8、C7 = ACC7;sbit key1 = P30;sbit key2 = P31;sbit key3 = P32;sbit key4 = P33;uchar code tab1=20 - - ;uchar code tab2= : uchar a,sec,hour,min,day,mon,year,week,flag,temp,key1n=0;void delay(uchar xms) /延时函数uchar y;while(xms-) for(y = 0;y 0;a -) ACC7 = IO; true(SCLK); fals(SCLK); ACC = ACC 1;return(ACC);v

9、oid write_ds1302(uchar add,uchar dat) /向ds1302中写入数据fals(RST);fals(SCLK);writeds1302_1byte(add); /给ds1302输入寻址指令writeds1302_1byte(dat); /ds1302寻到上面地址后写入相应数据true(SCLK);uchar BCD_Decimal(uchar bcd) /将相应的BCD码转换为10进制(各个位上不会出现大于9的数)uchar Decimal;Decimal = bcd 4 ;return(Decimal = Decimal*10 + (bcd &= 0x0F);

10、void write_1602sfm(uchar add,uchar dat) /写时分秒uchar gw,sw;gw = dat % 10;sw = dat / 10;write_1602com(er + add);write_1602dat(0x30 + sw );write_1602dat(0x30 + gw );void write_1602nyr(uchar add,uchar dat)write_1602com(yh + add); /给液晶1602写入一个地址 /给那个地址上写入一个2位数void write_1602week(uchar week) /写星期函数write_16

11、02com(yh + 0x0d); /要写星期的地址switch(week) case 1: write_1602dat(M); write_1602dat(ON break; case 2:TUE case 3:WD case 4:H case 5:FRI case 6:SA case 7: if(key1 = 0) /key1为功能键 if(key1 = 0) while( !key1); delay(10); /松手检测 key1n +; switch(key1n) fals(TR0); /关闭定时器 write_1602com(er+0x0b); /写入光标位置 write_1602c

12、om(0x0f ); /设置光标为闪烁 write_ds1302(0x8e,0x00); write_1602com(yh + 0x05); /年 write_ds1302(0x8e,0x80); break; case 2: write_1602com(yh + 0x08); /月 write_1602com(yh + 0x0b); /日 case 4: write_1602com(yh + 0x0f); /星期 case 5: write_1602com(er + 5); /时 case 6: write_1602com(er+8); /分 case 7: write_1602com(er

13、+0x0b); case 8: write_1602com(0x0c ); /设置光标不闪烁 true(TR0); /打开定时器 temp = (sec)/10*16 + (sec)%10; write_ds1302(0x80,0x00|temp); /秒 key1n=0; if(key1n != 0) /当key1按下以下。再按以下键才有效 if(key2 = 0) /上调键 delay(5); if(key2 = 0) while( !key2); delay(10); switch(key1n) case 1: year +; if(year = 100) year = 0; write

14、_1602nyr(4,year); temp = (year)/10*16 + (year)%10; write_ds1302(0x8e,0x00); write_ds1302(0x8c,temp); write_ds1302(0x8e,0x80); write_1602com(yh + 5); break; case 2: mon+; if(mon = 13) mon = 1; write_1602nyr(7,mon); temp = (mon)/10*16 + (mon)%10; write_ds1302(0x88,temp); write_1602com(yh + 8); case 3:

15、 day +; if(mon=1|mon=3|mon=5|mon=7|mon=8|mon=10|mon=12) if(day = 32) day = 1; else if(mon=4|mon=6|mon=9|mon=11) if(day = 31) else if(mon=2& if(day = 30) Else if(day = 29) write_1602nyr(10,day); temp = (day)/10*16 + (day)%10; write_ds1302(0x86,temp); write_1602com(yh + 11); case 4: week +; if(week =

16、8) week = 1; write_1602week(week); write_ds1302(0x8a,week); write_1602com(yh + 0x0f); case 5: hour +; if(hour =24) hour = 0; write_1602sfm(4,hour); temp = (hour)/10*16 + (hour)%10; write_ds1302(0x84,temp); write_1602com(er + 5); case 6: min +; if(min = 60) min = 0; write_1602sfm(0x07,min); temp = (m

17、in)/10*16 + (min)%10; write_ds1302(0x82,temp); write_1602com(er + 8); case 7: sec +; if(sec = 60) sec = 0; write_1602sfm(0x0a,sec); /写入新的秒数 temp = (sec)/10*16 + (sec)%10; write_ds1302(0x80,0x80|temp); write_1602com(er+0x0b); /因为设置液晶的模式是写入数据后,指针自动加一,在这里是写回原来的位置 if(key3 = 0) if(key3 = 0)key3); case 1: year -; if(year =-1) year = 99; mon -; if(mon = 0) mon = 12; wri

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

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