1.asm

来自「简单的交通灯程序。一般情况下(初始状态)」· 汇编 代码 · 共 36 行

ASM
36
字号
ORG	0000H
STA:	MOV	P0,#11011011B    ;干线亮绿灯,支线亮红灯
		MOV	P2,#00010000B	  ;选通LED
		                        
MOV	P3,#11101111B	  ;K1列线置0
		MOV	R7,#3
STA1:	JB	P3.3,$		 		  ;无按键等待
		LCALL	DELAY30MS	  ;去抖动
		JB	P3.3,STA1
		JNB	P3.3,$		 	   ;等键释放
		DJNZ	R7,STA1
		MOV	R6,#200
STA2:	LCALL	DELAY30MS	   ;延时30MS
		DJNZ	R6,STA2		   ;延时6秒
		MOV	P0,#10111011B	   ;干线亮黄灯,支线亮红灯
		MoV	R6,#100
STA3:	LCALL	DELAY30MS
		DJNZ	R6,STA3		   ;延时3秒
		MOV	P0,#01111110B	   ;干线亮红灯,支线亮绿灯
		MOV	R5,#4
STA4:	MOV	R6,#200
STA5:	LCALL	DELAY30MS
		DJNZ	R6,STA5
		DJNZ	R5,STA4	       ;延时24秒
		MOV	P0,#01111101B	   ;干线亮绿灯,支线亮黄灯
		MOV	R6,#100
STA6:	LCALL	DELAY30MS
		DJNZ	R6,STA6		   ;延时3秒
		LJMP	STA
DELAY30MS:MOV	R4,#55
DELAY:MOV	R3,#250
		DJNZ	R3,$  	          ;1.085us(指令周期)*2*250+2=547.5us
		DJNZ	R4,DELAY
		RET
		end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?