⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daojishi.asm

📁 99秒倒计时汇编程序
💻 ASM
字号:
	; 该程序是89C51_D板实验演示程序,100S倒计时(12M)
	;
	LD1	BIT	P2.0
	LD2	BIT	P2.1
	LD3	BIT	P2.2
	LD4	BIT	P2.3
	LED1	BIT	P2.4
	LED2	BIT	P2.5
	LED3	BIT	P2.6
	LED4	BIT	P2.7
	BEEP	BIT	P3.6
	
	SUB		BIT	01H		;减数标志位
	BUF_LED1	EQU	24H		;LED1缓存
	BUF_LED2	EQU	25H		;LED2缓存
	BUF_LED3	EQU	26H		;LED3缓存
	BUF_LED4	EQU	27H		;LED4缓存
	BIN_LED1	EQU	28H
	BIN_LED2	EQU	29H
	BIN_LED3	EQU	2AH
	BIN_LED4	EQU	2BH
	BUFF_LP	EQU	2CH
	

	ORG	0000H
	LJMP	MAIN
	ORG	00BH
	LJMP	TT0
	ORG	0100H
MAIN:	MOV		SP,	#40H	
	MOV		A,	#00H
	MOV		IE,	#00H
	MOV		R6,	#50H
	MOV		R0,	#20H
STR0:	MOV		@R0,	A
	INC		R0
	NOP
	DJNZ		R6,	STR0
	MOV		P1,#0FFH
	MOV		P0,#0FFH
	MOV		P2,#0FFH
	MOV		P3,#0FFH
	MOV		BUFF_LP,	#00H
	MOV		TH0,	#0FCH		;LED扫描周期1MS
	MOV		TL0,	#18H		
	MOV		TMOD,#01H
	mov	buf_led1,#90h
	mov	buf_led2,#90h
	mov	buf_led3,#90h
	mov	buf_led4,#90h
	MOV	BIN_LED1,#9
	MOV	BIN_LED2,#9
	MOV	BIN_LED3,#9
	MOV	BIN_LED4,#9	
	SETB		EA			;1MS
	SETB		ET0
	SETB		TR0
WAIT:	JB	SUB,SUB_L1
	LJMP	WAIT
SUB_L1:MOV A,BIN_LED1
	CLR	SUB	
	CJNE	A,#00H,SUB_EN
	LJMP	SUB_LED2
SUB_EN:DEC	BIN_LED1
	 MOV	A,BIN_LED1
	 MOV	DPTR,#LED_CODE
	 MOVC	A,@A+DPTR
	 MOV	BUF_LED1,A
SUB_EN1:LJMP	WAIT
SUB_LED2:MOV	BIN_LED1,#09
	   MOV	BUF_LED1,#90H
	   MOV	A,BIN_LED2
	   CJNE	A,#00H,SUB_EN2
	   LJMP	SUB_LED3
SUB_EN2:DEC		BIN_LED2
	  MOV	A,BIN_LED2
	 MOV	DPTR,#LED_CODE
	 MOVC	A,@A+DPTR
	 MOV	BUF_LED2,A
       LJMP	WAIT
SUB_LED3:MOV	BIN_LED2,#09
	   MOV	BUF_LED2,#90H
	   MOV	A,BIN_LED3
	   CJNE	A,#00H,SUB_EN3
	   LJMP	SUB_LED4
SUB_EN3:DEC		BIN_LED3
	  MOV	A,BIN_LED3
	 MOV	DPTR,#LED_CODE
	 MOVC	A,@A+DPTR
	 MOV	BUF_LED3,A
       LJMP	WAIT
SUB_LED4:MOV	BIN_LED3,#09
	   MOV	BUF_LED3,#90H
	   MOV	A,BIN_LED4
	   CJNE	A,#00H,SUB_EN4
	   LJMP	SUB_LED5
SUB_EN4:DEC		BIN_LED4
	  MOV	A,BIN_LED4
	 MOV	DPTR,#LED_CODE
	 MOVC	A,@A+DPTR
	 MOV	BUF_LED4,A
       LJMP	WAIT
SUB_LED5:LJMP  MAIN				
	   LJMP	MAIN		
;================================================定时器0,扫描LED

TT0:		MOV		TH0,	#0FCH
		MOV		TL0,	#18H
		PUSH		ACC
		PUSH		PSW
		INC		BUFF_LP
		MOV		A,	BUFF_LP
		CJNE		A,	#04H,		TT0_01
		MOV		BUFF_LP,	#00H
TT0_01:	MOV		A,	BUFF_LP
		RL		A
		MOV		DPTR,#LED_LOOP
		JMP		@A+DPTR
LED_LOOP:	AJMP		LED_L1
		AJMP		LED_L2
		AJMP		LED_L3
		AJMP		LED_L4
LED_L1:	CLR		LED1
		SETB		LED2
		SETB		LED3
		SETB		LED4
		MOV		P0,	BUF_LED1
		JMP		TT0_END
LED_L2:	SETB		LED1
		CLR		LED2
		SETB		LED3
		SETB		LED4
		MOV		P0,	BUF_LED2
		JMP		TT0_END
LED_L3:	SETB		LED1
		SETB		LED2
		CLR		LED3
		SETB		LED4
		MOV		P0,	BUF_LED3
		JMP		TT0_END
LED_L4:	SETB		LED1
		SETB		LED2
		SETB		LED3
		CLR		LED4
		MOV		P0,	BUF_LED4
		JMP		TT0_END
TT0_END:	INC		R2
		CJNE		R2,#100,TT0_END1
		MOV		R2,#00H
		SETB		SUB
TT0_END1:	POP		PSW
		POP	ACC
		RETI
		NOP
		NOP
		LJMP	000H

LED_CODE:DB 0C0H,0F9H,0A4H,0B0H,99H
	   DB	92H,82H,0F8H,80H,90H
END

⌨️ 快捷键说明

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