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

📄 tg12864e 并口简体测试测序.asm

📁 TG12864E-02串口测试程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;*******************************************************************************
;TG12864E 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,#08
        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

        MOV   ROW,#00H
        MOV   COL,#08H
        MOV   COUNT2,#32

     TU3:MOV   COUNT1,#08
        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

    TU4:MOV   A,#00H
        MOVC  A,@A+DPTR
        LCALL WRDATA
        INC   DPTR
        MOV   A,#00H
        MOVC  A,@A+DPTR
        LCALL WRDATA
        INC   DPTR
        DJNZ  COUNT1,TU4
        INC   ROW
        MOV   COL,#08H
        DJNZ  COUNT2,TU3
        RET
;*****************图形模式清屏子程序***************************
;IN: DAT
CLEAR:  MOV   ROW,#00H
        MOV   COL,#00H
        MOV   COUNT2,#32
    CL1:MOV   COUNT1,#08
        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

        MOV   ROW,#00H
        MOV   COL,#08H
        MOV   COUNT2,#32

    CL3:MOV   COUNT1,#08
        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

    CL4:MOV   A,DAT
        LCALL WRDATA
        MOV   A,DAT
        LCALL WRDATA
        INC   DPTR
        DJNZ  COUNT1,CL4
        INC   ROW
        MOV   COL,#08H
        DJNZ  COUNT2,CL3
        RET
;*****************图形状态下横线子程序***************************
;IN: DAT
HENGX:  MOV   ROW,#00H
        MOV   COL,#00H
        MOV   COUNT2,#32
    HX1:MOV   COUNT1,#08
        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

        MOV   ROW,#00H
        MOV   COL,#08H
        MOV   COUNT2,#32

    HX3:MOV   COUNT1,#08
        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

    HX4:MOV   A,DAT
        LCALL WRDATA
        MOV   A,DAT
        LCALL WRDATA
        INC   DPTR
        DJNZ  COUNT1,HX4
        INC   ROW
        MOV   COL,#08H
        MOV   A,DAT
        CPL   A
        MOV   DAT,A
        DJNZ  COUNT2,HX3
        RET
;*****************图形状态下斜线子程序***************************
;IN: DAT
XIEX:   MOV   ROW,#00H
        MOV   COL,#00H
        MOV   COUNT2,#32
    XX1:MOV   COUNT1,#08
        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

        MOV   ROW,#00H
        MOV   COL,#08H
        MOV   COUNT2,#32

    XX3:MOV   COUNT1,#08
        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

    XX4:MOV   A,DAT
        LCALL WRDATA
        MOV   A,DAT
        LCALL WRDATA
        INC   DPTR
        DJNZ  COUNT1,XX4
        INC   ROW
        MOV   COL,#08H
        MOV   A,DAT
        RL    A

⌨️ 快捷键说明

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