《数码管的分配加闪烁功能以电子时钟为例.doc》由会员分享,可在线阅读,更多相关《数码管的分配加闪烁功能以电子时钟为例.doc(3页珍藏版)》请在金锄头文库上搜索。
1、数码管的分配+闪烁功能以电子时钟为例ledbuf equ 60h ;显示暖冲second equ 40h ;Sminute equ 41h ;Mhour equ 42h ;H ;单元地址分配minute1 equ 43h ;MNhour1 equ 44h ;HN;second1 equ 45h ;SNsss bit 46h ;S闪烁开关mss bit 47h ;M闪烁开关hss bit 48h ;H闪烁开关pusle bit 49h ;脉冲开关clock bit 50h ;闹钟/时间开关keymark bit 51h ;是否有键的开关sjkg bit 55h ;时间/脉冲开关msecond e
2、qu 59h ;MS;=数码管的分配=smg: jnb clock,times ;判断是时钟还是闹钟的 jnb sss,lsnled ;判断闹钟秒是否闪烁 jnb pusle,lsnled ;闪烁脉冲 mov ledbuf+6,#0ffh mov ledbuf+7,#0ffh ;闹钟秒灭 retlsnled: jnb mss,lmnled ;判断闹钟分是否闪烁 jnb pusle,lmnled ;闪烁脉冲 mov ledbuf+3,#0ffh mov ledbuf+4,#0ffh ;闹钟分灭 retlmnled: jnb hss,lnled ;判断闹钟时是否闪烁 jnb pusle,lnled
3、 ;闪烁脉冲 mov ledbuf+0,#0ffh mov ledbuf+1,#0ffh ;闹钟时灭 ret;=闹钟的分配=lnled: mov a,second1 ;秒 mov b,#10 div ab call toled mov ledbuf+6,a mov a,b call toled mov ledbuf+7,a mov a,minute1 ;分 mov b,#10 div ab call toled mov ledbuf+3,a mov a,b call toled orl a,#80h mov ledbuf+4,a mov ledbuf+5,#0bfh mov a,hour1 ;
4、时 mov b,#10 div ab call toled mov ledbuf+0,a mov a,b call toled orl a,#80h mov ledbuf+1,a mov ledbuf+2,#0bfh ret;=时钟的分配=times: jnb sss,lsled ;判断秒是否闪烁 jnb pusle,lsled ;闪烁脉冲 mov ledbuf+6,#0ffh mov ledbuf+7,#0ffh ;时间秒灭 retlsled: jnb mss,lmled ;判断分是否闪烁 jnb pusle,lmled ;闪烁脉冲 mov ledbuf+3,#0ffh mov ledbuf
5、+4,#0ffh ;时间分灭 retlmled: jnb hss,lled ;判断时是否闪烁 jnb pusle,lled ;闪烁脉冲 mov ledbuf+0,#0ffh mov ledbuf+1,#0ffh ;时间时灭 retlled: mov a,second ;秒 mov b,#10 div ab call toled mov ledbuf+6,a mov a,b call toled mov ledbuf+7,a mov a,minute ;分 mov b,#10 div ab call toled mov ledbuf+3,a mov a,b call toled orl a,#80h mov ledbuf+4,a mov ledbuf+5,#0bfh mov a,hour ;时 mov b,#10 div ab call toled mov ledbuf+0,a mov a,b call toled orl a,#80h mov ledbuf+1,a mov ledbuf+2,#0bfh ret