久久久久亚洲精品,久久亚洲精品成人av无码网站,无码国产伦一区二区三区视频,天天躁人人躁人人躁狂躁

可遠程遙控的倒計時定時器

    電子制作實驗室網站推出的單片機試驗板還有比較靈活的可變型,比如購買套件的網友可以根據實際需要安裝上需要的電子元件,只要稍作改動就能實現(xiàn)其他功能。
    應一位網友的要求,要站長設計并制作一個能夠遙控的倒計時定時器,用來控制水泵。站長經過考慮,決定采用800米遙控距離的遙控組件再配合單片機試驗板上的一些硬件,比較快速地制作完成了。

;電子制作實驗室http://www.xinjiapolvyou.cn/
;可設定時間的遙控倒計時定時器,可選擇15/30/45分鐘倒計時
;倒計時時間由800米遙控器來控制

a_bit equ 20h ;數碼管個位數存放內存位置
b_bit equ 21h ;數碼管十位數存放內存位置
temp equ 22h ;計數器數值存放內存位置

;開機初始化
MOV P0,#0FFH;使顯示時間數碼管熄滅
MOV P1,#0FFH;將P1口設定為輸入口
CLR P1.7;點亮LED

;等待鍵盤輸入
START:JNB P1.5,$;循環(huán)判斷遙控接收頭第17腳是否有高電平信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.5,START;如果是干擾就返回
CLR P2.5;蜂鳴器鳴叫一聲,表示遙控指令接收到
ACALL DELAY
SETB P2.5;蜂鳴器停止
;讀遙控接收頭四路數據,獲得倒計時時間的子程序
K1:JNB P1.0,K2;判斷數據A是否有信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.0,K1;如果是干擾就返回
MOV TEMP,#15;設定倒計時時間為15分鐘
K2:JNB P1.1,K3;判斷數據B是否有信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.1,K2;如果是干擾就返回
MOV TEMP,#30;設定倒計時時間為30分鐘
K3:JNB P1.2,DISPLAY;判斷數據C是否有信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.2,K3;如果是干擾就返回
MOV TEMP,#45;設定倒計時時間為45分鐘
K4:JNB P1.3,DISPLAY;判斷數據C是否有信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.3,K4;如果是干擾就返回
AJMP OVER

;數碼管顯示定時時間的程序
display:CLR P2.4;使繼電器1釋放,開始定時(開機時繼電器處于吸合狀態(tài))
CLR P2.3;使繼電器2釋放,開始定時(開機時繼電器處于吸合狀態(tài))
MOV R2,#120
AB:MOV R3,#250
TIME1:mov a,temp ;將temp中的十六進制數轉換成10進制
mov b,#10 ;10進制/10=10進制
div ab
mov b_bit,a ;十位在a
mov a_bit,b ;個位在b

mov dptr,#numtab ;指定查表啟始地址
mov r0,#4
dpl1: mov r1,#250 ;
dplop: mov a,a_bit ;取個位數
MOVC A,@A+DPTR ;查個位數的7段代碼
mov p0,a ;送出個位的7段代碼
clr p2.7 ;開個位顯示
ACALL DELY1;顯示1毫秒
setb p2.7;關閉個位顯示,防止鬼影
mov a,b_bit ;取十位數
MOVC A,@A+DPTR ;查十位數的7段代碼
mov p0,a ;送出十位的7段代碼
clr p2.6 ;開十位顯示
ACALL DELY1;顯示1毫秒
setb p2.6;關閉十位顯示,防止鬼影

;插入一段判斷定時過程中是否有遙控信號輸入的程序段
G1:JNB P1.5,M33;循環(huán)判斷遙控接收頭的第17腳是否有高電平信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.5,G1;如果是干擾就返回
CLR P2.5;蜂鳴器鳴叫一聲,表示遙控接收收到
ACALL DELAY
SETB P2.5
;讀遙控接收頭四路數據,獲得倒計時時間的子程序
K11:JNB P1.0,K21;判斷遙控接收頭的第10腳是否有信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.0,K11;如果是干擾就返回
MOV TEMP,#15;設定倒計時時間為15分鐘
K21:JNB P1.1,K31;判斷遙控接收頭的第11腳是否有信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.1,K21;如果是干擾就返回
MOV TEMP,#30;設定倒計時時間為30分鐘
K31:JNB P1.2,K41;判斷遙控接收頭的第12腳是否有信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.2,K31;如果是干擾就返回
MOV TEMP,#45;設定倒計時時間為45分鐘
K41:JNB P1.3,M33;判斷遙控接收頭的第13腳是否有信號輸出?
ACALL DELAY10;延時10毫秒觸點消抖
JNB P1.3,K41;如果是干擾就返回
AJMP OVER

M33:djnz r3,TIME1;2毫秒循環(huán)執(zhí)行250次,時間約0.5秒
CPL P1.7;使LED閃光,表示在定時過程中
djnz r2,AB ;循環(huán)執(zhí)行120次,時間為1分鐘

DEC TEMP;滿一分鐘對定時時間減1
MOV A,TEMP
JNZ DISPLAY;判斷TEMP的數值是否為0?不為0循環(huán)

;結束定時,對端口恢復開機初始化
OVER:MOV P0,#0FFH
MOV TEMP,#0
MOV P2,#0FFH
SETB P1.7;使LED不再閃光,常亮
JB P1.5,$;等待遙控信號消失
AJMP START;退到開機初始化狀態(tài)

;1毫秒延時子程序
DELY1:MOV R4,#2
D1:MOV R5,#248
DJNZ R5,$
DJNZ R4,D1
RET

;10毫秒延時子程序
DELAY10:MOV R4,#20
D2:MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
RET

DELAY:MOV R4,#02H;延時子程序,12M晶振延時約1秒
L3: MOV R2 ,#0FAH
L1: MOV R3 ,#0FAH
L2: DJNZ R3 ,L2
DJNZ R2 ,L1
DJNZ R4 ,L3
RET

;實驗板上的兩位一體的數碼管0~9各數字的顯示代碼
numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H

end

這是上面程序匯編以后獲得的編程器燒寫文件:ykds.hex

    下載燒寫文件的方法:將鼠標移到燒寫文件的超級鍵連處,點擊鼠標的右鍵,選擇“目標另存為(A)...”保存文件類型中不要選擇“文本文件”,應該選擇“所有文件”,這樣就能獲得*.hex文件了。

    備注:如果不需要AT89C51實驗開發(fā)板中的12伏電源變壓器,價格可以降低10元

點擊查看詳細品種!

銀行帳號及郵購需知    立即進入訂貨系統(tǒng)!    查看全部郵購清單

郵局匯款地址:郵編226200 江蘇省啟東市江海中路511號水晶苑 A-1 謝剛 收

電話/傳真:0513-83342087 小靈通:0513-83082087 聯(lián)系人:謝剛

電子信箱:

電子制作實驗室網站主頁 http:www.xinjiapolvyou.cn