DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 188|回复: 0
打印 上一主题 下一主题

PWM码简介及解码原理

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-23 18:36:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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码的宽度,通过本实验仪配备的遥控,单片机解码在数码管上显示。实际应用例如:红外遥控。

程序实例(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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2026-4-14 03:08 , 耗时 0.252209 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表