📄 ts1620-1.asm
字号:
;适用于TS1610,1620 模块
RS EQU P3.0
RW EQU P3.1
E EQU P3.2
;=======================
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: CALL LOOP
LOOP2: MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB0;送数据表3,SXJ1974@163.COM
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB1
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB2 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB3
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB4 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB5
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB6 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB7
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB8 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB9
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB10 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB11
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB12 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB13
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB14 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB15
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB16 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB17
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB18 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB19
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB20 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB21
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB22 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB23
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;显示第一行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB24 ;送数据表1111111111111111
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;第二行的位置
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TAB25
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL CG_WRITE ;调建立自定义字符子程序
MOV A,#80H
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TABDY ;设置字表首地址
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;设置DDRAM地址
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TABDY1
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LJMP LOOP2
;;;;;;;;;;;;;;;;;;;;;;;;;;;
LCALL CG_WRITE1 ;调建立自定义字符子程序
MOV A,#80H
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TABDY2 ;设置字表首地址
LCALL WRITE1
LCALL DELAY1
MOV A,#0C0H ;设置DDRAM地址
LCALL ENABLE
LCALL DELAY1
MOV DPTR,#TABDY2
LCALL WRITE1
LCALL DELAY1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
RET
;========================左滚动输入方式
MOV A,#01H ;清零
LCALL ENABLE
MOV A,#38H ;设置为16位两行字符,8位数据总线
LCALL ENABLE
MOV A,#0CH ;显示开关,关闭光标,没有闪烁
LCALL ENABLE
MOV A,#07H
LCALL ENABLE
LCALL DELAY1
AA: MOV A,#90H
LCALL ENABLE
LCALL DELAY1
LCALL AB1
MOV A,#0C1H
LCALL ENABLE
LCALL DELAY1
LCALL AB1
LCALL DELAY
LCALL DELAY
SJMP AA
AB1: MOV DPTR,#TABL
MOV R2,#0BH
MOV R3,#00H
L_1: MOV A,R3
MOVC A,@A+DPTR
LCALL WRITE3
LCALL DELAY1
INC R3
LCALL DELAY
LCALL DELAY
LCALL DELAY
DJNZ R2,L_1
RET
; LJMP LOOP2
;========================
CG_WRITE:MOV A,#40H ;设置CGRAM地址
LCALL ENABLE
LCALL DELAY1
MOV R2,#64 ;设置循环量
MOV R3,#00H
MOV DPTR,#CGTAB ;设置字模数据首地址
CG1: MOV A,R3
MOVC A,@A+DPTR
LCALL WRITE3
LCALL DELAY1
INC R3
DJNZ R2,CG1
RET
;=========================
CG_WRITE1:MOV A,#40H ;设置CGRAM地址
LCALL ENABLE
LCALL DELAY1
MOV R2,#64 ;设置循环量
MOV R3,#00H
MOV DPTR,#CGTAB1 ;设置字模数据首地址
CG2: MOV A,R3
MOVC A,@A+DPTR
LCALL WRITE3
LCALL DELAY1
INC R3
DJNZ R2,CG2
RET
;==================================
LOOP: LCALL DELAY
MOV A,#01H ;清零
LCALL ENABLE
MOV A,#38H ;设置为16位两行字符,8位数据总线
LCALL ENABLE
MOV A,#0CH ;显示开关,关闭光标,没有闪烁
LCALL ENABLE
MOV A,#06H ;设置增量方式,显示移位方式
LCALL ENABLE
RET
;==========================================
WRITE3: SETB RS
NOP
NOP
NOP
CLR RW
NOP
NOP
NOP
SETB E
NOP
NOP
MOV P1,A
LCALL DELAY1
NOP
NOP
CLR E
RET
;=====================
WRITE1: MOV R1,#16
AL: CLR A
MOVC A,@A+DPTR
LCALL WRITE2
INC DPTR
DJNZ R1,AL
RET
WRITE2: SETB RS
NOP
NOP
NOP
CLR RW
NOP
NOP
NOP
SETB E
NOP
NOP
MOV P1,A
LCALL DELAY1
NOP
NOP
CLR E
RET
ENABLE: CLR RS
NOP
NOP
NOP
CLR RW
NOP
NOP
NOP
SETB E
nop
nop
MOV P1,A
LCALL DELAY
NOP
NOP
CLR E
RET
;========================
DELAY: MOV R7,#255
D1: MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET
DELAY1: MOV R7,#25
D3: DJNZ R7,D3
RET
TAB0:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
TAB1:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
TAB2:DB 0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,
TAB3:DB 0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,
TAB4:DB 0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,
TAB5:DB 0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,0D1H,
;TAB2:DB "0000000000000000"
;TAB3:DB "0000000000000000"
;TAB4:DB "1111111111111111"
;TAB5:DB "1111111111111111"
TAB6:DB "2222222222222222"
TAB7:DB "2222222222222222"
TAB8:DB "3333333333333333"
TAB9:DB "3333333333333333"
TAB10:DB "4444444444444444"
TAB11:DB "4444444444444444"
TAB12:DB "5555555555555555"
TAB13:DB "5555555555555555"
TAB14:DB "6666666666666666"
TAB15:DB "6666666666666666"
TAB16:DB "7777777777777777"
TAB17:DB "7777777777777777"
TAB18:DB "8888888888888888"
TAB19:DB "8888888888888888"
TAB20:DB "9999999999999999"
TAB21:DB "9999999999999999"
TAB22:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
TAB23:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
TAB24:DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,
TAB25:DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,
; TAB24: DB 01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,
;TAB25:DB 08h,08h,08h,08h,08h,08h,08h,08h,08h,08h,08h,08h,08h,08h,08h,08h
CGTAB: DB 08H,0FH,12H,0FH,0AH,1FH,02H,02H ;"年"代码=00H
DB 0FH,09H,0FH,09H,0FH,09H,11H,00H ;"月"代码=01H
DB 1FH,11H,11H,1FH,11H,11H,1FH,00H ;"日"代码=02H
DB 00H,0EH,04H,1FH,0AH,11H,00H,00H ;"天"代码=03H
DB 0EH,00H,1FH,0AH,0AH,0AH,13H,00H ;"元"代码=04H
DB 00H,1FH,04H,0CH,0FH,0CH,1FH,00H ;"正"代码=05H
DB 04H,0AH,15H,04H,04H,04H,04H,00H
DB 17H,15H,15H,15H,15H,15H,17H,00H ;"10"代码=07H
DB 04H,04H,04H,04H,15H,0AH,04H,00H
CGTAB1: DB 00H,1FH,00H,1FH,00H,1FH,00H,1FH ;00H
DB 1FH,00H,1FH,00H,1FH,00H,1FH,00H ;01H
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH ;02H
DB 0AH,15H,0AH,15H,0AH,15H,0AH,15H ;03H
DB 15H,15H,15H,15H,15H,15H,15H,15H ;04H
DB 0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH ;05H
DB 04H,15H,0EH,1FH,0EH,15H,04H,04H ;06H
DB 1FH,15H,15H,1FH,15H,15H,15H,1FH ;07H
TABDY: DB 00H,01H,02H,03H,04H,05H,06H,07H,07H,00H,01H,02H,03H,04H,05H,06H
TABDY1:DB 0FEH,0FEH,"2004",00H,0FEH,07H,01H,0FEH,07H,02H,0FEH,0FEH,0FEH
TABDY2:DB 00H,01H,02H,03H,04H,05H,06H,07H,07H,06H,05H,04H,03H,02H,01H,00H
TABL: DB 4CH,65H,66H,74H,20H
DB 53H,63H,72H,6FH,6CH,6CH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -