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

📄 tg16032b-01并口繁体测试测序.asm

📁 ST7920的繁体字和图片现实测试程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;*******************************************************************************
;TG16032B-01 series testing program
;NAME:ST7920(8BIT INTERFACE)
;EDITOR:xionglianglin
;CRYSTAL:6MHz
;data:2005.8.6
;*******************************************************************************
;connector define
RS      bit     P3.0           ;RS
RW      bit     P3.1           ;RW
E       bit     P3.2           ;E
PSB     bit     P3.3
RESET   bit     P3.4
;register define
EXSET   EQU     30H
NXSET   EQU     31H
ROW     EQU     32H  ;行位置寄存器
COL     EQU     34H  ;列位置寄存器
COUNT1  EQU     35H  ;计数器一
COUNT2  EQU     40H  ;计数器二
DAT     EQU     36H
SHUJU   EQU     2FH
;***********程序开始************************************
        ORG     0000H                   ;BEGIN
        AJMP     MAIN
        ORG     0180H
;***********主程序**************************************
MAIN:   MOV   SP,#50H
        SETB  PSB
        MOV   EXSET,#00111110B    ;开图形显示,进入扩展指令模式
        MOV   NXSET,#00111010B    ;开图形显示,进入基本指令模式
        LCALL INITIAL
        MOV   DAT,#000H
        LCALL CLEAR
        MOV   DPTR,#PICTURE1
        LCALL TUXING
        LCALL DELAY
        MOV   DAT,#0AAH           ;竖线10101010     AA
        LCALL CLEAR
        LCALL DELAY
        MOV   DAT,#55H            ;竖线01010101     55
        LCALL CLEAR
        LCALL DELAY
        MOV   DAT,#0FFH            ;横线 00
        LCALL HENGX
        LCALL DELAY
        MOV   DAT,#000H            ;横线 FF
        LCALL HENGX
        LCALL DELAY
        MOV   DAT,#080H            ;斜线////////
        LCALL XIEX
        LCALL DELAY

        MOV   DAT,#00H
        LCALL CLEAR
        LCALL TEXT
        LCALL CLRTEXT
        MOV   DAT,#0FFH           ;
        LCALL CLEAR
        LCALL DELAY
        LJMP  MAIN
;*****************图形子程序***************************
;
TUXING: MOV   ROW,#00H
        MOV   COL,#00H
        MOV   COUNT2,#32
    TU1:MOV   COUNT1,#10
        MOV   A,EXSET         ;开图形显示,进入扩展指令模式
        LCALL WRINS
        MOV   A,0CH           ;SL=1 leave sleep mode
        MOV   A,ROW           ;first write vertical address
        SETB  ACC.7
        LCALL WRINS
        MOV   A,COL           ;second write horizontal address
        SETB  ACC.7
        LCALL WRINS
        MOV   A,NXSET         ;开图形显示,进入基本指令模式
        LCALL WRINS

    TU2:MOV   A,#00H
        MOVC  A,@A+DPTR
        LCALL WRDATA
        INC   DPTR
        MOV   A,#00H
        MOVC  A,@A+DPTR
        LCALL WRDATA
        INC   DPTR
        DJNZ  COUNT1,TU2
        INC   ROW
        MOV   COL,#00H
        DJNZ  COUNT2,TU1



    
        RET
;*****************图形模式清屏子程序***************************
;IN: DAT
CLEAR:  MOV   ROW,#00H
        MOV   COL,#00H
        MOV   COUNT2,#32
    CL1:MOV   COUNT1,#10
        MOV   A,EXSET         ;开图形显示,进入扩展指令模式
        LCALL WRINS
        MOV   A,0CH           ;SL=1 leave sleep mode
        MOV   A,ROW           ;first write vertical address
        SETB  ACC.7
        LCALL WRINS
        MOV   A,COL           ;second write horizontal address
        SETB  ACC.7
        LCALL WRINS
        MOV   A,NXSET         ;开图形显示,进入基本指令模式
        LCALL WRINS

    CL2:MOV   A,DAT
        LCALL WRDATA
        MOV   A,DAT
        LCALL WRDATA
        DJNZ  COUNT1,CL2
        INC   ROW
        MOV   COL,#00H
        DJNZ  COUNT2,CL1

        
        RET
;*****************图形状态下横线子程序***************************
;IN: DAT
HENGX:  MOV   ROW,#00H
        MOV   COL,#00H
        MOV   COUNT2,#32
    HX1:MOV   COUNT1,#10
        MOV   A,EXSET         ;开图形显示,进入扩展指令模式
        LCALL WRINS
        MOV   A,0CH           ;SL=1 leave sleep mode
        MOV   A,ROW           ;first write vertical address
        SETB  ACC.7
        LCALL WRINS
        MOV   A,COL           ;second write horizontal address
        SETB  ACC.7
        LCALL WRINS
        MOV   A,NXSET         ;开图形显示,进入基本指令模式
        LCALL WRINS

    HX2:MOV   A,DAT
        LCALL WRDATA
        MOV   A,DAT
        LCALL WRDATA
        DJNZ  COUNT1,HX2
        INC   ROW
        MOV   COL,#00H
        MOV   A,DAT
        CPL   A
        MOV   DAT,A
        DJNZ  COUNT2,HX1

       
        RET
;*****************图形状态下斜线子程序***************************
;IN: DAT
XIEX:   MOV   ROW,#00H
        MOV   COL,#00H
        MOV   COUNT2,#32
    XX1:MOV   COUNT1,#10
        MOV   A,EXSET         ;开图形显示,进入扩展指令模式
        LCALL WRINS
        MOV   A,0CH           ;SL=1 leave sleep mode
        MOV   A,ROW           ;first write vertical address
        SETB  ACC.7
        LCALL WRINS
        MOV   A,COL           ;second write horizontal address
        SETB  ACC.7
        LCALL WRINS
        MOV   A,NXSET         ;开图形显示,进入基本指令模式
        LCALL WRINS

    XX2:MOV   A,DAT
        LCALL WRDATA
        MOV   A,DAT
        LCALL WRDATA
        DJNZ  COUNT1,XX2
        INC   ROW
        MOV   COL,#00H
        MOV   A,DAT
        RL    A
        MOV   DAT,A
        DJNZ  COUNT2,XX1

       
        RET
;*****************初始化子程序***************************
;
INITIAL:CLR   RESET
        LCALL DELAY200us
        SETB   RESET
        MOV   A,#38H          ;function set   DL--8 bit MPU bus interface set
        LCALL WRINS
        LCALL DELAY200us
        MOV   A,#38H          ;function set   RE--basic instruction set
        LCALL WRINS
        LCALL DELAY200us
        MOV   A,#38H          ;function set   x
        LCALL WRINS
        LCALL DELAY200us

        MOV   A,#01H          ;display clear screen
        LCALL WRINS
        LCALL DELAY
        MOV   A,#06H          ;entry mode set  I/D=1
        LCALL WRINS
        LCALL DELAY200us
        MOV   A,#0CH          ;display on
        LCALL WRINS
        LCALL DELAY200us
        RET
;*****************文本模式下写汉字&字符子程序****************************
;
TEXT:   MOV   A,#00111000B         ;关图形显示,进入基本指令模式
        LCALL WRINS
        LCALL DELAY200us
        MOV   A,#80H               ;SET DDRAM ADDRESS
        LCALL WRINS
        MOV   COUNT1,#64
        MOV   A,#041H
    TE1:LCALL WRDATA               ;写字符
        INC   A
        DJNZ  COUNT1,TE1
        LCALL DELAY

⌨️ 快捷键说明

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