led_2.asm

来自「用89S52进行DS1820温度读取程序」· 汇编 代码 · 共 36 行

ASM
36
字号
; 键控灯
;使用按键来控制灯,实现IO口输入输出,一键控制一个灯
                key       bit    p3.3
		ORG		0000H				;伪指令		
		LJMP		MAIN				;跳转到单片机的主程序
		ORG		0100H				;伪指令,单片机主程序的开始
MAIN:		LCALL		DEL
		MOV		P0,#0FFH
		MOV		P2,#0FFH
		CLR		key
		LCALL		DEL
		JB		P2.7,		$		;等键按下
		LCALL		DEL_10MS			;软件去抖
		JB		P2.7,		MAIN		;无键时,返回主程序
		CLR		P1.0				;打开灯,点亮P1.0口上对应的灯
		LCALL		DEL				;调用延时子程序
		SETB		P1.0				;关掉P1.0口上对应的灯
		LCALL		DEL
		LJMP		MAIN				;跳到主程序,实现灯的循环亮灭
DEL:		MOV		R6,	#0FFH			;延时子程序
DEL_1:	MOV	R7,	#0FFH
DEL_0:	NOP
		NOP
		DJNZ		R7,	DEL_0
		DJNZ		R6,	DEL_1
		RET
DEL_10MS:	MOV	R6,#10		;10MS
DEL_10_1:	MOV	R7,#0FAH
DEL_10_2:	NOP
		NOP
		DJNZ	R7,DEL_10_2
		DJNZ	R6,DEL_10_1
		RET

		END	

⌨️ 快捷键说明

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