新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機8位數(shù)碼管電子時鐘(完結(jié))

51單片機8位數(shù)碼管電子時鐘(完結(jié))

作者: 時間:2016-11-29 來源:網(wǎng)絡 收藏

disp10: mov 34h,#0bfh ;"-"顯示
mov a,34h
mov p0,a
clr p2.5
lcall del1ms
setb p2.5
disp11: mov 35h,#0bfh ;"-"顯示
mov a,35h
mov p0,a
clr p2.2
lcall del1ms
setb p2.2
ret
display1:mov a,38h ;鬧鐘分顯示
mov b,#10
div ab
mov 26h,a
mov 27h,b
d1:mov a,26h ;鬧鐘分十位顯示
mov dptr,#table
movc a,@a+dptr
mov p0,a
clr p2.3
lcall del1ms
setb p2.3
d2:mov a,27h ;鬧鐘分個位顯示
mov dptr,#table
movc a,@a+dptr
mov p0,a
clr p2.4
lcall del1ms
setb p2.4
dispnz: mov a,39h ;鬧鐘時顯示
mov b,#10
div ab
mov 28h,a
mov 29h,b
d5: mov a,28h ;鬧鐘時十位顯示
mov dptr,#table
movc a,@a+dptr
mov p0,a
clr p2.0
lcall del1ms
setb p2.0
d6: mov a,29h ;鬧鐘時個位顯示
mov dptr,#table
movc a,@a+dptr
mov p0,a
clr p2.1
lcall del1ms
setb p2.1
mov 35h,#0bfh ;"-"顯示
mov a,35h
mov p0,a
clr p2.2
lcall del1ms
setb p2.2
ret
table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;數(shù)字0—9
del1ms:mov r7,#10 ;1ms延時子程序
del1: mov r6,#50
del2:djnz r6,del2
djnz r7,del1
ret
del20ms:mov r5,#40 ;20ms延時子程序
del3: mov r4,#250
del4: djnz r4,del4
djnz r5,del3
ret
keysan:jnb p3.1,key1 ;秒加1按鈕
jnb p3.2,key2 ;分加1按鈕
jnb p3.3,key3 ;時加1按鈕

sjmp keyout
key1: lcall del20ms
jb p3.1,keyout
jnb p3.1,$
inc 31h ;秒加1
mov a,31h
cjne a,#60,keyout
mov 31h,#00
sjmp keyout
key2:lcall del20ms
jb p3.2,keyout
jnb p3.2,$
inc 32h ;分加1
mov a,32h
cjne a,#60,keyout
mov 32h,#00
sjmp keyout
key3:lcall del20ms
jb p3.3,keyout
jnb p3.3,$
inc 33h ;時加1
mov a,33h
cjne a,#24,keyout
mov 33h,#00
sjmp keyout
keyout:ret
keynz:jnb p3.4,keynz4 ;顯示鬧鐘并可修改和顯示當前時間
jnb p3.7,keynz5
jnb p3.5,nz3
jnb p3.6,nz4
sjmp nzout
nzout:ret
nz2:lcall display1
jnb p3.5,nz3
jnb p3.6,nz4
keynz4:jnb p3.4,nz2
sjmp nzout
nz3:lcall del20ms
jb p3.5,nzout
jnb p3.5,$
inc 38h
mov a,38h
cjne a,#60,nzout
mov 38h,#00
sjmp nzout
nz4:lcall del20ms
jb p3.6,nzout
jnb p3.6,$
inc 39h
mov a,39h
cjne a,#24,nzout
mov 39h,#00
sjmp keyout
keynz5:jb p3.7,nzout
jnb p3.7,$
setb p1.0
sjmp nzout
end

本文引用地址:http://butianyuan.cn/article/201611/323550.htm

上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