紅外遙控鍵值解碼之液晶、數(shù)碼管、發(fā)光管等顯示程序案例分享
大小:0.2 MB 人氣: 2017-09-06 需要積分:1
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評論(0)
標(biāo)簽:紅外遙控(44690)
1、紅外遙控鍵值解碼
;******************************************************************************????????? DATA1?? EQU??? 30H??? ;
?? DATA2?? EQU??? 31H??? ;
????????? DATA3?? EQU??? 32H??? ;
?? DATA4?? EQU??? 33H??? ;
????????? RMT???? EQU??? P3.2?? ;
;-------------------------------------------
????????? ORG???? 0000H???????? ;程序執(zhí)行開始地址
????????? LJMP??? START???????? ;跳至START
????????? ORG???? 0003H???????? ;外中斷0中斷程序入口
????????? RETI????????? ;中斷返回
????????? ORG???? 000BH???????? ;定時(shí)器T0中斷程序入口
????????? RETI????????? ;中斷返回
????????? ORG???? 0013H???????? ;外中斷1中斷入口
????????? RETI????????? ;跳至INTEX1中斷服務(wù)程序
????????? ORG???? 001BH???????? ;定時(shí)器T1中斷程序入口
????????? RETI????????? ;跳至INTT1中斷服務(wù)程序
????????? ORG???? 0023H???????? ;串口中斷入口地址
????????? RETI????????? ;中斷返回
????????? ORG???? 002BH???????? ;定時(shí)器T2中斷入口地址
????????? RETI????????? ;中斷返回
;-------------------------------------------
????????? ORG??? 0030H????????? ;
START:
????????? MOV??? SP,#60H??????? ;初始化堆棧指針?
?? MOV??? P0,#0FFH?????? ;初始化I/O口
?? MOV??? P1,#0FFH?????? ;
????????? MOV??? P2,#0FFH?????? ;
????????? MOV??? P3,#0FFH?????? ;
;*******************************************
MAIN:
????????? JNB? RMT,IR_1838??? ;
?? AJMP?? MAIN?????????? ;
;*******************************************
IR_1838:?
? ?? MOV ? R5,#10???????? ;
A1:
?? ACALL? DELAY882?;調(diào)用882微秒延時(shí)子程序
?? JB ? RMT,MAIN?;延時(shí)882微秒后判斷P3.2腳是否出現(xiàn)高電平如果有就退出解碼程序
??? DJNZ ? R5, A1 ?;重復(fù)10次,目的是檢測在8820微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序
?????????????? ????????? ;以上完成對遙控信號的9000微秒的初始低電平信號的識別。
?? JNB? RMT,$ ???????? ;等待高電平避開9毫秒低電平引導(dǎo)脈沖
?? ACALL? DELAY2???????? ;
?? JNB? RMT,MAIN ?;
?? ACALL? DELAY2???????? ;延時(shí)4.74毫秒避開4.5毫秒的結(jié)果碼
;*******************************************????????
?? MOV? R1,#1AH ?;設(shè)定1AH為起始RAM區(qū)
?? MOV? R2,#4????????? ;
A2: ?
?? MOV? R3,#8????????? ;
A3:?
?? JNB? RMT,$???????? ;等待地址碼第一位的高電平信號
?? LCALL? DELAY882?;高電平開始后用882微秒的時(shí)間尺去判斷信號此時(shí)的高低電平狀態(tài)
?? MOV? C,RMT???????? ;將P3.2引腳此時(shí)的電平狀態(tài)0或1存入C中
?? JNC? A4??;如果為0就跳轉(zhuǎn)到A4
?? LCALL? DELAY1????????? ;
A4:?
?? MOV? A,@R1??;將R1中地址的給A
?? RRC? A??;將C中的值0或1移入A中的最低位
?? MOV? @R1,A???????? ;將A中的數(shù)暫時(shí)存放在R1中
?? DJNZ? R3,A3???????? ;接收地址碼的高8位
?? INC? R1??;對R1中的值加1,換下一個(gè)RAM
?? DJNZ? R2,A2 ???????? ;接收完16位地址碼和8位數(shù)據(jù)碼和8位數(shù)據(jù),存放在1AH/1BH/1CH/1DH的RAM中
;*************** *****************************************
?? MOV? P2,1DH??? ?;將按鍵的鍵值通過P2口的8個(gè)LED顯示出來!
?? CLR ? P3.7???????? ;蜂鳴器鳴響-嘀嘀嘀-的聲音,表示解碼成功
?? LCALL? DELAY2???????? ;
?? LCALL? DELAY2???????? ;
?? LCALL? DELAY2???????? ;
????????? SETB?? P3.7?????????? ;蜂鳴器停止
?? LJMP? MAIN?????????? ;
;*******************************************
;882US
DELAY882:?????????????????????? ;
?? MOV? R6,#200??????? ;
DEL1:
??? ?? NOP?????????????????? ;
?? NOP?????????????????? ;
?? DJNZ? R6,DEL1???????? ;
????????? RET?????????????????? ;
;*******************************************
;1000US
DELAY1:?
?? MOV? R6,#230
DEL2:
??? ?? NOP
?? NOP
?? DJNZ? R7,DEL2
????????? RET
;*******************************************
;2300US
DELAY2:?????????????
?? MOV? R6,#248
DEL3:
??? ?? NOP
?? NOP
??? ?? NOP
?? NOP
?? NOP
?? ?? NOP
?? NOP
?? DJNZ? R6,DEL3????
????????? RET
????????? END
?;*******************************************
非常好我支持^.^
(9) 100%
不好我反對
(0) 0%
下載地址
紅外遙控鍵值解碼之液晶、數(shù)碼管、發(fā)光管等顯示程序案例分享下載
相關(guān)電子資料下載
- 應(yīng)用在紅外線遙控領(lǐng)域中的心率傳感信號接收芯片 80
- 基于FPGA的紅外遙控接收器模塊數(shù)據(jù)傳輸 66
- 解析紅外遙控模塊的工作原理 289
- 智慧空調(diào)插座:智控生活好伴侶,節(jié)能降耗好幫手 87
- 基于51單片機(jī)的紅外遙控發(fā)射接收proteus仿真設(shè)計(jì) 409
- STM32之紅外遙控信號自學(xué)習(xí)實(shí)現(xiàn) 369
- Remote紅外遙控器 181
- 怎樣設(shè)計(jì)一款基于51單片機(jī)紅外遙控器設(shè)計(jì)系統(tǒng)呢? 238
- 線對線線對板連接器的區(qū)別 565
- 應(yīng)用在紅外遙控領(lǐng)域中的心率傳感信號接收芯片 145