;315MH z 51单片机PT2272模拟接收程序
REM EQUP1.7
P0M1 EQU84H
P0M2EQU 85H
看开头的成语P1M1 E QU 91H
P1M2 EQ U 92H
P2M1 EQU 0A4H
P2M2 EQU 0A5H
;接收正确位
R ECEIV E BIT 20H.0
;因为当按住PT2262的按键不放的时候PT2262会把编码不断的送出;设置EN ABLE位用来检测按键有没有放开过如果没有放开则不再响应ENAB LE BI T 20H.1
word下划线怎么打出来
;30H 32H:接收的8 位地址编码
;31H 33H:接收的4 位数据编码
;36H 37H:设定的8 位地址密码
;其中以30H.0 和32.0 为例
;悬空 : 30H.0=1 32H.0=0
;1: 30H.0=0 32H.0=0
;0: 30H.0=1 32H.0=1
;38H:输出控制
ORG 0000H
LJMP BEGI N
O RG 0100H
B EGIN:
MOV SP,#60H
MOV P1M1,#0FFH;设定P1口为斯密特输入状态
MOV P1M2,#00H
MOV P0M1,#00H ;设定P0 口为上拉输出配置
MOV P0M2,#0FF H
MO V P0,#00H
MOVP1,#0FFH
;编码设定为:A0~A7 为悬空
MOV 36H,#0FFH
MOV 37H,#00H
LOOP:
LCA LL RE MOTE;接收遥控码
LC ALL W ORK ;控制输出
JMPLOOP
REMOT E:
;检测50ms内有没有编码接收
MOV40H,#50
RE MOTEA:
MO V 41H,#250
REMO TEB:
JNBREM,R EMOTE0 ;有码发送则跳转
DJN Z 41H,REMO TEB
DJNZ40H,R EMOTE A
CL R ENA BLE
R EMOTE_END:
RET
REMO TE0:
JB E NABLE,REMO TE_EN D ;按键没有放开则返回;清除上次解码内容
;接收12 位编码
M OV 34H,#12
;解码
;先找出接收码的开头即5ms左右的高电平
;
设置高电平时间为4~6m s
;检测和等待4m s 的高电平
REM OTE1:
MOV 40H,#40
R EMOTE2:
M OV 41H,#25
REMO TE3:
JNBREM,R EMOTE1
DJ NZ 41H,REM OTE3
DJNZ 40H,REMOT E2
;等待在2ms内接收到的低电平
MOV40H,#20
RE MOTE4:
MO V 41H,#25
REMOT E5:
;4ms 到6ms 内接收到下降沿则跳去解码否则返回
JNB REM,REMOT E6
D JNZ 41H,RE MOTE5
DJN Z 40H,REMO TE4
;超出6ms接收错误返回
C LR EN ABLE
JMPREMOT E_END
REMO TE6:
;等待300us 后采集接收信号
MO V 40H,#150
DJNZ 40H,$
;采集接收信号并记录
M OV C,REM
MOV A,31H
RLCA
MO V 31H,A
M OV A,30H
RLC A
MOV 30H,A
;等待第二个下降沿
JN B REM,$
J B REM,$
;等待300u s 后采集接收信号
MOV40H,#150
监利县
DJNZ40H,$
MOV C,RE M张勇背景
MO V A,33H
R LC A
MOV33H,A
MOV A,32H
RL C A
MOV 32H,A
;等待第二个码值的下降沿
J NB RE M,$
JB RE M,$
DJNZ34H,R EMOTE6
;把接收的编码左移4 位将8 位密码放在同一字节上M OV 40H,#4
REMOT E7:
CLR C
MOV A,31H
RL C A
MOV 31H,A
MOVA,30H
RLC A
M OV 30H,A
CLR C
吉星文MOV A,33H
RL C A
MOV 33H,A
MOVA,32H
RLC A
M OV 32H,A
DJNZ40H,R EMOTE7
;把4位数据编码由高4位移到低4位上
MOV A,31H
SWAP A
M OV 31H,A
MOV A,33H
SWAP A
M OV 33H,A
;比较密码
MOVA,30H
XRL A,36H
JN Z REM OTE8;密码不正确则跳转
MOVA,32H
XRL A,37H
JN Z REM OTE8;密码不正确则跳转;置接收正确位
S ETB R ECEIV E
;置E NABLE用于检测按键有没有放开
S ETB E NABLE
RET
REMO TE8:
CLRENABL E
CL R REC EIVE
RET
;把选中的LED 取反
WOR K:
J NB RE CEIVE,WORK_END
;每次按键都一次响应
CLR RECE IVE
MOV A,33H
CPLA
AN L A,#0FH
MOV 33H,A
MOVA,38H
站立式起跑动作要领
怎么维权XRL A,33H
AN L A,#0FH
MOV 38H,A
MOVP0,38H鸟字旁的字
NO P
WOR K_END:
RE T
EN D