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

📄 new.txt

📁 122X32的点阵LCD的驱动程序
💻 TXT
字号:
      E1      EQU       P3.0
      E2      equ       p3.1  
      A0      EQU       P3.7
      RST     EQU       P3.6
      x       equ       30h  ;页地址
      y       equ       31h  ;列地址
      ;RW =>GND

            ORG  0000H
            LJMP MAIN

            ORG  0003H
            LJMP LINTO

            ORG  0100H

       MAIN: NOP
             clr ea  
             CLR E1
             CLR E2
             lcall init ;初始化模块 
             
             
            MOV 34H,#0ffH     ;显示所有点  
            LCALL DISPLAY_ALL
            lcall dly100
          
            MOV 34H,#00H      ;所有点不显示
            LCALL DISPLAY_ALL

            MOV R1,#0e3H   ;reset   
            LCALL WRI
 
            lcall plybw       ;显示黑白相间块
            lcall DLY100

            MOV 34H,#00H       ;清显示
            LCALL DISPLAY_ALL

            MOV R1,#0e3H   ;reset   
            LCALL WRI

            mov 31h,#0
            mov 30h,#0

            MOV 30H,#2          ;x 
            MOV 31H,#8          ;y 
            MOV DPTR,#HZI7  ;
            LCALL outhz
 
            MOV 30H,#2
            MOV 31H,#40
            MOV DPTR,#HZI8   ; 
            LCALL outhz

            MOV 30H,#0
            MOV 31H,#0
            MOV DPTR,#HZI1   ;
            LCALL outhz
    
            MOV 30H,#0
            MOV 31H,#16
            MOV DPTR,#HZI2   ;
            LCALL outhz

          
            MOV 30H,#0
            MOV 31H,#32
            MOV DPTR,#HZI5    ;
            LCALL outhz

            MOV 30H,#0
            MOV 31H,#48
            MOV DPTR,#HZI6    ;
            LCALL outhz
            
            LCALL DLY100	
            LJMP  MAIN     

            LINTO: NOP
                   NOP
                   RETI
	  		   		   		
init:        CLR RST       ;RESET
             LCALL DLY50
             LCALL DLY50
             LCALL DLY50
             LCALL DLY50

             setb rst
             MOV R1,#0aFH   ;DISPLAY ON   
             LCALL WRI

             MOV R1,#0C0H   ;START = 0   
             LCALL WRI

             MOV R1,#0a4H   ;driver   
             LCALL WRI

             MOV R1,#0a9h   ;duty 32   
             LCALL WRI

             MOV R1,#0a0H   ;adc   
             LCALL WRI

             MOV R1,#0e3H   ;reset   
             LCALL WRI
         

             MOV 34H,#00H
             LCALL DISPLAY_ALL
               ret

DISPLAY_ALL: MOV R1,#0e3H   ;reset   
             LCALL WRI

             MOV R7,#4        ;DISPLAY DATA= 34H
             MOV R2,#0B8H 
   LOP1:     MOV A,R2
             MOV R1,A  ; X+1
             LCALL WRI
             MOV R1,#00H   ; Y
             LCALL WRI
	
             MOV R5,#61
             MOV R1,#0e0H   ;RMW   
             LCALL WRI

   LOP11:    MOV R1,34H
             LCALL WRD 
             DJNZ R5,LOP11

             MOV R1,#0eeH   ;end   
             LCALL WRI

             INC R2
             DJNZ R7,LOP1

             ret  


   outhz:    MOV R1,#0e3H   ;reset  
             LCALL WRI

             ;30h=x (0-6)  31h=y(0-63-16)
             MOV R7,#2
             MOV A,#0B8H
             ADD A,30H   ;B8+X
             MOV 30H,A   ;A>>30H
   HZ2:    ; MOV A,R2
             MOV R1,30H  ; X+1
             LCALL WRI
             
             MOV A,#00H   ; Y
             ADD A,31H
            ; MOV 31H,A    ;40+Y   
             MOV R1,A
             LCALL WRI
             
             MOV R5,#16
             MOV R1,#0e0H   ;RMW   
             LCALL WRI

   HZ1:      MOV A,#00H 
             MOVC A,@A+DPTR     
             MOV R1,A 
             LCALL WRD
             LCALL DLY10  
             INC DPTR
             DJNZ R5,HZ1

             MOV R1,#0eeH   ;end  
             LCALL WRI


             INC 30H
             DJNZ R7,HZ2
             RET

 plybw:      MOV R1,#0e3H   ;reset   
             LCALL WRI

             mov 30h,#0
             mov 31h,#0
             mov dptr,#bw
             MOV R7,#4
             MOV A,#0B8H
             ADD A,30H   ;B8+X
             MOV 30H,A   ;A>>30H
   HZ2bw:    MOV R1,30H  ; X+1
             LCALL WRI
             
             MOV A,#00H   ; Y
             ADD A,31H
                          ;40+Y   
             MOV R1,A
             LCALL WRI
             
            
             MOV R5,#61
             MOV R1,#0e0H   ;RMW   
             LCALL WRI

   HZ1bw:    MOV A,#00H 
             MOVC A,@A+DPTR     
             MOV R1,A 
             LCALL WRD
             LCALL DLY10  
             INC DPTR
             DJNZ R5,HZ1bw

             MOV R1,#0eeH   ;end   
             LCALL WRI

             INC 30H
             DJNZ R7,HZ2bw
             RET


      WRI:          ;写指令子程序 
           CLR E1
           CLR E2
           CLR A0
           MOV P1,R1
           LCALL DLY10
           SETB E1
           setb E2
           LCALL DLY10
           CLR E1
           CLR E2
           LCALL DLY10
           LCALL DLY10
           LCALL DLY10
           RET

       WRD:           ; 写数据子程序
            CLR E1
            CLR E2
            SETB A0
            MOV P1,R1 
            LCALL DLY10
            SETB E1
            setb E2
            LCALL DLY10
            CLR E1
            CLR E2
            LCALL DLY10
            LCALL DLY10
            LCALL DLY10      
            RET

       
      DLY10:MOV R3,#01H
        DL1:MOV R4,#05H 
        DL2:MOV R6,#0fH
        DL3:DJNZ R6,DL3
            DJNZ R4,DL2
            DJNZ R3,DL1
            RET

      DLY50: MOV R3,#01H    
      DL111: MOV R4,#0fH
      DL222: MOV R6,#0afH 
        DL333:DJNZ R6,DL333
            DJNZ R4,DL222
            DJNZ R3,DL111
            RET


     DLY100:MOV R3,#06H
       DL11:MOV R4,#0ffH
       DL22:MOV R6,#0ffH
       DL33:DJNZ R6,DL33
             DJNZ R4,DL22
             DJNZ R3,DL11
             RET


