dyn scan led.asm

来自「Proteus在MCS-51%26ARM7系统中的应用百例 Proteus在M」· 汇编 代码 · 共 41 行

ASM
41
字号
DBUF	EQU		30H              	;置存储区首址
TEMP    EQU    	40H              	;置缓冲区首址
		ORG     00H
		MOV     30H,#1           	;存入数据
       	MOV     31H,#6
       	MOV     32H,#8
       	MOV     33H,#1
       	MOV     34H,#6
       	MOV     35H,#8
       	MOV     R0,#DBUF
       	MOV     R1,#TEMP
       	MOV     R2,#6              	;6位显示器
       	MOV     DPTR,#SEGTAB   		;置段码表首址
DP00:  	MOV     A,@R0             	;取要显示的数据
       	MOVC    A,@A+DPTR          	;查表取段码
       	MOV     @R1,A             	;段码存入暂存器
       	INC    	R1
       	INC   	R0
       	DJNZ  	R2,DP00
DISP0: 	MOV     R0,#TEMP           	;显示子程序 
       	MOV     R1,#6             	;扫描6次
       	MOV     R2,#01H            	;决定数据动态显示方向
DP01:  	MOV     A,@R0
       	MOV     P0,A              	;段码输出
		MOV     A,R2               	;取位码
		MOV     P1,A               	;位码输出
		ACALL   DELAY              	;调用延时
		MOV     A,R2
		RL  	A
		MOV     R2,A
		INC 	R0
		DJNZ  	R1,DP01
		SJMP  	DISP0
SEGTAB: DB  	3FH,06H,5BH,4FH,66H         
        DB  	6DH,7DH,07H,7FH,6FH               
DELAY:  MOV		R4,#03H             ;延时子程序   
AA1:    MOV		R5,#0FFH
AA:     DJNZ	R5,AA
		DJNZ	R4,AA1
		RET
		END

⌨️ 快捷键说明

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