| 超级好的51单片机编程例程!工程师必看! | ||
| 单片机简介与单片机的发展历史 |
I/O
口功能实例 |
|
| 定时器实例
(1秒报警,200hz输出 200-250变化输出) |
||
| 软件滤波十六进制六位数加法(数码显示) |
求六位和中的最大值和最小值(数码显示) |
|
| 求减去最大和最小值后的值(数码显示) |
除4所得软件滤波值(数码显示) |
|
| 软件模拟一个振 |
在显示频率输出的同时显示AD值(数码显示) |
|
| 过程检定(数码显示) |
||
| 按键数显,数码管显示加一 | ||
| PWM码简介及解码原理 |
||
| 智能定时的4位电子钟(带定时控制) |
智能红外工业控制器 |
|
|
51单片机学习网热心版主单片东东,收集整理的单片机教学课程(例子程序, 特别推荐!)转载请保留连接! 11.2
PWM码简介及解码原理 PWM
码是一种脉宽调制码,它的组成为9MS 高电 正码和8
位数据反码。我们要解的就数据码。一个PWM 组成,1
是由一个0.58ms 的低电平地和一个1.58ms 的高 码,然后通过解码丢掉16
位系统识别码,最后解系统正 同,即解开保存其值。解码0
或1是这样的。在低电平的 量完后,如果为低了,证明前面是一个0.58ms
低电平和一 明是由一个0.58ms
低电平地和一个1.58ms 高电平组成, 等待到高电平后重复上述过程解码。 11.3
遥控器解码 程序介绍:通过上述的解码原理,利用单片机的中断 机解码在数码管上显示(图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 |