;            ORG 0300H
;WELCOM:  DB 57H,65H,6CH,63H,6FH,6DH,65H,20H,20H,20H,20H,20H,20H,20H
;         DB 20H,20H,20H,20H,20H,20H
;            ORG 0320H
;TINSHARP:  DB 54H,49H,4EH,53H,48H,41H,52H,50H,20H,4CH,43H,4DH,20H,20H
;           DB 20H,20H,20H,20H,20H,20H
   
            ORG 0340H	
HZI1: ;
DB  00H, 00H,0fcH, 24H, 24H, 24H,0e4H, 04H, 3fH,0c4H, 05H,0c6H, 34H, 04H, 00H, 00H
DB  44H, 43H, 40H, 78H, 49H, 4aH, 79H, 48H, 7aH, 4aH, 49H, 7aH, 44H, 64H, 47H, 00H
HZI2: ;
DB  10H, 0cH, 44H, 44H, 44H, 44H, 45H,0c6H, 44H, 44H, 44H, 64H, 44H, 14H, 0cH, 00H
DB  00H, 40H, 40H, 42H, 42H, 42H, 42H, 7fH, 42H, 4aH, 5bH, 42H, 60H, 40H, 00H, 00H
HZI3: ;
;--  文字:  方  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  002H,000H,001H,000H,000H,080H,0FFH,0FEH,002H,000H,002H,000H,003H,0F0H,002H,010H
DB  004H,010H,004H,010H,008H,010H,008H,010H,010H,010H,020H,090H,0C0H,060H,000H,000H



HZI4: ;
;--  文字:  舟  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  001H,000H,002H,000H,00FH,0F0H,008H,010H,009H,010H,008H,090H,008H,010H,0FFH,0FEH
DB  008H,010H,00AH,010H,009H,090H,008H,090H,010H,010H,010H,010H,020H,050H,040H,020H

HZI5: ;
DB  00H, 00H, 80H, 40H, 30H, 0cH, 00H,0c0H, 06H, 18H, 20H, 40H, 80H, 80H, 80H, 00H
DB  01H, 01H, 00H, 30H, 28H, 24H, 23H, 20H, 20H, 28H, 30H, 60H, 00H, 01H, 00H, 00H
HZI6: ;
DB  10H, 10H, 92H, 92H, 92H, 92H, 92H, 92H,0d2H, 9aH, 12H, 02H,0ffH, 02H, 00H, 00H
DB  00H, 00H, 3fH, 10H, 10H, 10H, 10H, 10H, 3fH, 00H, 40H, 80H, 7fH, 00H, 00H, 00H
HZI7: ;
DB  40H, 20H, 10H,0fcH, 23H, 10H, 8cH, 67H, 04H,0f4H, 04H, 44H, 94H, 8cH, 00H, 00H
DB  40H, 30H, 00H, 77H, 80H, 81H, 88H, 92H,0b4H, 83H, 80H,0e0H, 00H, 11H, 60H, 00H
HZI8: ;
DB  10H, 10H,0f0H, 1fH, 10H,0f0H, 80H, 82H, 82H, 82H,0e2H, 92H, 8aH,0c6H, 80H, 00H
DB  40H, 22H, 15H, 08H, 14H, 63H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H
           
bw: 
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H

DB  00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB  00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB  00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB  00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH

DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H

DB  00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB  00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB  00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB  00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH

             END

⌨️ 快捷键说明

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