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

📄 595test.asm

📁 用89c52通过两片74hc595控制4位led显示
💻 ASM
字号:
									 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;以下定义IO口
; 各位轮流显示
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        SI           EQU     P1.4  ;595-14	  p1.3	串口数据输入 	
        RCK          EQU     P1.3  ;595-12	  p1.2	锁存控制
        SCK          EQU     P1.2  ;595-11	  p1.1	移位控制信号
	;	SI           EQU     P3.4  ;595-14	  p1.3		
    ;   RCK          EQU     P2.5  ;595-12	  p1.2	
    ;   SCK          EQU     P2.4  ;595-11	  p1.1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        
;;操作模式
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN:	MOV R0,#2FH
	MOV SP,R0
	CLR SI
	CLR SCK
	CLR RCK
	CLR A
	MOV R3,A
	;MOV B,#1
	;CLR F_SHIWEI
MAIN0:	MOV R2,#01H
MAIN1:	
	MOV R2,#9
	MOV 50H,#1
	MOV A,R2
	MOV R3,A
	MOV B,#01H
	LCALL SHITF
	;INC R2
	;CJNE R2,#0AH,DDE
	;AJMP MAIN0
	MOV 50H,#2
	MOV R3,#8
	MOV B,#01H			   ;当延时大于3时,显示会闪烁
	LCALL SHITF
	MOV 50H,#3
	MOV R3,#2
	MOV B,#01H
	LCALL SHITF
	MOV 50H,#4
	MOV R3,#1
	MOV B,#01H
	LCALL SHITF
;DDE:	MOV R2,#0d0h
DELAYA:	MOV B,#02H				;上次下次刷新的时间
	LCALL DELAY2
	;DJNZ R2,DELAYA
	ACALL MAIN1	 		
BITDEAL:	CLR A					;显示位数
	MOV A,50H
	ADD A,#01H
	MOVC A,@A+PC
	MOV R5,A
	RET
	DB 07H,		0BH,		0DH,	0EH	,0FH
	;  个位		十位		百位	千位
	;D 		C 	B 	A
	;个		十	百	千   低电平有效
	;0 		0 	0 	1		 01H 
	;0 		0 	1 	1		 03H
	;0 		1 	1	1		 07H
	;DB 03H,03H,03H,03H,03H,03H,03H,03H;,03H
WORDDEAL:	CLR A					;显示的字符
	MOV A,R3
	ADD A,#02H
	MOVC	A,@A+PC
	MOV R4,A
	RET
	DB 0C0H,0F9H,0A4H,0B0H,99H
	DB 92H,82H,0F8H,80H,98H,0FFH
SHITF:	;MOV B,#1			;移位处理
	;LCALL DELAY
	LCALL BITDEAL
	MOV A,R5
	MOV R6,#02H
SHITF1:	MOV R7,#08H
SHITF2:	RLC A
	MOV SI,C
	CLR  SCK
	NOP
	NOP
	;LCALL DELAY
	SETB SCK
	;MOV B,#01H		 ;4MS
	LCALL DELAY2
	DJNZ R7,SHITF2
	LCALL WORDDEAL
	MOV A,R4
	DJNZ R6,SHITF1
	MOV R7,#12H
STORAGE:	SETB RCK			 ;锁存处理 
	;MOV B,#1
	NOP
	NOP
	;LCALL DELAY
	CLR RCK
	;CLR RCK
	;MOV B,#01H
	

	LCALL DELAY2
	DJNZ R7,STORAGE
	RET
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;延时1 m s 
DELAY2:   MOV    R1,B
	  NOP
DELAY20:    MOV    DELBUF, #3BH
DEL21:     NOP
	  DJNZ    DELBUF,DEL21
	  NOP
	  NOP
	  NOP
	  DJNZ   R1,DELAY20
          RET
;;延时0.1 m s 
DELAY:   MOV    R1,#01h
	  NOP
DELAY0:    MOV    DELBUF, #3BH
DEL1:     NOP
	  DJNZ    DELBUF,DEL1
	  DJNZ   R1,DELAY0
          RET
END

⌨️ 快捷键说明

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