📄 motor.txt
字号:
ORG 0000H
LJMP START
ORG 0023H
LJMP SERVE
START: mov TMOD,#20h ;T1: 工作模式2
mov PCON,#80h ;SMOD=1
mov TL1,#0FDH
mov TH1,#0FDH ;初始化波特率9600
mov SCON,#50h ;Standard UART settings
SETB REN ;允许接收
SETB TR1 ;T1开始工作
setb ES ;开串口中断
setb EA
setb p3.0
LJMP ZHU
ZHU: CPL P3.0
DJNZ R2,DO_WHAT1
AJMP DIANJI2
DO_WHAT1:MOV A,#00H
LOOP01: MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P1,A
lcall DY2MS
INC A
CJNE A,#4,LOOP01
DIANJI2:DJNZ R3,DO_WHAT2
AJMP DIANJI3
DO_WHAT2:MOV A,#00H
LOOP02: MOV DPTR,#TAB2
MOVC A,@A+DPTR
MOV P1,A
lcall DY2MS
INC A
CJNE A,#4,LOOP02
DIANJI3:DJNZ R4,DO_WHAT3
AJMP DIANJI4
DO_WHAT3:MOV A,#00H
LOOP03: MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P2,A
lcall DY2MS
INC A
CJNE A,#4,LOOP03
DIANJI4:DJNZ R5,DO_WHAT4
LJMP ZHU
DO_WHAT4:MOV A,#00H
LOOP04: MOV DPTR,#TAB2
MOVC A,@A+DPTR
MOV P2,A
lcall DY2MS
INC A
CJNE A,#4,LOOP04
LJMP ZHU
SERVE: CLR RI ;中断程序
PUSH ACC
PUSH PSW
CLR RS0
SETB RS1
MOV A,SBUF
INC A
MOV R2,A
RX_COMD1:JNB RI,RX_COMD1
CLR RI
MOV A,SBUF
INC A
MOV R3,A
RX_COMD2:JNB RI,RX_COMD2
CLR RI
MOV A,SBUF
INC A
MOV R4,A
RX_COMD3:JNB RI,RX_COMD3
CLR RI
MOV A,SBUF
INC A
MOV R5,A
RETURN: SETB SM2
POP PSW
POP ACC
RETI
TAB1: DB 03H,09H,0CH,06H
TAB2: DB 030H,090H,0C0H,060H
DY2MS:
MOV R7,#0100
loop10:MOV R6,#200
DJNZ R6,$
DJNZ R7,loop10
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -