⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 我做的遥控器解码程序.txt

📁 利用单片机的中断口来测PWM码的宽度
💻 TXT
字号:
;程序作者:  马  良     QQ:8297327       电话:13087664858
;遥控器解码

;程序介绍:利用单片机的中断口来测PWM码的宽度,通过本实验仪配备的遥控,单片

;机解码在数码管上显示(图20)。实际应用例如:红外遥控。

;程序实例(disvcd.asm):

ORG 0000H

AJMP MAIN

ORG 0013H

AJMP INT

ORG 0030H

MAIN:

88

SETB EA ;开所有中断

SETB IT1

SETB EX1;

MOV 33H,#00H

TIN:

;显示/////////////////////////////////////////

MOV A,33H

ANL A,#0FH

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

D4: JNB TI,D4

CLR TI

MOV A,33H

ANL A,#0F0H

SWAP A

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

D5: JNB TI,D5

CLR TI

ACALL YS1

AJMP TIN

;/////////////////////////////////////////////

INT: ;中断解码

CLR EA ;关所有中断

MOV R6,#10

SB: ACALL YS1 ;延时882m

89

JB P3.3,EXIT ;为高退出

DJNZ R6,SB ;延时9ms

JNB P3.3,$ ;避开9ms高电平引导

脉冲

ACALL YS2 ;避开4ms低电平引导脉冲

MOV R7,#16 ;忽略16位系统码

JJJJA: JNB P3.3,$

LCALL YS1

MOV C,P3.3

JNC UUUA

LCALL YS3 ;延时1ms

UUUA: DJNZ R7,JJJJA

;解系统正码和反码,取反后比较相等保存//////////

MOV R1,#1AH

MOV R2,#2

PP: MOV R3,#8

JJJJ: JNB P3.3,$

LCALL YS1

MOV C,P3.3

JNC UUU

LCALL YS3

UUU: MOV A,@R1

RRC A

MOV @R1,A

DJNZ R3,JJJJ

INC R1

DJNZ R2,PP

MOV A,1AH

90

CPL A

CJNE A,1BH,EXIT

;/////////////////////////////////////////////

MOV 33H,1AH

EXIT: SETB EA

RETI

YS1: MOV R4,#20

D1: MOV R5,#20

DJNZ R5,$

DJNZ R4,D1

RET

YS2: MOV R4,#10

D2: MOV R5,#235

DJNZ R5,$

DJNZ R4,D2

RET

YS3: MOV R4,#2

D3: MOV R5,#248

DJNZ R5,$

DJNZ R4,D3

RET

SETTAB:

DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,

0FEH,0F6H

DB 0EEH,3EH,9CH,7AH,9EH,8EH

END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -