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

📄 1111.asm

📁 在传一些用另外一种方法控制的LED显示屏的原程序,看看.
💻 ASM
字号:
;---------------------------------------------------------------
; 说    明 : 行控制由P2.0--P2.6口;列由595控制,p1.1--CLK,P1.2--STB,P1.0--DATA
;---------------------------------------------------------------
         SCLK_595   EQU  P1.1   ;移位时钟脉冲
         RCK_595    EQU  P1.2   ;输出锁存器控制脉冲
         SDATA_595  EQU  P1.0   ;串行数据输入
;================================================
                ORG   0000H
                LJMP  MAIN
                ORG   0030H
;================================================
;初始化
;================================================
  MAIN:         MOV  P2,#0FFH
                MOV  R1,#0
                MOV  R2,#0
	      	MOV  R3,#0
 START:
                MOV  DPTR,#TAB
                MOV  A,R2
                MOVC A,@A+DPTR
		CPL  A
                MOV  2AH,A
                CALL OUT_595
                MOV  DPTR,#TAB1
                MOV  A,R1
                MOVC A,@A+DPTR
                MOV  P2,A
                LCALL   OUT_4953
                CALL DELAY
	        MOV  P2,#0FFH
                INC  R2
                MOV  A,R2
                CJNE A,#7,START   ;112
	        LJMP MAIN
;---------------------------------------------------------------
;行输出子程序
;---------------------------------------------------------------
OUT_4953:
                INC  R1
                CJNE R1,#7,LOOP
                MOV  R1,#00H
 LOOP:          NOP
                RET
;---------------------------------------------------------------
;输出锁存器输出数据子程序
;---------------------------------------------------------------
OUT_595:
                LCALL WR_595
                CLR  RCK_595
                NOP
                ;NOP
                SETB RCK_595      ;上升沿将数据送到输出锁存器
                NOP
                NOP
                NOP
                CLR  RCK_595
                RET
;--------------------------------------------------------------
;移位寄存器接收数据子程序
;--------------------------------------------------------------
WR_595:
                MOV R4,#08H
                MOV A,2AH
WR_LOOP:
                RLC A
                MOV SDATA_595,C
                SETB SCLK_595       ;上升沿发生移位
                NOP
                NOP
                CLR SCLK_595
                DJNZ R4,WR_LOOP
                RET
;--------------------------------------------------------------
;延时子程序
;--------------------------------------------------------------
DELAY:
                MOV 43H,#14H           ; every LED(2ms)
   DL2:         MOV 44H,#14H
   DL1:         DJNZ 44H,DL1
                DJNZ 43H,DL2
                RET
DELAY1:
                MOV 45H,#14H         
   DLL2:         MOV 46H,#14H
   DLL1:         MOV 47H,#10H
	DLL0:         DJNZ 47H,DLL0
                DJNZ 46H,DLL1
					 DJNZ 45H,DLL2
                RET
;---------------------------------------------------------------
;表子程序
;---------------------------------------------------------------
TAB: ;字库
db    70h, 88h, 80h, 98h, 88h, 78h, 00h    ;47h [G]
DB   04H,0AH,11H,11H,1FH,11H,11H


db    20h, 20h, 50h, 70h, 88h, 88h, 00h    ;41h [A]
db   0F0h, 88h,0F0h, 88h, 88h,0F0h, 00h    ;42h [B]
db    70h, 88h, 80h, 80h, 88h, 70h, 00h    ;43h [C]
db   0F0h, 88h, 88h, 88h, 88h,0F0h, 00h    ;44h [D]
db   0F0h, 80h,0E0h, 80h, 80h,0F0h, 00h    ;45h [E]
db   0F0h, 80h,0E0h, 80h, 80h, 80h, 00h    ;46h [F]
db    70h, 88h, 80h, 98h, 88h, 78h, 00h    ;47h [G]
db    90h, 90h,0F0h, 90h, 90h, 90h, 00h    ;48h [H]
db   0E0h, 40h, 40h, 40h, 40h,0E0h, 00h    ;49h [I]
db    20h, 20h, 20h, 20h,0A0h,0C0h, 00h    ;4Ah [J]
db    90h,0A0h,0C0h,0C0h,0A0h, 90h, 00h    ;4Bh [K]
db    80h, 80h, 80h, 80h, 80h,0E0h, 00h    ;4Ch [L]
db   0C6h,0C6h,0AAh,0AAh, 92h, 92h, 00h    ;4Dh [M]
db   0C8h,0C8h,0A8h,0A8h, 98h, 98h, 00h    ;4Eh [N]
db    70h, 88h, 88h, 88h, 88h, 70h, 00h    ;4Fh [O]
db   0E0h, 90h, 90h,0E0h, 80h, 80h, 00h    ;50h [P]
TAB1:  ;行表

  DB   7EH,7DH,7BH,77H,6FH,5FH,3FH

END



⌨️ 快捷键说明

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