




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录0摘要11总体方案设计12 硬件电路设计 23 软件设计 44 调试分析及说明 55 结论 6参考文献 6附录1电路图7附录2程序 9课设体会 10 电子时钟的设计 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C52为核心,利用单片机的运算和控制功能,并采用系统化LCD显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。关键字:AT89C52,C语言程序,电子钟。1 总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。时钟电路LCD显示电路CPU89C51单片机复位电路按键电路 图1 系统结构框图该电子时钟由STC89C52, 1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,时间调节选择位,按一下进行时间位的选择,K2键为加一键,K3为减一键2硬件电路设计(1) 时钟电路设计单片机利用外部12MHZ晶振构成振荡电路作为时钟源,时钟电路的原理如下图。图2 时钟电路图(2) 独立按键输入电路 按键处理设置为:当有没键按下时,时钟正常运行;当按一次K1,时钟停止走动,按K2对秒进行调整;当K1按2次时,按K2 对分进行调整;当K1按下3次时,按K2 对小时进行调整,当按下4次K1时,校时完毕,时钟按设定的时间进行正常走时。当按1次K3进入闹钟设置界面,时钟继续进行走时,按K2对秒进行设置;当按2次K3,按K2对分进行设置;当按3次K3,按K2对秒进行设置;当按下4次K3时,闹钟设置完毕进入时钟显示界面。电路图如下图 图3 独立按键电路(3) 单片机系统AT89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。外形及引脚排列如下图图4 单片机系统图(4) 液晶显示LCD1602采用标准的16脚接口,第1脚:VSS为电源地;第2脚:VDD接5V电源正极;第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高;第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端;第1516脚:空脚或背灯电源。电路如下图 图5 LCD液晶显示图3软件设计本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。系统的流程图如下图 设计思路:本系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序和LCD液晶驱动程序。定时中断程序是利用单片机内部定时器0实现1秒的定时,然后利用软件延时实现分小时,时间调整程序是利用单片机的内部存贮器,把调整好的时间写到显示时间的存贮单元,然后启动定时器开始计时并显示,延时程序是利用软件实现延时达到去抖的目的。液晶启动程序是为了把单片机的数据送到显示器的同时让显示器的第6脚使能断的电平实现由1到0的跳变,使显示器执行显示的命令。主程序就是利用这些子程序中断程序实现显示、定时、闹钟等功能。 4调试分析及说明(1) 时钟正常运行调试仿真图图6 正常运行仿真图 (2) 闹钟调试仿真图 图7 对闹钟时间进行设置图8 设置好的闹钟时间图9 闹钟响铃(3) 时间调整仿真图10 对时分秒的调整5 结论本次电子时钟的设计基本完成:当没有键按下时,时钟正长运行;当按一次K1,时钟停止走动,按K2对秒进行调整;当K1按2次时,按K2 对分进行调整;当K1按下3次时,按K2 对分进行调整,当按下4次K1时,校时完毕,时钟按设定的时间进行正常走时。当按1次K3进入闹钟设置界面,时钟继续进行走时,按K2对秒进行设置;当按2次K3,按K2对分进行设置;当按3次K3,按K2对秒进行设置;当按下4次K3时,闹钟设置完毕进入时钟显示界面。 参考文献1、单片机原理及应用李建忠 编 西安电子科技大学出版社。2、单片微型计算机原理与接口技术 高峰 编 电子工业出版社。3、单片机应用新技术教程邹逢兴 编 高等教育出版社。4、16位微型计算机原理接口及其应用 朱宇光 编 电子工业出版社。5、微型计算机原理与接口技术 吴秀清 编 中国科学技术出版社。6、微型计算机接口技术 邓亚平 编 清华大学出版社。7、单片机原理及及应用 王迎旭 编 机械工业出版社。附录1 电路原理附录2 程序清单sbit dula=P26; /定义锁存器锁存端sbit wela=P27;sbit rs=P35; /定义1602液晶RS端sbit rw=P36;sbit lcden=P34;/定义1602液晶LCDEN端sbit s1=P30; /定义按键-功能键sbit s2=P31;/定义按键-增加键sbit s3=P32;/定义按键-减小键sbit rd=P37;sbit beep=P23; /定义蜂鸣器端uchar count,s1num;char miao,shi,fen,xingqi,ri,yue,nian;uchar code table= 2009-01-01 4;/定义初始上电时液晶默认显示状态void delay(uint z) /延时函数uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void di()/蜂鸣器发声函数 beep=0;delay(100);beep=1;void write_com(uchar com)/液晶写命令函数 rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)/液晶写数据函数 rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void write_sfm(uchar add,uchar date)/写时分秒函数 uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);void write_nyr(uchar add,uchar date)/写年月日函数 uchar shi,ge;shi=date/10;/分解一个2位数的十位和个位ge=date%10;write_com(0x80+add);/设置显示位置write_date(0x30+shi);/送去液晶显示十位write_date(0x30+ge); /送去液晶显示个位void init()/初始化函数 uchar num;rd=0; dula=0;wela=0;lcden=0;fen=0; miao=0;shi=0;count=0;s1num=0;init_24c02();write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num15;num+)write_date(tablenum);delay(5);write_com(0x80+0x40+6);write_date(:);delay(5);write_com(0x80+0x40+9);write_date(:);delay(5);miao=read_add(1);fen=read_add(2);shi=read_add(3);write_sfm(10,miao);write_sfm(7,fen);write_sfm(4,shi);TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;/开总中断ET0=1;/开定时器0中断TR0=1;/启动定时器0void keyscan()if(s1=0)delay(5);if(s1=0)s1num+;while(!s1);di();if(s1num=1)TR0=0; write_com(0x80+0x40+10);write_com(0x0f);if(s1num=2)/第二次按下光标闪烁定位到分钟位置write_com(0x80+0x40+7);if(s1num=3)/第三次按下光标闪烁定位到小时位置write_com(0x80+0x40+4);if(s1num=4)/第四次按下光标闪烁定位到星期位置write_com(0x80+14);if(s1num=5)/第五次按下光标闪烁定位到日位置write_com(0x80+10);if(s1num=6)/第六次按下光标闪烁定位到月位置write_com(0x80+7);if(s1num=7)/第七次按下光标闪烁定位到年位置write_com(0x80+4);if(s1num=8)/第八次按下s1num=0;/记录按键数清零write_com(0x0c);TR0=1;/启动定时器使时钟开始走if(s1num!=0)/只有功能键被按下后,增加和减小键才有效if(s2=0)delay(5);if(s2=0)/增加键确认被按下while(!s2);/按键释放di();/每当有按键释放蜂鸣器发出滴声if(s1num=1)miao+; if(miao=60)miao=0;write_sfm(10,miao);write_com(0x80+0x40+10);write_add(1,miao);if(s1num=2)fen+;/则调整分钟加1if(fen=60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7);write_add(2,fen);if(s1num=3)shi+;/则调整小时加1if(shi=24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);write_add(3,shi);if(s1num=4) xingqi+;if(xingqi=7)xingqi=0;write_com(0x80+14);write_add(4,xingqi);if(s1num=5)ri+;if(yue=2) /二月if(nian%400=0) /闰年if(ri=30)/29天ri=1;if(nian%400!=0) /平年 if(ri=29) /28天 ri=1;else if(yue=8) /8月份以后的月份 if(yue%2=0) if(ri=32) ri=1;else if(yue%2!=0) if(ri=31) ri=1;write_nyr(10,ri);write_com(0x80+10);write_add(5,ri);if(s1num=6) yue+;if(yue=13)yue=1;write_nyr(7,yue);write_com(0x80+7);write_add(6,yue);if(s1num=7)nian+;if(nian=2019)nian=2000;write_nyr(4,nian);write_com(0x80+4);write_add(7,nian);if(s3=0)delay(5);if(s3=0)while(!s3);di();if(s1num=1)miao-;if(miao=-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);write_add(1,miao);if(s1num=2)/若功能键第二次按下fen-;/则调整分钟减1if(fen=-1)/若减到负数则将其重新设置为59fen=59;write_sfm(7,fen);write_com(0x80+0x40+7);write_add(2,fen);if(s1num=3)shi-;/若减到负数则将其重新设置为23shi=23;write_sfm(4,shi);write_com(0x80+0x40+4);write_add(3,shi);/if(s1num=4) /功能键按下4次星期减一调整/xingqi-;/if(xingqi=-1)/xingqi=6; /满7后清零/write_com(0x80+14);/write_add(4,xingqi); if(s1num=5) ri-;if(yue=2) if(nian%400=0) if(ri=0) ri=29;if(nian%400!=0) if(ri=1) ri=28;else if(yue=8) if(yue%2=0) if(ri=0) ri=31;else if(yue%2!=0) if(ri=1)/ ri=30;write_nyr(10,ri);write_com(0x80+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贯彻落实老年教育发展规划2012020年工作推进会暨全国示范
- 向物业申请修改物业费申请书(6篇)
- 2025财务部门年度工作计划
- 2025年专门用途灯具:工艺装饰灯具项目发展计划
- 教育国际化背景下的文化冲突与融合问题研究
- 教育技术与职业发展趋势与挑战并存
- 云南楚雄州南华县民中2025年物理高二第二学期期末监测试题含解析
- 2025年路面清洁装备项目合作计划书
- 2025年山东省即墨区重点高中物理高一第二学期期末复习检测模拟试题含解析
- 如何利用活动营销增强教育培训品牌形象
- 净水设备维保合同
- 绩效考核量化指标
- 三国演义章回目录范文
- 2025年结核病防治知识竞赛题库及答案(共117题)
- 锅炉水处理作业人员(特种作业)考试历年真题及答案
- UL499标准中文版-2017电加热装置UL中文版标准
- 中华人民共和国安全生产法培训课件
- 代加工合作合同书范例
- 数据安全管理员(技师)职业技能鉴定考试题库-下(填空、实操题)
- 2024年同等学力申硕英语考试真题
- 沥青拌合站安装专项施工方案
评论
0/150
提交评论