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

📄 pwm.txt

📁 PWM 码是一种脉宽调制码
💻 TXT
字号:
11.2 PWM码简介及解码原理 

PWM 码是一种脉宽调制码,它的组成为9MS 高电 

平和4MS 低电平引导脉冲,16 位系统识别码,8 位数据 

正码和8 位数据反码。我们要解的就数据码。一个PWM 

码的0是由一个0.58ms的低电平和一个0.58ms的高电平 

87 

组成,1 是由一个0.58ms 的低电平地和一个1.58ms 的高 

电平组成。解码原理是这样的。首先通过延时来丢开引导 

码,然后通过解码丢掉16 位系统识别码,最后解系统正 

码和反码。解开后将正码取反看是否与反码相同,如果相 

同,即解开保存其值。解码0 或1是这样的。在低电平的 

时候等待,直到为高了后,用一个0.882ms 的延时去量, 

量完后,如果为低了,证明前面是一个0.58ms 低电平和一 

个0.58ms 高电平地组成,即保存一个0.如果为高,则证 

明是由一个0.58ms 低电平地和一个1.58ms 高电平组成, 

即保存一个1 .为1则再调一个延时,让它延到低电平。 

等待到高电平后重复上述过程解码。 

11.3 遥控器解码 

程序介绍:通过上述的解码原理,利用单片机的中断 

口来测PWM码的宽度,通过本实验仪配备的遥控,单片 

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

控。 

图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 + -