新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機4位數(shù)碼管電子時鐘

單片機4位數(shù)碼管電子時鐘

作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
經(jīng)過幾天的努力,第一個51單片機電子時鐘終于出爐了,通過4位數(shù)碼管來顯示時間,系統(tǒng)晶振11.0592MHZ,仿真圖中用二極管代替時鐘冒號閃爍,非門代替三極管,讓仿真速度與真實速度達到一致,本設(shè)計用了6個按鈕來對時間及鬧鐘時間的調(diào)節(jié)、關(guān)閉,p3.2接時間分加1按鈕,p3.3接時間時加1按鈕,p3.4接鬧鐘時間與當前時間切換按鈕,按住不放顯示鬧鐘的時間,鬧鐘初始化為00:00,放開按鈕則顯示當前時間,p3.5接鬧鐘加1按鈕,p3.6接鬧鐘時加1按鈕,p3.7接關(guān)閉鬧鐘按鈕

有沒有人會問 ,怎么沒有減的按鈕呢???
為了不用那么多按鈕,所以只設(shè)置了加1的按鈕,那減的怎么辦??
程序的設(shè)計是這樣的,當分加到59的時候,再加一次就變00,當時加到23的時候,再加一次就變00,從而實現(xiàn)了減的效果,O(∩_∩)O,附帶仿真圖和程序源代碼及實物圖.........

本文引用地址:http://2s4d.com/article/201611/323565.htm

仿真圖

實物圖目前還差3個按鈕,準備補上(^o^)/~,電源的指示燈太亮了╮(╯▽╰)╭,準備把它拆了


作者:胡琴
聯(lián)系qq:1257394091
本程序版本規(guī)本人所有可以任意轉(zhuǎn)載:
技術(shù)支持網(wǎng)站:http://www.51hei.com
本程序已經(jīng)通過軟件仿真和硬件制作.

程序源代碼:
org 0000h
ajmp main ;調(diào)至主程序
org 000bh ;T0中斷入口地址
ljmp inti0
org 001bh ;T1中斷入口地址
ljmp inti1
org 0030h
main:mov tmod,#11h ;設(shè)T0、T1為模式1
mov ie,#8ah ;開T0、T1中斷允許
mov th0,#4ch ;賦T0 50ms初值
mov tl0,#00h
mov th1,#4ch ;賦T1 50ms初值
mov tl1,#00h
mov sp,#60h ;設(shè)置堆棧指針
mov r0,#20 ; T0 50ms計數(shù)20次
mov 31h,#00 ;時間秒初始化
mov 32h,#00 ;時間分初始化
mov 33h,#00 ;時間時初始化
mov 38h,#00 ;鬧鐘分初始化
mov 39h,#00 ;鬧鐘時初始化
setb tr0 ;啟動T0
setb tr1 ;啟動T1
loop:lcall display ;調(diào)用時間顯示子程序
lcall key ;調(diào)用時間調(diào)節(jié)按鍵子程序
lcall keynz ;調(diào)用鬧鐘按鍵子程序
ajmp loop
inti0:push psw ;保護現(xiàn)場
push acc
clr ea ;關(guān)中斷
mov th0,#4ch ;重賦50ms初值
mov tl0,#00h
djnz r0,out ;對50ms計數(shù)判斷
mov r0,#20 ;重賦50ms計數(shù)值
inc 31h ;秒加1
cpl p2.2 ;P2.2取反輸出
mov a,31h
cjne a,#60,out ;判秒是否加到60,沒有加到中斷返回
mov 31h,#00 ;秒加到60,對秒清零
inc 32h ;分加1
mov a,32h
cjne a,#60,out ;判分是否加到60,沒有加到就中斷返回
mov 32h,#00 ;分加到60,對分清零
inc 33h ;時加1
mov a,33h
cjne a,#24,out ;判時是否加到24,沒有就中斷返回
mov 33h,#00 ;時加到24,對時清零
out: setb ea ;開中斷
pop acc ;恢復現(xiàn)場
pop psw
reti ;中斷返回
inti1:push psw ;保護現(xiàn)場
push acc
clr ea ;關(guān)中斷
mov th1,#4ch ;賦50ms初值
mov tl1,#00h
inc 3ah
mov a,3ah
cjne a,#20,out1 ;判斷50ms計數(shù)是否到20,沒到就中斷返回
mov 3ah,#00 ;50ms計數(shù)到20,將計數(shù)單元清零
mov a,32h
cjne a,38h,out1 ;鬧鐘分與時間分判斷
mov a,33h
cjne a,39h,out1 ;鬧鐘時與時間時判斷
clr p1.0 ;相等就清p1.0輸出
out1: setb ea ;開中斷
pop acc ;恢復現(xiàn)場
pop psw
reti ;中斷返回


上一頁 1 2 下一頁

評論


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

關(guān)閉