51单片机在智能时钟控制系统中的应用设计.doc

上传人:白大夫 文档编号:3244791 上传时间:2019-08-05 格式:DOC 页数:9 大小:33.50KB
返回 下载 相关 举报
51单片机在智能时钟控制系统中的应用设计.doc_第1页
第1页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《51单片机在智能时钟控制系统中的应用设计.doc》由会员分享,可在线阅读,更多相关《51单片机在智能时钟控制系统中的应用设计.doc(9页珍藏版)》请在三一文库上搜索。

1、51单片机在智能时钟控制系统中的应用设计随着电子技术产业结构调整,生产工艺的飞速发展,人们生活水平的不断提高,家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。本文所述智能时钟控制系统主要指时钟显示、时间设置、闹铃及家用电器定时开关机(可扩展功能)等控制系统。本文采用进入市场时间早、总线开放、仿真开发设备多、芯片及其开发设备价格低廉、速度较快、电磁兼容性较好的MCS-51型单片机为核心实现智能时钟控制。硬件系统设计智能时钟控制系统以MCS-51兼容单片机AT89C51微处理器为核心,由时钟显示模块、定时控制模块、电源模块等电路组成。AT89C51微处理器AT89C51是一款采用ATM

2、EL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容的单片机,其主要性能特点有:(1)高性能、低功耗的8Byte微控制器,RISC精简指令集机构,指令功能强大,且多数为单周期指令,具有低功耗的闲置和掉电控制模式、5个中断源、两个16位定时器/计数器等功能。(2)片内集成4KB可编程闪烁存储器,可进行1000次以上写/擦循环操作,数据保留时间可达10年,支持三级程序存储器锁定。(3)丰富强大的外部接口性能:32可编程I/O线,可编程串行通道,片内振荡器和时钟电路。时钟显示模块显示模块采用LG2841BH数码管,动态扫描,8550三极管位选驱动 , AT89C51微处

3、理器P0口直接段选实现小时、分钟显示,具有显示亮度强、稳定性能好、显示误差少等优点。定时控制模块该模块配合相应程序可实现时间调整、闹铃、家用电器定时开关机等功能。P3.2为时间调整模式选择键、P3.3为小时调整键、P3.5为分钟调整键;定时控制通过继电器JZC-32F和JRC-Z7F实现控制功能,且通过修改程序可进行定时控制功能扩展,实现家用电器定时开关机等功能。电源模块电源模块设计的质量直接关系到单片机系统的稳定性,设计系统中由于单片机、控制继电器等元器件均可采用直流+5V供电,可选用稳压性能较好的三端稳压集成电路LM7805实现。软件系统设计系统利用伟福6000编写源代码,MEP500烧写

4、AT89C51芯片实现智能时钟控制功能。由于系统软件主要完成时钟显示、闹铃、时间设置等功能。源程序主要包括主程序、中断子程序、显示子程序、定时子程序、延时子程序等。实现程序如下:;*; 以下为主程序 (检测各键是否按下);*MainLoop:jb AlarmSetKey,CheckMinuteKeycall Delayjb AlarmSetKey,CheckMinuteKeysetb ClockModecall AlarmSetCheckMinuteKey:jb MinuteKey,CheckHourKeymov a,Minuteadd a,#1mov Minute,acjne a,#3ch,

5、NotOver1mov Minute,#0NotOver1:jnb MinuteKey,$CheckHourKey:jb HourKey,CheckAlarmAmov a,Houradd a,#1mov Hour,acjne a,#18h,NotOver2mov Hour,#0NotOver2:jnb HourKey,$CheckAlarmA:jnb AlarmTimeOnA,CheckAlarmPcall StartPc; call AlarmProcessajmp ToReturnCheckAlarmP:jnb AlarmTImeOnP,ToReturncall ShutPcToRetur

6、n:ajmp MainLoop;*; 定时器TImer0中断服务程序(此程序每8ms执行一次);*TImeInt:mov th0,#0E0hmov tl0,#0bfhpush accpush pswSETB rs0clr rs1d jnz OneSecondCounter,NotoneSecondmov OneSecondCounter,#125call Clockcall ConvertoBufferNotoneSecond:call ScanDisplaypop pswpop accreTI; *; 扫描显示子程序;*ScanDisplay:mov r1,#DisplayBuffermov

7、 R4,#11111011bplay:mov a,R4mov P2,Amov A,R1mov DPTR,#TABmovc A,A+DPTRmov P0,Alcall Delayinc R1mov A,R4jnb ACC.7,ENDOUTrl Amov R4,Aajmp PLAYendout: SETB P2.7mov P0,#0FFH retTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,7FH,0B7H,0FFH;*; 时钟内容加1秒的子程序;*Clock:mov a,Secondadd a,#1mov Second,acjne a,#

8、3cH,NotOverFlowmov Second,#0mov a,Minuteadd a,#1mov Minute,acjne a,#3cH,NotOverFlowmov Minute,#0mov a,Houradd a,#1mov Hour,acjne a,#18H,NotOverFlowmov Hour,#0NotOverFlow:mov a,Secondjnz NotAlarmjnb AlarmAOnOff,PAlarmmov a,Minutecjne a,AlarmAMinute,PAlarmmov a,Hourcjne a,AlarmPHour,PAlarmajmp alarmin

9、gPAlarm:jnb AlarmPOnOff,NotAlarmmov a,Minutecjne a,AlarmPMinute,NotAlarmmov a,Hourcjne a,AlarmPHour,NotAlarmajmp Alarming1Alarming:setb AlarmTimeOnAajmp NotAlarmAlarming1:setb AlarmTimeOnP;NotAlarm:ret;*; 将时钟内容或闹时设置值转换到显示缓冲区子程序;*ConvertoBuffer:mov r1,#DisplayBufferjb ClockMode,DispAlarmSetmov a,Seco

10、ndmov DispSecond,amov a,Minutemov Dispminute,amov a,Hourmov DispHour,aajmp ConvertDispAlarmSet:jb AlarmAOnOff,AlarmAOnmov DispSecond,#00hjb AlarmPOnOff,AlarmPOnmov DispSecond,#00hajmp ConvertAlarmAOn:mov DispSecond,#11NextA:mov a,AlarmAMinutemov Dispminute,amov a,AlarmAHourmov DispHour,aajmp Convert

11、AlarmPOn:mov DispSecond,#11NextP:mov a,AlarmPMinutemov Dispminute,amov a,AlarmPHourmov DispHour,aConvert:mov a,DispSecondmov b,#10div abmov r1,binc r1mov r1,ainc r1mov a,DispMinutemov b,#10div abmov r1,binc r1mov r1,ainc r1mov a,DispHourmov b,#10div abmov r1,binc r1mov r1,aret结束语该智能时钟控制系统,以AT89C51微处理器为核心,具有集成度高、性能稳定、抗干扰能力强、性价比高的优点。经软件仿真和实际功能验证,证明设计可靠、设计方案可行,在实际应用中有较大的实 用价值。

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

当前位置:首页 > 其他


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