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

📄 led_display.asm

📁 51单片机用汇编实例 包括ad
💻 ASM
字号:
LED_DISPLAY:
	PUSH DPH
	PUSH DPL
	PUSH ACC

	MOV 3FH,#00H
	MOV 3EH,#00H
	MOV 3DH,#00H
	MOV 3CH,#00H
	MOV R5,#3FH
	MOV A,#81H           ;写8255控制字
	MOV DPTR,#7F03H
	MOVX @DPTR,A         ;C口为基本输入,A口、B口为输出
  
;*************************
; 变换数字,准备发送子程序
;*************************    
START:  
	MOV A,30H           ;转换为十进制数,只要十位数和个位数
	MOV B,#64H
	DIV AB
	MOV A,#0AH
	XCH A,B
	DIV AB
	SWAP A
	ADD A,B
	MOV 31H,A           ;转换结果在31H中

	MOV A,31H           ;拆字程序,送缓冲区
	MOV B,A               
	SWAP A
	ANL A,#0FH
	MOV 32H,A           ;十位数字送入32H
	MOV A,B
	ANL A,#0FH          ;个位数字送入33H
	MOV 33H,A

	MOV A,34H           ;转换为十进制数,只要十位数和个位数
	MOV B,#64H
	DIV AB
	MOV A,#0AH
	XCH A,B
	DIV AB
	SWAP A
	ADD A,B
	MOV 35H,A           ;转换结果在35H中

	MOV A,35H           ;拆字程序,送缓冲区
	MOV B,A
	SWAP A
	ANL A,#0FH          
	MOV 36H,A           ;十位数字送入36H
	MOV A,B
	ANL A,#0FH         
	MOV 37H,A           ;个位数字送入37H


;********************
; 8255程序
;********************
BEGIN:
	MOV R2,#0FEH   	    ;要发送的数据送入缓冲区
	MOV 3FH,36H        
	MOV 3EH,37H     
	MOV 3DH,32H        
	MOV 3CH,33H        

	ACALL DIS
	POP ACC
	POP DPL
	POP DPH
   
	RET
DIS:	
	PUSH ACC
	PUSH 00H
	PUSH 03H

	MOV A,#81H
	MOV DPTR,#7F03H
	MOVX @DPTR,A

	MOV R0,#3CH
	MOV R3,#0F7H
	MOV A,R3 

AGAIN:	MOV DPTR,#7F00H
	MOVX @DPTR,A
	MOV A,@R0

	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	
	MOV DPTR,#7F01H
	MOVX @DPTR,A
	ACALL DELAYTIME

	INC R0         ;在此处设置断点可以观察到一位一位的传送数字

	MOV A,R3
	JNB ACC.0,SONGWAN
	RR A
	MOV R3,A
	AJMP AGAIN     ;返回AGAIN送下一个数字
	
      
SONGWAN:MOV DPTR, #7F01H	;数据送完
	MOV A, #00H
	MOVX @DPTR, A         
	POP 03H
	POP 00H
	POP ACC
	RET
DELAYTIME:	
	MOV R7,#03H
DL0:	MOV R6,#0FFH
DL1:	DJNZ R6,DL1
	DJNZ R7,DL0
	RET

TAB:	DB 03FH,06H,05BH
	DB 04FH,066H,06DH
	DB 07DH,07H,07FH,06FH
   

⌨️ 快捷键说明

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