📄 tc2004a-01测试测序.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 + -