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

📄 16x16.asm

📁 最简单的16x16的显示屏,有原理图和实际硬件调试后通过的全部代码!一起交流,共同进步!
💻 ASM
字号:
         SCLK_595   EQU  P1.2   ;时钟
         SDATA_595  EQU  P1.1   ;数据
		 RCK_595    EQU  P1.0   ;锁存
		     H1     BIT   00H
				ORG 00H
				LJMP  START1
				ORG  0030H
START1:			MOV   DPTR,#TAB
START:   	    MOV  P0,#0FFH
                MOV  P2,#0FFH			
     	 	    MOV  R1,#0	   	;表变址
				MOV  R2,#8		;数据移位控制变量
				MOV  R3,#0	    ;行控制数
				MOV  R4,#0	    ;控制字的个数
				MOV  R5,#0FFH	;一个字显示次数
				MOV  R6,#0FEH   ;行初始值
				SETB  H1							 
WRITE:          MOV  A,R1
				MOVC A,@A+DPTR
				MOV  2AH,A		  //2AH送数据
				LCALL  WR_595	  //送一位数据
				INC   R1
				MOV   A,R1
				MOVC  A,@A+DPTR
				MOV  2AH,A
				LCALL WR_595
				LCALL  OUT_595	   //输出锁存
	            LCALL  OUT_8550	   //行输出
				MOV   P0,#0FFH
				MOV   P2,#0FFH
				INC   R1
				CJNE  R1,#32,WRITE  //一屏字幕显示完
				MOV  R1,#0	   	;表变址
				MOV  R2,#8		;数据移位控制变量
				MOV  R3,#0	    ;行控制数
				DJNZ  R5,START
				MOV   R5,#0FFH
                LJMP $
;---------------------------------------------------------------
;行输出子程序
;---------------------------------------------------------------
OUT_8550:	    

               JB  H1,P0KSC   //H1=1  P0口   H1=0  P2口
				
P2KSC: 		    MOV  A,R6
P2KSC1:   		INC  R3
                MOV  P2,A
				LCALL  DELAY
				RL   A
				MOV  R6,A
				CJNE R3,#8,LOOP
				SETB  H1
				MOV  R6,#0FEH
				MOV  R3,#00H
				MOV  P2,#0FFH
				RET
P0KSC:		    MOV A,R6	    //#0FEH
P0KSC1:		    INC  R3
                MOV  P0,A
				LCALL  DELAY
				RL  A
				MOV   R6,A
				CJNE R3,#8,LOOP
				CLR  H1
				MOV  R3,#00H
				MOV  P0,#0FFH
 LOOP:          RET	 
;---------------------------------------------------------------
;输出锁存器输出数据子程序
;---------------------------------------------------------------
OUT_595:
                CLR  RCK_595
                NOP
                SETB RCK_595      ;上升沿将数据送到输出锁存器
                NOP
                CLR  RCK_595
                RET
;--------------------------------------------------------------
;移位寄存器接收数据子程序
;--------------------------------------------------------------
WR_595:
                MOV R2,#08H
                MOV A,2AH
				cpl  a
WR_LOOP:		
                RLC A
                MOV SDATA_595,C
                SETB SCLK_595       ;上升沿发生移位
				NOP
                CLR SCLK_595
				NOP
                DJNZ R2,WR_LOOP
				MOV  R2,#8
                RET
;--------------------------------------------------------------
;延时子程序
;--------------------------------------------------------------
DELAY:
                MOV 43H,#14H           ; every LED(2ms)	 14H
   DL2:         MOV 44H,#14H
   DL1:
                DJNZ 44H,DL1
                DJNZ 43H,DL2
                RET
DELAY1:         MOV  7AH,#255
  DLL2:         MOV  7BH,#255
  DLL1:         DJNZ 7BH,DLL1
                DJNZ 7AH,DLL2
				RET

TAB2:
;大   CB4F3
DB 080H,000H,080H,000H,080H,000H,080H,000H
DB 080H,000H,0FFH,07FH,080H,000H,040H,001H
DB 040H,001H,040H,002H,020H,002H,020H,004H
DB 010H,008H,008H,018H,004H,070H,002H,020H 
TAB1:
;家   CBCD2
DB 040H,000H,080H,000H,0FCH,07FH,002H,020H
DB 0FAH,017H,080H,000H,040H,000H,0F0H,004H
DB 04EH,00DH,020H,003H,098H,003H,066H,00DH
DB 018H,071H,006H,021H,0A0H,000H,040H,000H
tab:
;好   CBAC3
DB 008H,000H,088H,03FH,008H,010H,008H,008H
DB 03FH,004H,024H,004H,024H,004H,0E4H,07FH
DB 022H,004H,026H,004H,018H,004H,010H,004H
DB 028H,004H,064H,004H,022H,005H,001H,002H 

;!   CA3A1
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 008H,000H,008H,000H,008H,000H,008H,000H
DB 008H,000H,008H,000H,008H,000H,008H,000H
DB 008H,000H,000H,000H,008H,000H,000H,000H

;  黑屏
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
END

⌨️ 快捷键说明

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