随着电子技术产业结构调整,生产工艺的飞速发展,人们生活水平的不断提高,家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。本文所述智能时钟控制系统主要指时钟显示、时间设置、闹铃及家用电器定时开关机(可扩展功能)等控制系统。 本文采用进入市场时间早、总线开放、仿真开发设备多、芯片及其开发设备价格低廉、速度较快、电磁兼容性较好的mcs-51型单片机为核心实现智能时钟控制。
硬件系统设计
智 能时钟控制系统以mcs-51兼容单片机at89c51微处理器为核心,由时钟显示模块、定时控制模块、电源模块等电路组成,电路原理图和组装图如图1、图2所示。
at89c51微处理器
at89c51是一款采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容的单片机,其主要性能特点有:
(1)高性能、低功耗的8byte微控制器,risc精简指令集机构,指令功能强大,且多数为单周期指令,具有低功耗的闲置和掉电控制模式、5个中断源、两个16位定时器/计数器等功能。
(2)片内集成4kb可编程闪烁存储器,可进行1000次以上写/擦循环操作,数据保留时间可达10年,支持三级程序存储器锁定。
(3)丰富强大的外部接口性能:32可编程i/o线,可编程串行通道,片内振荡器和时钟电路。
时钟显示模块
显示模块采用lg2841bh数码管,动态扫描,8550三极管位选驱动 , at89c51微处理器p0口直接段选实现小时、分钟显示,具有显示亮度强、稳定性能好、显示误差少等优点。
定时控制模块
该模块配合相应程序可实现时间调整、闹铃、家用电器定时开关机等功能。p3.2为时间调整模式选择键、p3.3为小时调整键、p3.5为分钟调整键;定时控制通过继电器jzc-32f和jrc-z7f实现控制功能,且通过修改程序可进行定时控制功能扩展,实现家用电器定时开关机等功能。
电源模块
电源模块设计的质量直接关系到单片机系统的稳定性,设计系统中由于单片机、控制继电器等元器件均可采用直流+5v供电,可选用稳压性能较好的三端稳压集成电路lm7805实现。
软件系统设计
系统利用伟福6000编写源代码,mep500烧写at89c51芯片实现智能时钟控制功能。由于系统软件主要完成时钟显示、闹铃、时间设置等功能。源程序主要包括主程序、中断子程序、显示子程序、定时子程序、延时子程序等。
实现程序如下: ……
;**************************; 以下为主程序 (检测各键是否按下) ;***************************mainloop: jb alarmsetkey,checkminutekey call delay jb alarmsetkey,checkminutekey setb clockmode call alarmset checkminutekey: jb minutekey,checkhourkey mov a,minute add a,#1 mov minute,a cjne a,#3ch,notover1 mov minute,#0 notover1: jnb minutekey,$ checkhourkey: jb hourkey,checkalarma mov a,hour add a,#1 mov hour,a cjne a,#18h,notover2 mov hour,#0 notover2: jnb hourkey,$ checkalarma: jnb alarmtimeona,checkalarmp call startpc; call alarmprocess ajmp toreturn checkalarmp: jnb alarmtimeonp,toreturn call shutpc toreturn: ajmp mainloop ;**************************; 定时器timer0中断服务程序(此程序每8ms执行一次) ;*************************** timeint: mov th0,#0e0h mov tl0,#0bfh push acc push psw setb rs0 clr rs1 d jnz onesecondcounter,notonesecond mov onesecondcounter,#125 call clock call convertobuffer notonesecond: call scandisplay pop psw pop acc reti ; *************************** ; 扫描显示子程序 ;*************************** scandisplay: mov r1,#displaybuffer mov r4,#11111011b play: mov a,r4 mov p2,a mov a,@r1 mov dptr,#tab movc a,@a+dptr mov p0,a lcall delay inc r1 mov a,r4 jnb acc.7,endout rl a mov r4,a ajmp play endout: setb p2.7 mov p0,#0ffh ret tab:db 0c0h,0f9h,0a4h,0b0h, 99h,92h,82h,0f8h,80h,90h,7fh, <
随着电子技术产业结构调整,生产工艺的飞速发展,人们生活水平的不断提高,家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。本文所述智能时钟控制系统主要指时钟显示、时间设置、闹铃及家用电器定时开关机(可扩展功能)等控制系统。 本文采用进入市场时间早、总线开放、仿真开发设备多、芯片及其开发设备价格低廉、速度较快、电磁兼容性较好的mcs-51型单片机为核心实现智能时钟控制。
硬件系统设计
智 能时钟控制系统以mcs-51兼容单片机at89c51微处理器为核心,由时钟显示模块、定时控制模块、电源模块等电路组成,电路原理图和组装图如图1、图2所示。
at89c51微处理器
at89c51是一款采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容的单片机,其主要性能特点有:
(1)高性能、低功耗的8byte微控制器,risc精简指令集机构,指令功能强大,且多数为单周期指令,具有低功耗的闲置和掉电控制模式、5个中断源、两个16位定时器/计数器等功能。
(2)片内集成4kb可编程闪烁存储器,可进行1000次以上写/擦循环操作,数据保留时间可达10年,支持三级程序存储器锁定。
(3)丰富强大的外部接口性能:32可编程i/o线,可编程串行通道,片内振荡器和时钟电路。
时钟显示模块
显示模块采用lg2841bh数码管,动态扫描,8550三极管位选驱动 , at89c51微处理器p0口直接段选实现小时、分钟显示,具有显示亮度强、稳定性能好、显示误差少等优点。
定时控制模块
该模块配合相应程序可实现时间调整、闹铃、家用电器定时开关机等功能。p3.2为时间调整模式选择键、p3.3为小时调整键、p3.5为分钟调整键;定时控制通过继电器jzc-32f和jrc-z7f实现控制功能,且通过修改程序可进行定时控制功能扩展,实现家用电器定时开关机等功能。
电源模块
电源模块设计的质量直接关系到单片机系统的稳定性,设计系统中由于单片机、控制继电器等元器件均可采用直流+5v供电,可选用稳压性能较好的三端稳压集成电路lm7805实现。
软件系统设计
系统利用伟福6000编写源代码,mep500烧写at89c51芯片实现智能时钟控制功能。由于系统软件主要完成时钟显示、闹铃、时间设置等功能。源程序主要包括主程序、中断子程序、显示子程序、定时子程序、延时子程序等。
实现程序如下: ……
;**************************; 以下为主程序 (检测各键是否按下) ;***************************mainloop: jb alarmsetkey,checkminutekey call delay jb alarmsetkey,checkminutekey setb clockmode call alarmset checkminutekey: jb minutekey,checkhourkey mov a,minute add a,#1 mov minute,a cjne a,#3ch,notover1 mov minute,#0 notover1: jnb minutekey,$ checkhourkey: jb hourkey,checkalarma mov a,hour add a,#1 mov hour,a cjne a,#18h,notover2 mov hour,#0 notover2: jnb hourkey,$ checkalarma: jnb alarmtimeona,checkalarmp call startpc; call alarmprocess ajmp toreturn checkalarmp: jnb alarmtimeonp,toreturn call shutpc toreturn: ajmp mainloop ;**************************; 定时器timer0中断服务程序(此程序每8ms执行一次) ;*************************** timeint: mov th0,#0e0h mov tl0,#0bfh push acc push psw setb rs0 clr rs1 d jnz onesecondcounter,notonesecond mov onesecondcounter,#125 call clock call convertobuffer notonesecond: call scandisplay pop psw pop acc reti ; *************************** ; 扫描显示子程序 ;*************************** scandisplay: mov r1,#displaybuffer mov r4,#11111011b play: mov a,r4 mov p2,a mov a,@r1 mov dptr,#tab movc a,@a+dptr mov p0,a lcall delay inc r1 mov a,r4 jnb acc.7,endout rl a mov r4,a ajmp play endout: setb p2.7 mov p0,#0ffh ret tab:db 0c0h,0f9h,0a4h,0b0h, 99h,92h,82h,0f8h,80h,90h,7fh, <
热门点击
推荐技术资料
| |