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

📄 tc2004a-01测试测序.asm

📁 lcd0802的测试程序
💻 ASM
字号:
;***************************************************************************
;Title :字符20 02测试程序------广州铜铧电子有限公司
;Create by :XIONGLIANGLIN
;Date : 2004.8.24 *
;***************************************************************************
;连线图: *LCM---8031* *LCM---8031* *LCM------------8031*
;        *DB0---P1.0* *DB4---P1.4* *RS-------------P3.2*
;        *DB1---P1.1* *DB5---P1.5* *RW-------------P3.1*
;        *DB2---P1.2* *DB6---P1.6* *E--------------P3.0* (参见说明书)
;        *DB3---P1.3* *DB7---P1.7*
;注:8031的晶振频率为6MHz    此程序每行可以显示20个字符
;**************************************************************************
     RS    EQU   P3.2
     RW    EQU   P3.1
     E1     EQU   P3.0


     ORG   0000
     AJMP  MAIN
     ORG   0030H
MAIN:                ;主程序
    MOV    SP,#50H   ;堆栈地址设置为50H
    LCALL  INITIAL   ;初始化LCM
    LCALL  CGRAM     ;写入自定义字符
XIAN:MOV   P1,#0CH;开显示
    ACALL ENABLE
    MOV   DPTR,#PING1  ;06   11111    11111
    ACALL DISPLAY
    ACALL DELAY1
    MOV   P1,#01H ;清屏
    ACALL ENABLE
    MOV   DPTR,#PING2  ;03   00000    00000
    ACALL DISPLAY
    ACALL DELAY3
    MOV   DPTR,#PING5  ;01   10101    10101
    ACALL DISPLAY
    ACALL DELAY1
    MOV   P1,#01H ;清屏
    ACALL ENABLE
    MOV   DPTR,#PING6  ;02   01010    01010
    ACALL DISPLAY
    ACALL DELAY1
    MOV   P1,#01H ;清屏
    ACALL ENABLE
    MOV   DPTR,#PING3  ;04   11111    00000
    ACALL DISPLAY
    ACALL DELAY1
    MOV   P1,#01H ;清屏
    ACALL ENABLE
    MOV   DPTR,#PING4  ;05   00000    11111
    ACALL DISPLAY
    ACALL DELAY1
    MOV   P1,#01H ;清屏
    ACALL ENABLE
    MOV   P1,#80H ;DDRAM中显示位置   第7屏特殊处理
    ACALL ENABLE
    MOV   DPTR,#PING7S
    MOV   P1,#080H;第一行位置
    ACALL ENABLE
    ACALL WRITE1
    MOV   DPTR,#PING7X
    MOV   P1,#0C0H;第二行位置
    ACALL ENABLE
    ACALL WRITE1
    ACALL DELAY1
    MOV   P1,#01H ;清屏
    ACALL ENABLE

    AJMP  XIAN

INITIAL:         ;初始化子程序
    MOV   P1,#01H;清除屏幕
    ACALL ENABLE
    MOV   P1,#38H;8位点阵方式
    ACALL ENABLE
    MOV   P1,#38H;8位点阵方式
    ACALL ENABLE
    MOV   P1,#38H;8位点阵方式
    ACALL ENABLE
    MOV   P1,#0CH;开显示
    ACALL ENABLE
    MOV   P1,#06H;移动光标
    ACALL ENABLE
    RET

CGRAM:           ;向CGRAM中写入自定义字符代码子程序
    MOV   P1,#08H;关显示
    ACALL ENABLE
    MOV   P1,#40H;设置CGRAM起始地址
    ACALL ENABLE
    MOV   DPTR,#ZIMO
    ACALL WRITE1
    MOV   P1,#0CH;开显示
    ACALL ENABLE
    RET

DISPLAY:          ;一屏画面显示子程序(需要先往DPTR中输入显示内容起始地址)
    MOV   P1,#80H ;DDRAM中显示位置
    ACALL ENABLE
   ; ACALL WRITE1
    MOV   P1,#080H;第一行位置
    ACALL ENABLE
    ACALL WRITE1
    MOV   P1,#0C0H;第二行位置
    ACALL ENABLE
    ACALL WRITE1


    RET

ENABLE:            ;写指令使能
    CLR   RS
    CLR   RW
    CLR   E1
    ACALL DELAY
    SETB  E1
    RET

WRITE1:            ;写数据子程序
    MOV   R1,#00H
 A1:MOV   A,R1
    MOVC  A,@A+DPTR
    CJNE  A,#00H,A2
    LJMP  A3
 A2:ACALL WRITE2
    INC   R1
    LJMP  A1
A3: RET

WRITE2:           ;写数据使能子程序
    MOV  P1,A
    SETB RS
    CLR  RW
    CLR  E1
    CALL DELAY
    SETB E1
    RET

DELAY:             ;SPLC780反应延时子程序
    MOV  R7,#6
 D1:MOV  R6,#255
 D2:DJNZ R6,D2
    DJNZ R7,D1
    RET
DELAY1:            ;每屏画面延时子程序
    MOV R5,#09h
 D3:MOV R6,#255
 D4:MOV R7,#255
    DJNZ R7,$
    DJNZ R6,D4
    DJNZ R5,D3
    RET
DELAY3:             ;清屏延时子程序
    MOV R5,#5h
 D5:MOV R6,#255
 D6:MOV R7,#255
    DJNZ R7,$
    DJNZ R6,D6
    DJNZ R5,D5
    RET

ZIMO:   DB    015H,015H,015H,015H,015H,015H,015H,015H  ;自定义字符代码  00   10101    10101
        DB    015H,015H,015H,015H,015H,015H,015H,015H  ;自定义字符代码  01   10101    10101
        DB    00AH,00AH,00AH,00AH,00AH,00AH,00AH,00AH  ;自定义字符代码  02   01010    01010
        DB    0E0H,0E0H,0E0H,0E0H,0E0H,0E0H,0E0H,0E0H  ;自定义字符代码  03   00000    00000
        DB    0FFH,0E0H,0FFH,0E0H,0FFH,0E0H,0FFH,0E0H  ;自定义字符代码  04   11111    00000
        DB    0E0H,0FFH,0E0H,0FFH,0E0H,0FFH,0E0H,0FFH  ;自定义字符代码  05   00000    11111
        DB    0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00H  ;自定义字符代码  06   11111    11111
PING1:  DB    006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,006H,000H
PING2:  DB    003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,003H,000H
PING3:  DB    004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,004H,000H
PING4:  DB    005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,005H,000H
PING5:  DB    001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,000H
PING6:  DB    002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,000H
PING7S: DB    041H,042H,043H,044H,045H,046H,047H,048H,049H,04AH,04BH,04CH,04DH,04EH,04FH,050H,051H,052H,053H,054H,041H,042H,043H,044H,045H,046H,047H,048H,049H,04AH,04BH,04CH,04DH,04EH,04FH,050H,051H,052H,053H,054H,000H
PING7X: DB    061H,062H,063H,064H,065H,066H,067H,068H,069H,06AH,06BH,06CH,06DH,06EH,06FH,070H,071H,072H,073H,074H,061H,062H,063H,064H,065H,066H,067H,068H,069H,06AH,06BH,06CH,06DH,06EH,06FH,070H,071H,072H,073H,074H,000H

;每行显示20各字
  END

⌨️ 快捷键说明

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