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

📄 led_show.asm

📁 LED显示
💻 ASM
字号:
	DATA_BUF BQU 30H
	POL equ P1.3    	;符号位
	CTRL_Pin1 equ P2.1	  ;万位选通端
	CTRL_Pin2 equ P2.2	  ;千位选通端
    CTRL_Pin3 equ P2.3	  ;百位选通端
    CTRL_Pin4 equ P2.0	  ;十位选通端
    CTRL_Pin5 equ P2.4    ;个位选通端
	
 ;--------------------------------------------------------------------------------------------------
 		ORG 0000H
		LJMP START
		ORG 0080H
START:	LCALL LED_SHOW
		SJMP $
LED_SHOW:	PUSH ACC			 ;保护现场		
			PUSH DPH
			PUSH DPL				

LOOP1:		CLR  CTRL_Pin5
			MOV	A,DATA_BUF		  ;万位调整
			ANL		A,#0FH

			MOV C,POL			  ;取出符号
			JC	SHOW_positive	  ;是正电压?
		;	CLR	7FH				  设负电压标志
		
			MOV A,#11				;置负1偏移量
			LCALL Get_LED
			MOV P0,A				;万位显示值设置---负1
			SETB  CTRL_Pin1
			SJMP NEXT1

SHOW_positive:	LCALL Get_LED
				MOV P0,A		  万;万位显示值设置——正1或0
				SETB CTRL_Pin1
				SJMP NEXT1

NEXT1:		CLR  CTRL_Pin1
			MOV	A,DATA_BUF+1		  ;千位调整
			SWAP A					
			ANL		A,#0FH
			LCALL Get_LED
			MOV P0,A			  ;千位显示值设置
			SETB  CTRL_Pin2
			
			CLR  CTRL_Pin2
			MOV	A,DATA_BUF+1		  ;百位调整
			ANL		A,#0FH
			LCALL Get_LED
			MOV P0,A			  ;百位显示值设置
			SETB  CTRL_Pin3

			CLR  CTRL_Pin3
			MOV	A,DATA_BUF+2		  ;十位调整
			SWAP A					
			ANL		A,#0FH
			LCALL Get_LED
			MOV P0,A			  ;十位显示值设置
			SETB  CTRL_Pin4

			CLR  CTRL_Pin4
			MOV	A,DATA_BUF+2		  ;个位调整
			ANL		A,#0FH
			LCALL Get_LED
			MOV P0,A			  ;个位显示值设置
			SETB  CTRL_Pin5
	
		;	POP DPL
		;	POP DPH
		;	POP ACC			 ;恢复现场		
			SJMP LOOP1

Get_LED:	PUSH	DPH				;读取表值,入口A,出口A
			PUSH	DPL
			MOV DPTR,#TAB1
			MOVC	A,@A+DPTR
			POP		DPL
			POP		DPH
			RET
TAB1:DB		0FAH,87H,0B9H,0ABH,0C3H,6BH,7BH,0A2H,0FBH,0EBH,86H	;分别表示0,1,2,3,4,5,6,7,8,9,-1

⌨️ 快捷键说明

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