timer application (2).asm

来自「用到Proteus软件来仿真51单片机」· 汇编 代码 · 共 51 行

ASM
51
字号
COUNT	EQU		30H
FLASH	EQU		31H
		ORG		00H
		SJMP	START
		ORG		0BH						   	;定时器0中断入口
		LJMP	INT_T0
START:	MOV		COUNT,#00H
		MOV		FLASH,#00H
		MOV		TMOD,#01H					;定时器工作方式1
		MOV		TH0,#(65536-50000)/256		;定时器初值
		MOV		TL0,#(65536-50000) MOD 256
		MOV		IE,#82H						;开中断
		SETB	TR0							;启动定时器
		SJMP	$							;等待中断
INT_T0:	MOV		A,COUNT
		CJNE	A,#00H,I1					;D1闪烁
		CPL		P1.0
		INC		FLASH
		MOV		A,FLASH
		CJNE	A,#40,RETUNE				;达到2秒?
		MOV		FLASH,#00H
		INC		COUNT
		LJMP	RETUNE						;D2闪烁
I1:		CJNE	A,#01H,I2
		CPL		P1.1
		INC		FLASH
		MOV		A,FLASH
		CJNE	A,#40,RETUNE				;达到2秒?
		MOV		FLASH,#00H
		INC		COUNT
		LJMP	RETUNE
I2:		CJNE	A,#02H,I3					;D3闪烁
		CPL		P1.2
		INC		FLASH
		MOV		A,FLASH
		CJNE	A,#40,RETUNE				;达到2秒?
		MOV		FLASH,#00H
		INC		COUNT
		LJMP	RETUNE
I3:		CJNE	A,#03H,RETUNE				;D4闪烁
		CPL		P1.3
		INC		FLASH
		MOV		A,FLASH
		CJNE	A,#40,RETUNE				;达到2秒?
		MOV		FLASH,#00H
		MOV		COUNT,#00H
		LJMP	RETUNE						
RETUNE:	MOV		TH0,#(65536-50000)/256
		MOV		TL0,#(65536-50000) MOD 256
		RETI
		END

⌨️ 快捷键说明

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