📄 ts124.asm
字号:
;TS124 测试程序 HT1621
;天正达电子 ZHM 2004 07 27
LCDADD EQU 22H
LCDMM EQU 23H
DATAB EQU P3.7
WRPIN EQU P1.5
CSPIN EQU P1.7
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP LINT0
ORG 0100H
MAIN: mov IE,#81H
MOV IP,#01H
MOV TCON,#00H
SETB DATAB
SETB WRPIN
SETB CSPIN
LCALL DELAY1
MOV LCDMM,#01H ;turn on osc
LCALL LCDCM
MOV LCDMM,#03H ;turn on lcd bias generator
LCALL LCDCM
MOV LCDMM,#29H ;set "1/3 bias,4 commons"
LCALL LCDCM
MOV LCDMM,#18H ;on_chip RC oscillator
LCALL LCDCM
MOV LCDMM,#04H ;disable time_base output
LCALL LCDCM
LOOP3: MOV DPTR, #0500H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0510H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0520H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0530H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0540H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0550H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0560H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0570H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0580H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #0590H
LCALL WRCOM
LCALL DELAY1
MOV DPTR, #05A0H
LCALL WRCOM
LCALL DELAY1
LJMP LOOP3
WRb: CLR CSPIN ;写1个数据字节
MOV R7, #03H
MOV A, #0A0H
WRB1: RLC A
MOV DATAB, C
CLR WRPIN
SETB WRPIN
DJNZ R7, WRB1 ;101
MOV R7, #06H ;写6位地址
MOV A, #00H
WRB2: RLC A
MOV DATAB, C
CLR WRPIN
SETB WRPIN
DJNZ R7, WRB2
;MOV R2, #02H ;写2个字节数据
MOV A,R0
MOV R7, #08H
;INC DPTR
WRB3: RRC A
MOV DATAB, C
CLR WRPIN
SETB WRPIN
DJNZ R7, WRB3
MOV A,R1
MOV R7, #08H
;INC DPTR
WRB4: RRC A
MOV DATAB, C
CLR WRPIN
SETB WRPIN
DJNZ R7, WRB4
;DJNZ R2, LOOP7
SETB CSPIN
SETB DATAB
RET
LCDCM: CLR CSPIN ;写命令
MOV A, #80H
MOV R7, #03H
LCM1: RLC A
MOV DATAB, C
CLR WRPIN
SETB WRPIN
DJNZ R7, LCM1
MOV R7, #08H
MOV A, LCDMM
LCM2: RLC A
MOV DATAB, C
CLR WRPIN
SETB WRPIN
DJNZ R7, LCM2
CLR DATAB
CLR WRPIN
SETB WRPIN
SETB CSPIN
SETB DATAB
RET
WRCOM: CLR CSPIN ;写16个数据字节
MOV R7, #03H
MOV A, #0A0H
LWR1: RLC A
MOV DATAB, C ;;移动后的进位,用此位串行传送数据
CLR WRPIN
SETB WRPIN
DJNZ R7, LWR1 ;101
MOV R7, #06H ;写6位地址
MOV A, #00H
LWR2: RLC A
MOV DATAB, C
CLR WRPIN
SETB WRPIN
DJNZ R7, LWR2
MOV R2, #09H ;写9个字节数据 ,连续传送, 地址自动加1
LOOP7: MOV A, #00H
MOVC A, @A+DPTR
MOV R7, #08H
INC DPTR
LCM3: RRC A ; 含进位右移, D0~D3 , D4~D7 一次两组
MOV DATAB, C
CLR WRPIN
SETB WRPIN
DJNZ R7, LCM3
DJNZ R2, LOOP7
SETB CSPIN
SETB DATAB
RET
DELAY1: MOV R3,#0bH
TM2: MOV R4,#0FFH
TM1: MOV R6,#0FFH
TM3: DJNZ R6,TM3
DJNZ R4,TM1
DJNZ R3,TM2
RET
delay2:
mov r4,#9fh
de1: mov r6,#0ffh
de2: djnz r6,de2
djnz r4,de1
ret
LINT0: NOP
NOP
NOP
NOP
RETI
ORG 0500H
DB 0F1H,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH ;0
DB 01BH
ORG 0510H
DB 062H,060H,060H,060H,060H,060H,060H,060H ;1
DB 020H
ORG 0520H
DB 0D4H,0D7H,0D7H,0D7H,0D7H,0D7H,0D7H,0D7H ;2
DB 047H
ORG 0530H
DB 0E8H,0E5H,0E5H,0E5H,0E5H,0E5H,0E5H,0E5H ;3
DB 085H
ORG 0540H
DB 07FH,07CH,07CH,07CH,07CH,07CH,07CH,07CH ;4
DB 0FCH
ORG 0550H
DB 0A0H,0ADH,0ADH,0ADH,0ADH,0ADH,0ADH,0ADH ;5
DB 00DH
ORG 0560H
DB 0B5H,0BFH,0BFH,0BFH,0BFH,0BFH,0BFH,0BFH ;6
DB 05FH
ORG 0570H
DB 0EAH,0E8H,0E8H,0E8H,0E8H,0E8H,0E8H,0E8H ;7
DB 0A8H
ORG 0580H
DB 0FFH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH ;8 DISPLAY ALL
DB 0FFH
ORG 0590H
DB 0E9H,0EDH,0EDH,0EDH,0EDH,0EDH,0EDH,0EDH ;9
DB 0EDH
ORG 05A0H
DB 00H,00H,00H,00H,00H,00H,00H,00H ;clear all
DB 00H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -