📄 pentucx.txt
字号:
;利用循环小车开始画好几个圆
;2008-7-30 kjcxyrg
ORG 00H
JMP START
START:
MOV R2,#2 ;控制小车画圆的个数
LOOP:
;;************************************
;指示灯闪烁
MOV R0,#24
MOV A,#0FEH
NEX1:
MOV P0,A
CALL DELAY01S
RL A
DJNZ R0,NEX1
;************************************
;************************************
;驱动前轮左转 45度
MOV R0,#1 ;延迟 0.1s
NEX2:
CLR P2.2 ;前轮电机左转
SETB P2.3
CALL DELAY01S
DJNZ R0,NEX2
SETB P2.2
SETB P2.3
;************************************
;************************************
;小车向前走 一圈
MOV R0,#70
CALL PENQI ;开始喷漆
NEX3:
CLR P2.4
CALL DELAY01S
DJNZ R0,NEX3
;************************************
SETB P2.4 ;小车停止
CALL UNPENQI ;关闭喷漆
;************************************
;驱动前轮右转 45度
MOV R0,#1 ;延迟0.1s
NEX4:
CLR P2.3 ;前轮电机左右转
SETB P2.2
CALL DELAY01S
DJNZ R0,NEX4
SETB P2.2
SETB P2.3
;************************************
;************************************
;小车向前走 ,接着画另外一个圆
MOV R0,#20
NEX5:
CLR P2.4
CALL DELAY01S
DJNZ R0,NEX5
SETB P2.4
;************************************
DJNZ R2,LOOP ;小车开始画另外一个圆
AJMP $
PENQI: ;喷漆
;************************************
MOV R1,#30
AGAI2:
SETB P2.0 ;向前推
CLR P2.1
CALL DELAY01S
DJNZ R1,AGAI2
SETB P2.0 ;停止向前推
SETB P2.1
RET
;************************************
UNPENQI: ;不喷漆
;************************************
MOV R1,#30
AGAI1:
SETB P2.1 ;向后推
CLR P2.0
CALL DELAY01S
DJNZ R1,AGAI1
SETB P2.0 ;停止向前推
SETB P2.1
RET
;************************************
DELAY01S: ;在12m的晶振下产生0.1s的延时
;************************************
MOV R7,#250
DV:
MOV R6,#200
DJNZ R6,$
DJNZ R7,DV
RET
;************************************
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -