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

📄 汉字式lcd滚动显示.asm

📁 基于Proteus的51系列单片机设计与仿真
💻 ASM
字号:
       RS    BIT     P1.7
       RW    BIT     P1.6
       E     BIT     P1.5
       CS1   BIT     P1.1
       CS2   BIT     P1.2       
       ORG    0000H
       MOV    SP,    #5FH
       MOV  DPTR,  #TAB
       MOV   R0,    #0B8H        ;设置页码
       MOV   R1,    #8
START: ACALL  INIT               ;设置第一个的相关程序
       ACALL  DISPLAY
       INC    R0   ;设置第二页的相关程序,三页,四页~八页并显示相关的字符
       DJNZ   R1,  START     
       MOV   R0,    #0B8H        ;设置页码
       MOV   R1,    #8
START1:ACALL  INIT1                ;设置第二个的相关程序
       ACALL   DISPLAY
       INC    R0    ;设置第二页的相关程序,三页,四页~八页并显示相关的字符
       DJNZ   R1,  START1
       ACALL DELAY1       ;显示完之后延时一下
       ACALL DELAY1
       ACALL DELAY1
       ACALL DELAY1
       ACALL DELAY1
       ACALL DELAY1
RR1:   MOV    R0,  #0C0H
       MOV    R1,  #00H
RRR:   MOV    P2,  R0
       CLR    CS1
       clr    CS2         
       ACALL  READY
       ACALL  DELAY1
       INC    R0
       INC    R1
       CJNE   R1,  #100,   RRR
       AJMP   RR1                           
;向上滚动程序   此处100的意思是向上滚动64行之后就停留一段时间再接着循环滚动                                          
DELAY1:MOV    R5,  #0FFH
    EN:MOV    R4,  #0FFH
       DJNZ   R4,  $
       DJNZ   R5,  EN
       RET
;驱动初始化程序
INIT:  CLR   CS1            ;选择第一个64*64模块             
       SETB  CS2
       AJMP  MODEL
INIT1:SETB   CS1           ;选择第二个64*64模块    
      CLR    CS2
MODEL: MOV   P2,     #3FH
       ACALL READY
       MOV   P2,     #0C0H
       ACALL READY
       MOV   P2,     R0
       ACALL READY
       MOV   P2,    #40H
       ACALL READY
       RET
READY: CLR   RS
       CLR   RW
       CLR   E
       ACALL DELAY
       SETB  E
       RET
DELAY: MOV   R7,   #30
       DJNZ  R7,   $
       RET
DISPLAY:MOV  R6,    #64               ;显示程序
  X:    CLR  A
        MOVC A,     @A+DPTR
	MOV  P2,    A
	ACALL  SHEZHI
	INC  DPTR
	DJNZ R6,    X
	RET
SHEZHI: SETB  RS
        CLR   RW
        CLR   E
	ACALL DELAY
	SETB  E
	RET
