久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STC15F104EA紅外遙控解碼記憶開關匯編語言程序范例 附原理圖
[打印本頁]
作者:
liu2454004961
時間:
2023-1-4 16:23
標題:
STC15F104EA紅外遙控解碼記憶開關匯編語言程序范例 附原理圖
基于12T 51內核的紅外解碼匯編程序,移植到1T STC單片機上,需要修改頻率來達到比較精確的延時
紅外遙控解碼記憶開關接線圖:
1672818593276.png
(55.52 KB, 下載次數: 42)
下載附件
2023-1-4 16:17 上傳
1672820069127.png
(79.85 KB, 下載次數: 48)
下載附件
2023-1-4 16:17 上傳
單片機紅外遙控解碼記憶開關匯編語言源程序如下:
;;;;;;紅外遙控解碼記憶;;;;;開機同時,按住按鍵直到蜂鳴器叫一次再松開,按遙控器認定按鈕,待蜂鳴器叫一次后,完成解碼記憶
;;;;RC頻率30M,分頻系數1/16,采用15F104EA ;;2015-4-16;;
IAP_DATA EQU 0C2H ;IAP數據寄存器
IAP_ADDRH EQU 0C3H ;IAP地址寄存器高字
IAP_ADDRL EQU 0C4H ;IAP地址寄存器低字
IAP_CMD EQU 0C5H ;IAP命令寄存器
IAP_TRIG EQU 0C6H ;IAP命令觸發寄存器
IAP_CONTR EQU 0C7H ;IAP控制寄存器
CMD_IDLE EQU 0 ;空閑模式
CMD_READ EQU 1 ;IAP字節讀命令
CMD_PROGRAM EQU 2 ;IAP字節編程命令
CMD_ERASE EQU 3 ;IAP扇區擦除命令
ENABLE_IAP EQU 83H ;if SYSCLK<12MHz
IAP_ADDRESS EQU 0000H ;測試地址(15L204EA的EEPROM空間為1K,分兩個扇區,每個512字節)
CLK_DIV DATA 97H ;RC頻率30M,分頻系數1/16,采用15F104EA
ID DATA 30H ;燈組個數狀態值
HONG DATA 31H ;紅外數據緩存區
ANJIAN BIT 26H.0 ;按鍵選擇標志
FENG BIT P3.3 ;蜂鳴器
KEY BIT P3.0 ;解碼記憶選擇開關
PH BIT P3.4 ;紅外一體化接受頭
SW BIT P3.5
ORG 0000H
AJMP MAIN1
ORG 0040H
MAIN1: MOV CLK_DIV,#1 ;分頻設置
MOV ID,#00H
MOV P3,#0FFH
SETB ANJIAN
JB KEY,START1 ;按鍵判斷
MOV R7,#50
D4: ACALL YS3
DJNZ R7,D4
JB KEY,START1
CLR FENG ;聲音延時
MOV R7,#50
D5: ACALL YS3
DJNZ R7,D5
SETB FENG
CLR ANJIAN
START1:MOV DPTR,#IAP_ADDRESS ;讀取EEPOM紅外數據到緩存區 ;設置ISP/IAP/EEPROM地址
LCALL IAP_READ ;讀IAP數據
MOV 31H,A
START:JB PH,$ ;等待遙控信號出現
SB:MOV R4,#8
SBA:MOV R5,#250
SBB:JB PH,SXB1
DJNZ R5,SBB
DJNZ R4,SBA
MOV R4,#2
JMP SBC
SXB1: MOV R5,#5
SXB2: JNB PH,SBB
DJNZ R5,SXB2
JMP EXIT
SBC:MOV R5,#250
SB1:JB PH,SB2 ;2MS內不為高電平錯誤
DJNZ R5,SB1
DJNZ R4,SBC
JMP EXIT
SB2: MOV R5,#5
SB2_A:JNB PH,SB1
DJNZ R5,SB2_A
MOV R4,#3
SB2_1:MOV R5,#250
SB3: JNB PH,SXC
DJNZ R5,SB3
DJNZ R4,SB2_1
MOV R4,#2
JMP SB3_1
SXC:MOV R5,#5
SXC1:JB PH,SB3
DJNZ R5,SXC1
JMP EXIT
SB3_1:MOV R5,#250
SB3_2:JNB PH,SB4
DJNZ R5,SB3_2
DJNZ R4,SB3_1
JMP EXIT
SB4: MOV R5,#5
SB4_1:JB PH,SB3_2
DJNZ R5,SB4_1
MOV R1,#1AH ;設定1AH為起始RAM區
MOV R2,#4
PP: MOV R3,#8
JJJJ:MOV R5,#250
JJJJ2:JB PH,JJJJ3
DJNZ R5,JJJJ2
JMP EXIT
JJJJ3:LCALL YS1
MOV C,PH
JNC UUU
MOV R5,#250
JJJJ4:JNB PH,UUU
NOP
DJNZ R5,JJJJ4
JMP EXIT
UUU: MOV A,@R1 ;將R1中地址的給A
RRC A ;將C中的值移入A中的最低位
MOV @R1,A ;將A中的數暫存在R1中
DJNZ R3,JJJJ ;接收地址碼的高8位
INC R1 ;對R1加1,換成下一個RAM
DJNZ R2,PP ;以下對代碼是否正確和定義進行識別
MOV A,1AH ;比較高8位地址碼
XRL A,#00000000B ;判斷1AH的值是否等于00000000,相等的話A為0
JNZ EXIT ;如果不等解碼失敗退出
MOV A,1BH ;比較低8位地址
XRL A,#11111111B ;再判高8位地址是否正確
JNZ EXIT ;如果不相等說明解碼失敗退出
LCALL YS3
MOV A,1CH ;比較數據碼和數據反碼是否正確?
CPL A
XRL A,1DH ;將1CH的值取反后和1DH比較 不同則無效丟棄,核對數據是否準確
JNZ EXIT ;如果不相等說明解碼失敗退出
JB ANJIAN,MAIN2
MOV DPTR,#IAP_ADDRESS ;設置ISP/IAP/EEPROM地址
LCALL IAP_ERASE ;扇區擦除
MOV A,1CH
MOV DPTR,#IAP_ADDRESS ;設置ISP/IAP/EEPROM地址
LCALL IAP_PROGRAM ;字節編程
CLR FENG ;紅外數據寫入成功蜂鳴器叫一次指示
MOV R7,#50
D6: ACALL YS3
DJNZ R7,D6
SETB FENG
SETB ANJIAN
MOV 31H,1CH ;;;寫入成功,建議關機重啟
EXIT: AJMP START
MAIN2: MOV A,31H
CJNE A,1CH,EXIT ;;;判斷紅外遙控次數決定遙控燈組個數;;;;
CPL SW
LJMP START
IAP_IDLE: ;;;關閉IAP;;;
MOV IAP_CONTR,#0 ;關閉IAP功能
MOV IAP_CMD,#0 ;清除命令寄存器
MOV IAP_TRIG,#0 ;清除觸發寄存器
MOV IAP_ADDRH,#80H ;將地址設置到非IAP區域
MOV IAP_ADDRL,#0
RET
IAP_READ: ;;;從ISP/IAP/EEPROM區域讀取一字節;;;
MOV IAP_CONTR,#ENABLE_IAP ;使能IAP
MOV IAP_CMD,#CMD_READ ;設置IAP命令
MOV IAP_ADDRL,DPL ;設置IAP低地址
MOV IAP_ADDRH,DPH ;設置IAP高地址
MOV IAP_TRIG,#5AH ;寫觸發命令(0x5a)
MOV IAP_TRIG,#0A5H ;寫觸發命令(0xa5)
NOP ;等待ISP/IAP/EEPROM操作完成
MOV A,IAP_DATA ;讀IAP數據
LCALL IAP_IDLE ;關閉IAP功能
RET
IAP_PROGRAM: ;;;寫一字節數據到ISP/IAP/EEPROM區域;;;
MOV IAP_CONTR,#ENABLE_IAP ;使能IAP
MOV IAP_CMD,#CMD_PROGRAM ;設置IAP命令
MOV IAP_ADDRL,DPL ;設置IAP低地址
MOV IAP_ADDRH,DPH ;設置IAP高地址
MOV IAP_DATA,A ;寫IAP數據
MOV IAP_TRIG,#5AH ;寫觸發命令(0x5a)
MOV IAP_TRIG,#0A5H ;寫觸發命令(0xa5)
NOP ;等待ISP/IAP/EEPROM操作完成
LCALL IAP_IDLE ;關閉IAP功能
RET
IAP_ERASE: ;;;扇區擦除;;;
MOV IAP_CONTR,#ENABLE_IAP ;使能IAP
MOV IAP_CMD,#CMD_ERASE ;設置IAP命令
MOV IAP_ADDRL,DPL ;設置IAP低地址
MOV IAP_ADDRH,DPH ;設置IAP高地址
MOV IAP_TRIG,#5AH ;寫觸發命令(0x5a)
MOV IAP_TRIG,#0A5H ;寫觸發命令(0xa5)
NOP ;等待ISP/IAP/EEPROM操作完成
LCALL IAP_IDLE ;關閉IAP功能
RET
YS1: MOV R4,#20 ;延時子程序1, 882微秒
D1: MOV R5,#20
DJNZ R5,$
DJNZ R4,D1
RET
YS3: MOV R4,#2 ;延時程序3, 1000微秒
D3:MOV R5,#248
DJNZ R5,$
DJNZ R4,D3
RET
END
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
高清不卡毛片
|
亚洲精品在线视频
|
亚洲精品日日夜夜
|
国产在线一区二区三区
|
国产精品亚洲成在人线
|
精品国产一二三区
|
天天看天天操
|
日韩欧美一区二区三区四区
|
h视频免费在线观看
|
精品国产乱码久久久久久蜜柚
|
日韩一区二区三区在线观看
|
欧美亚洲视频在线观看
|
亚洲成人一区二区在线
|
91网站在线播放
|
91精品一区
|
青草久久免费视频
|
国产99久久
|
91麻豆精品国产91久久久更新资源速度超快
|
a视频在线观看
|
欧美成人aaa级毛片在线视频
|
欧美日韩在线播放
|
国产精品久久久久久一区二区三区
|
久久久久久精
|
99久久精品国产一区二区三区
|
欧美性猛交一区二区三区精品
|
午夜影院在线
|
亚洲午夜视频在线观看
|
九九亚洲
|
午夜爱爱网
|
久久免费精品
|
亚洲天堂免费
|
久久久久国产一区二区三区
|
国产亚洲成av人片在线观看桃
|
久久久久www
|
日韩国产高清在线观看
|
亚洲五码在线
|
少妇午夜一级艳片欧美精品
|
国产精品亚洲成在人线
|
国产精品视频久久久
|
欧美精品第一页
|
亚洲一区中文字幕在线观看
|