紅外遙控接收程序 - 免費下載

單片機編程資源 文件大小:66 K

?? 資源詳細信息

文件格式
PDF
所屬分類
上傳用戶
上傳時間
文件大小
66 K
所需積分
2 積分
推薦指數
????? (5/5)

?? 溫馨提示:本資源由用戶 ywq9089 上傳分享,僅供學習交流使用。如有侵權,請聯系我們刪除。

資源簡介

紅外遙控接收
;=================================================
;
; zsMCU51實驗板配套學習例程
;
; 中山單片機學習網 智佳科技
;
; 作者:逸風 QQ:105558851
;
; http://www.zsmcu.com
; E-mail:info@zsmcu.com
;=================================================
ORG 0000H
LJMP START;轉入主程序
ORG 0010H
START:
MAIN:
JNB P2.2,IR
LJMP MAIN
;以下為進入P3.2腳外部中斷子程序,也就是解碼程序
IR:
MOV R6,#9
SB:
ACALL DELAY882 ;調用882微秒延時子程序
JB P2.2,EXIT ;延時882微秒后判斷P3.2腳是否出現高電平如果有就退出解碼程序
DJNZ R6, SB ;重復10次,目的是檢測在8820微秒內如果出現高電平就退出解碼程序
;以上完成對遙控信號的9000微秒的初始低電平信號的識別。
JNB P2.2, $ ;等待高電平避開9毫秒低電平引導脈沖
ACALL DELAY2400
JNB P2.2,IR_Rp ;
ACALL DELAY2400 ;延時4.74毫秒避開4.5毫秒的結果碼
MOV R1,#1AH ;設定1AH為起始RAM區
MOV R2,#4
PP:
MOV R3,#8
JJJJ:
JNB P2.2,$ ;等待地址碼第一位的高電平信號
LCALL DELAY882 ;高電平開始后用882微秒的時間尺去判斷信號此時的高低電平狀態
MOV C,P2.2 ;將P3.2引腳此時的電平狀態0或1存入C中

JNC UUU ;如果為0就跳轉到UUU
LCALL DELAY1000
UUU:
MOV A,@R1 ;將R1中地址的給A
RRC A ;將C中的值0或1移入A中的最低位
MOV @R1,A ;將A中的數暫時存放在R1中
DJNZ R3,JJJJ ;接收地址碼的高8位
INC R1 ;對R1中的值加1,換下一個RAM
DJNZ R2,PP ;接收完16位地址碼和8位數據碼和8位數據,存放在1AH/1BH/1CH/1DH的RAM中
MOV P1,1DH ;將按鍵的鍵值通過P1口的8個LED顯示出來!
CLR P2.3 ;蜂鳴器鳴響-嘀嘀嘀-的聲音,表示解碼成功
LCALL DELAY2400
LCALL DELAY2400
LCALL DELAY2400
SETB P2.3;蜂鳴器停止
LJMP MAIN
IR_Rp:
LJMP MAIN
EXIT:
LJMP MAIN ;退出解碼子程序
;=============================882
DELAY882: ;1.085x ((202x4)+5)=882
MOV R7,#202
DELAY882_A:
NOP
NOP
DJNZ R7,DELAY882_A
RET
;=============================1000
DELAY1000: ;1.085x ((229x4)+5)=999.285
MOV R7,#229
DELAY1000_A:
NOP
NOP
DJNZ R7,DELAY1000_A
RET
;=============================2400

立即下載此資源

提示:下載后請用壓縮軟件解壓,推薦使用 WinRAR 或 7-Zip

資源說明

?? 下載說明

  • 下載需消耗 2積分
  • 24小時內重復下載不扣分
  • 支持斷點續傳
  • 資源永久有效

?? 使用說明

  • 下載后用解壓軟件解壓
  • 推薦 WinRAR 或 7-Zip
  • 如有密碼請查看說明
  • 解壓后即可使用

?? 積分獲取

  • 上傳資源獲得積分
  • 每日簽到免費領取
  • 邀請好友注冊獎勵
  • 查看詳情 →

相關標簽

點擊標簽查看更多相關資源:

相關資源推薦