;字符库模块
TAB:
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0  设置第一个64*64第1页的相关字
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0 
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0  ;设置第2页的相关字
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 08H,0F8H,08H,08H,08H,08H,0F0H,00H
 DB 80H,80H,80H,00H,80H,80H,80H,00H
 DB 00H,00H,80H,80H,80H,80H,00H,00H
 DB 00H,80H,80H,0E0H,80H,80H,00H,00H
 DB 00H,00H,80H,80H,80H,80H,00H,00H;设置第3页的相关字
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H;" ",1
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 20H,3FH,21H,01H,01H,01H,00H,00H;"P",3
 DB 20H,20H,3FH,21H,20H,00H,01H,00H
 DB 00H,1FH,20H,20H,20H,20H,1FH,00H;"o",5
 DB 00H,00H,00H,1FH,20H,20H,00H,00H
 DB 00H,1FH,22H,22H,22H,22H,13H,00H;"e",7;设置第4页的相关字
 DB 00H,00H,0F8H,28H,29H,2EH,2AH
 DB 0F8H,28H,2CH,2BH,2AH,0F8H,00H,00H,00H;
 DB 00H,00H,00H,0FEH,10H,10H,10H,10H
 DB 10H,1FH,10H,10H,10H,18H,10H,00H;
 DB 08H,08H,0C8H,0FFH,48H,88H,08H,00H
 DB 0FEH,02H,02H,02H,0FEH,00H,00H,00H;   
 DB 40H,41H,0CEH,04H,00H,80H,40H,0BEH
 DB 82H,82H,82H,0BEH,0C0H,40H,40H,00H;    ;设置第5页的相关字 
 DB 08H,08H,0BH,09H,09H,09H,09H,0FFH
 DB 09H,09H,09H,09H,0BH,08H,08H,00H;"单",0
 DB 80H,40H,30H,0FH,01H,01H,01H,01H
 DB 01H,01H,01H,0FFH,00H,00H,00H,00H;"片",1
 DB 04H,03H,00H,0FFH,00H,41H,30H,0CH
 DB 03H,00H,00H,00H,3FH,40H,78H,00H;"机",2
 DB 00H,00H,7FH,20H,90H,80H,40H,43H
 DB 2CH,10H,10H,2CH,43H,0C0H,40H,00H;"设",3  设置第6页的相关字   
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0    ;设置第7页的相关字
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0 
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0   ;设置第8页的相关字
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0  ;设置第2个64*64第1页的相关字
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0    ;设置第2个64*64第2页的相关字
 DB 80H,80H,00H,00H,00H,80H,80H,00H
 DB 00H,00H,80H,80H,80H,80H,80H,00H  ;设置第2个64*64第3页的相关字
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,0E0H,10H,88H,88H,18H,00H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,0E0H,10H,08H,08H,10H,0E0H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,1FH,20H,20H,20H,10H,3FH,20H
 DB 00H,33H,24H,24H,24H,24H,19H,00H;"s",1 
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,0FH,11H,20H,20H,11H,0EH,00H;"6",3
 DB 00H,30H,30H,00H,00H,00H,00H,00H
 DB 00H,00H,31H,22H,22H,11H,0FH,00H;"9",5
 DB 00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H;" ",7  ;设置第2个64*64第4页的相关字                                                   
 DB 20H,21H,2EH,0E4H,00H,00H,20H,20H
 DB 20H,20H,0FFH,20H,20H,20H,20H,00H;
 DB 00H,00H,00H,00H,7EH,48H,48H,48H
 DB 48H,48H,48H,48H,48H,0CCH,08H,00H;
 DB 40H,20H,10H,0ECH,07H,0AH,08H,08H
 DB 0F9H,8AH,8EH,88H,88H,0CCH,88H,00H;
 DB 00H,04H,04H,04H,0F4H,54H,5CH,57H
 DB 54H,54H,54H,0F4H,04H,06H,04H,00H;  ;设置第2个64*64第5页的相关字;
 DB 00H,00H,00H,7FH,20H,10H,08H,00H
 DB 00H,00H,0FFH,00H,00H,00H,00H,00H;"计",0
 DB 00H,04H,04H,04H,04H,04H,04H,04H
 DB 04H,24H,46H,44H,20H,1FH,00H,00H;"与",1
 DB 00H,00H,00H,7FH,40H,20H,18H,06H
 DB 01H,10H,20H,40H,20H,1FH,00H,00H;"仿",2
 DB 10H,90H,90H,50H,5FH,35H,15H,15H
 DB 15H,35H,55H,5FH,90H,90H,10H,00H;"真",3 ;设置第2个64*64第6页的相关字;
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0    ;设置第2个64*64第7页的相关字;;
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H
 DB 40H,40H,80H,0F0H,80H,40H,40H,00H;"*",0 
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0
 DB 02H,02H,01H,0FH,01H,02H,02H,00H
 DB 02H,02H,01H,0FH,01H,02H,02H,00H;"*",0   ;设置第2个64*64第8页的相关字
END 


⌨️ 快捷键说明

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