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

📄 ts124.asm

📁 HT1621程序,用于LCD显示程序.已测试过请放心使用
💻 ASM
字号:
;TS124   测试程序     HT1621    
;天正达电子   ZHM  2004   07  27

        LCDADD  EQU     22H
        LCDMM   EQU     23H
        DATAB   EQU     P3.7
        WRPIN   EQU     P1.5
        CSPIN   EQU     P1.7


        ORG     0000H
        LJMP    MAIN

        ORG     0003H
        LJMP    LINT0

        ORG     0100H
MAIN:   mov     IE,#81H
        MOV     IP,#01H
        MOV     TCON,#00H
        SETB    DATAB
        SETB    WRPIN
        SETB    CSPIN
        LCALL   DELAY1

        MOV     LCDMM,#01H	      ;turn on osc
        LCALL   LCDCM
        MOV     LCDMM,#03H            ;turn on lcd bias generator
        LCALL   LCDCM
        MOV     LCDMM,#29H            ;set "1/3 bias,4 commons"
        LCALL   LCDCM
        MOV     LCDMM,#18H	      ;on_chip RC oscillator
        LCALL   LCDCM
        MOV     LCDMM,#04H            ;disable time_base output
        LCALL   LCDCM

        



LOOP3:  MOV     DPTR,   #0500H		
        LCALL   WRCOM
        LCALL   DELAY1
	MOV     DPTR,   #0510H
        LCALL WRCOM
        LCALL DELAY1
        MOV     DPTR,   #0520H		
        LCALL   WRCOM
        LCALL   DELAY1
        MOV     DPTR,   #0530H
        LCALL   WRCOM
        LCALL   DELAY1
	MOV     DPTR,   #0540H	
        LCALL   WRCOM
        LCALL   DELAY1
	MOV     DPTR,   #0550H
        LCALL WRCOM
        LCALL DELAY1
        MOV     DPTR,   #0560H		
        LCALL   WRCOM
        LCALL   DELAY1
        MOV     DPTR,   #0570H
        LCALL   WRCOM
        LCALL   DELAY1
	MOV     DPTR,   #0580H
        LCALL WRCOM
        LCALL DELAY1
        MOV     DPTR,   #0590H		
        LCALL   WRCOM
        LCALL   DELAY1
        MOV     DPTR,   #05A0H
        LCALL   WRCOM
        LCALL   DELAY1           
 
        LJMP     LOOP3



WRb:    CLR     CSPIN              ;写1个数据字节
        MOV     R7,     #03H
        MOV     A,      #0A0H
WRB1:   RLC     A
        MOV     DATAB, C
        CLR     WRPIN
        SETB    WRPIN
        DJNZ    R7,     WRB1             ;101
        MOV     R7,     #06H             ;写6位地址
        MOV     A,      #00H
WRB2:   RLC     A
        MOV     DATAB,  C
        CLR     WRPIN
        SETB    WRPIN
        DJNZ    R7,     WRB2

        ;MOV     R2,     #02H                ;写2个字节数据
        MOV     A,R0
        MOV     R7,     #08H
        ;INC     DPTR
WRB3:   RRC     A
        MOV     DATAB,  C
        CLR    WRPIN
        SETB   WRPIN
        DJNZ   R7,      WRB3
        MOV     A,R1
        MOV     R7,     #08H
        ;INC     DPTR
WRB4:   RRC     A
        MOV     DATAB,  C
        CLR    WRPIN
        SETB   WRPIN
        DJNZ   R7,      WRB4
        ;DJNZ   R2,      LOOP7
        SETB   CSPIN
        SETB   DATAB
        RET


LCDCM:  CLR     CSPIN                  ;写命令
        MOV     A,      #80H
        MOV     R7,     #03H
LCM1:   RLC     A
        MOV     DATAB,  C        
        CLR     WRPIN        
        SETB    WRPIN
        DJNZ    R7,     LCM1

        MOV     R7,     #08H
        MOV     A,      LCDMM
LCM2:   RLC     A
        MOV     DATAB,  C        
        CLR     WRPIN        
        SETB    WRPIN        
        DJNZ    R7,     LCM2        
        CLR     DATAB        
        CLR     WRPIN        
        SETB    WRPIN       
        SETB    CSPIN        
        SETB    DATAB
        RET


WRCOM:  CLR     CSPIN              ;写16个数据字节
        MOV     R7,     #03H
        MOV     A,      #0A0H
LWR1:   RLC     A
        MOV     DATAB, C            ;;移动后的进位,用此位串行传送数据
        CLR     WRPIN
        SETB    WRPIN               
        DJNZ    R7,     LWR1             ;101
        MOV     R7,     #06H             ;写6位地址
        MOV     A,      #00H
LWR2:   RLC     A                           
        MOV     DATAB,  C
        CLR     WRPIN
        SETB    WRPIN
        DJNZ    R7,     LWR2

        MOV     R2,     #09H                ;写9个字节数据  ,连续传送, 地址自动加1
LOOP7:  MOV     A,      #00H
        MOVC    A,      @A+DPTR
        MOV     R7,     #08H
        INC     DPTR
LCM3:   RRC     A                          ; 含进位右移,   D0~D3  , D4~D7  一次两组   
        MOV     DATAB,  C
        CLR    WRPIN
        SETB   WRPIN
        DJNZ   R7,      LCM3
        DJNZ   R2,      LOOP7
        SETB   CSPIN
        SETB   DATAB
        RET

DELAY1: MOV   R3,#0bH
TM2:    MOV   R4,#0FFH
TM1:    MOV   R6,#0FFH
TM3:    DJNZ  R6,TM3
        DJNZ  R4,TM1
        DJNZ  R3,TM2
        RET


delay2:
       mov      r4,#9fh
de1:   mov      r6,#0ffh
de2:   djnz     r6,de2
       djnz     r4,de1
       ret

LINT0:  NOP
	NOP
	NOP
	NOP
        RETI
      

	ORG     0500H
        DB     0F1H,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH    ;0
        DB     01BH

	ORG     0510H
        DB     062H,060H,060H,060H,060H,060H,060H,060H    ;1
        DB     020H

	ORG     0520H
        DB     0D4H,0D7H,0D7H,0D7H,0D7H,0D7H,0D7H,0D7H    ;2
        DB     047H

        ORG     0530H
        DB     0E8H,0E5H,0E5H,0E5H,0E5H,0E5H,0E5H,0E5H    ;3
        DB     085H             

        ORG     0540H
        DB     07FH,07CH,07CH,07CH,07CH,07CH,07CH,07CH    ;4
        DB     0FCH 

        ORG     0550H
        DB     0A0H,0ADH,0ADH,0ADH,0ADH,0ADH,0ADH,0ADH    ;5
        DB     00DH
	
	ORG     0560H
        DB     0B5H,0BFH,0BFH,0BFH,0BFH,0BFH,0BFH,0BFH    ;6
        DB     05FH

	ORG     0570H
        DB     0EAH,0E8H,0E8H,0E8H,0E8H,0E8H,0E8H,0E8H    ;7 
        DB     0A8H

	ORG     0580H
        DB     0FFH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH    ;8  DISPLAY ALL
        DB     0FFH

	ORG     0590H
        DB     0E9H,0EDH,0EDH,0EDH,0EDH,0EDH,0EDH,0EDH    ;9
        DB     0EDH

        ORG     05A0H
        DB      00H,00H,00H,00H,00H,00H,00H,00H           ;clear all
        DB      00H


	END

⌨️ 快捷键说明

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