📄 bus-rx.asm
字号:
;遥控车接收程序.
;MCU:AT89C2051
;OSC:12M
;DATE:08.05.18
;接收相应功能:前进,后退,左转,右转.
;E-MAIL:chinameifen@21cn.com
;作者:徐增钟
;=================================================================
IN EQU P3.2 ;RECEIVE
RXMA BIT 05H
;=================================================================
ORG 0000H
AJMP START
ORG 0003H
AJMP INRX
ORG 0030H
;================================================================
CLEAR_RAM:
MOV R1,#30H
MOV R3,#127
NEXT: MOV @R1,#00
INC R1
DJNZ R3,NEXT
RET
;================================================================
START:
MOV SP,#50H
MOV P3,#0FFH ;
MOV P2,#0FFH ;
MOV P1,#00 ;
SETB EA
SETB EX0
CLR RXMA
LOOP:
CALL NORX
AJMP LOOP
;====================================================================
INRX:
CLR EX0
MOV R4,#4 ;同步脉冲.
MOV TMOD,#01H
NX1: MOV TH0,#00 ;计数初值为00.
MOV TL0,#00 ;
SETB TR0
INC1: JNB IN,INC1 ;低电平在此等
CLR TR0
MOV A,TH0
CJNE A,#05H,EXIT
HERE1: JB IN,HERE1 ;等待0.5MS高电平结束.
DJNZ R4,NX1
JNB IN,$
CLR A
RD1: INC A
RD2: JB IN,RD2
MOV R1,#05
RD3: JB IN,RD1
LCALL DYMS5
DJNZ R1,RD3
DEC A
DEC A
DEC A
DEC A
JZ STOP
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
JZ K1
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
JZ FR
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
JZ FL
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
JZ K2
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
JZ BL
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
JZ BR
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
JZ K3
DEC A
DEC A
DEC A
DEC A
DEC A
DEC A
JZ K4
NOP
NOP
EXIT: SETB EX0
RETI
STOP: MOV P1,#00
AJMP EXIT
K1:
MOV P1,#00010000B ;F
AJMP EXIT
K2:
MOV P1,#00100000B ;B
AJMP EXIT
K3:
MOV P1,#01000000B ;L
AJMP EXIT
K4:
MOV P1,#10000000B ;R
AJMP EXIT
FR: MOV P1,#10010000B ;F+R
AJMP EXIT
FL:
MOV P1,#01010000B ;F+L
AJMP EXIT
BR:
MOV P1,#10100000B ;B+R
AJMP EXIT
BL:
MOV P1,#01100000B ;B+L
AJMP EXIT
;==============================================================
NORX:
NET:
MOV R1,#200
RX: JNB IN,NET
CALL DY1MS
DJNZ R1,RX
MOV P1,#00
NOSI:
RET
;==============================================================
DYMS5:
MOV R5,#135
DJNZ R5,$
RET
;==============================================================
DY1MS:
MOV R6,#138
D2:
DJNZ R6,D2
RET
;==============================================================
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -