;倒計時定時器,可設置時間,可選擇5/15/20/30/35/45/50分鐘倒計時。
;倒計時時間由四個dip開關位的2/3/4控制,
;第二位數表示5分鐘,第三位數表示15分鐘,第四位數表示30分鐘。
;5/15/20/30/35/45/50分鐘倒計時可以通過不同的組合產生。
;P1.0端口的外接發光二極管為狀態LED,在計時未開始時常亮,計時過程中閃爍。
;K1是開始按鈕,K2是停止按鈕。
a_bit?equ?20h?;數碼管壹位數存儲單元
b_bit?equ?21h?;數碼管十位存儲單元
臨時工?equ?22h?;存儲計數器值的內存位置。
;引導初始化
MOV?P3,# 0FFH初始化P3端口,並將其設置為高電平以進行按鍵輸入。
MOV?P0,# 0FFH關閉顯示時間數碼管。
CLR?p 1.0;打開LED指示燈
;等待鍵盤輸入
開始:JB?P3.6,$;是否按下了循環判斷開始按鈕K1?
打電話?delay 10;延時10 ms觸點抖動消除
JB?P3.6,開始;如果是幹擾,返回。
JNB?P3.6,$;等待按鈕松開。
;讀取dip開關的狀態,並獲得倒計時時間。
場景:MOV?a,# 0;先清除壹個。
JB?P2.0,a 1;判斷dip開關的第二位是否接通。如果是連通的,A加5(這裏的值可以自己修改)。
補充?壹個,#5
A1:JB?P2.1,A2;判斷dip開關的第三位是否接通。如果是連通的,在A上加15(這裏的值可以自己修改)。
補充?a,#15
A2:JB?P2.2,A3;判斷dip開關的第四位是否接通。如果是連通的,A加30(這裏的值可以自己修改)。
補充?壹個,#30
A3:MOV?溫度,A
;此時,TEMP中的值就是倒計時時間
;用數碼管顯示定時時間的程序
顯示:CLR?P2.4釋放繼電器1,開始計時(繼電器開啟時處於吸合狀態)(既然妳是比賽倒計時提醒,不需要繼電器,可以忽略)。
CLR?P2.3釋放繼電器2,開始計時(啟動時繼電器處於吸合狀態)。
MOV?R2,#120
阿瑟:MOV?R3,#250
TIME1:mov?壹、臨時工?;將temp中的十六進制數轉換為10?
mov?b,#10?;10基數/10=10基數
div?腹肌
mov?b_bit,a?;十進制
mov?a_bit,b?;b區有點。
mov?dptr,#numtab?;指定表格查找的起始地址。
mov?r0,#4?
dpl1:?mov?r1,#250?;
dplop:?mov?壹、壹_位?;取壹位數
MOVC?壹、@壹+DPTR?;查找壹位數的7段代碼
mov?p0,a?;發送壹個7位代碼
clr?p2.7?;打開壹個位顯示
打電話?dely 1;顯示1毫秒
setb?p2.7關閉單元顯示器以防止重影。
mov?a,b_bit?;取十位數
MOVC?壹、@壹+DPTR?;檢查十位數的7段代碼。
mov?p0,a?;發送壹個十位數的7段代碼。
clr?p2.6?;打開十位數顯示
打電話?dely 1;顯示1毫秒
setb?p2.6關閉十位數顯示,防止重影。
;插入壹個程序段,判斷計時過程中是否有按鍵輸入。
C1:JB?P3.6,B1
打電話?delay 10;延遲10毫秒以消除抖動。
JB?P3.6,C1
JNB?P3.6,$;等待按鈕松開。
AJMP?設置
B1:JB?P3.7,M33
打電話?delay 10;延遲10毫秒以消除抖動。
JB?P3.7,B1
JNB?P3.7,$;等待按鈕松開。
AJMP?超過
M33:djnz?r3,TIME1?;2 ms循環執行250次,時間約為0.5秒。
CPL?p 1.0;讓LED每1秒閃爍壹次。
djnz?r2,AB?;循環執行120次,時間為1分鐘。
十二月?溫度;對於整分鐘,從計時時間中減去1。
MOV?壹、臨時
JNZ?展示;判斷TEMP的值是否為0?不為0循環?
;結束計時
OVER:CLR?p 1.0;LED指示燈壹直亮著
SETB?P2.4繼電器1接通,計時結束,回到接通時的狀態。
SETB?P2.3繼電器2接通,計時結束,回到接通時的狀態。
SETB?P2.5妳要提醒,我就給妳壹個喇叭,定時按喇叭。當然,妳也可以自定義壹些提醒方式。
打電話?delay 10;
打電話?delay 10;
打電話?delay 10;
打電話?delay 10;
打電話?delay 10;
AJMP?開始;回到引導初始化狀態
;1毫秒延時子程序
MOV?R4,排名第二
D1:MOV?R5,#248
DJNZ?R5,美元
DJNZ?R4,D1
浸水使柔軟
;10毫秒延時子程序
延遲10:MOV?R4,第20位
D2:MOV?R5,#248
DJNZ?R5,美元
DJNZ?D2 R4
浸水使柔軟
;實驗板上7個數碼管的0 ~ 9位的* * *負顯示碼。
numtab:?DB?0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBH
結束