📄 fm373-ht1621.asm
字号:
LCDMM EQU 23H
DATAB EQU P1.4
WRPIN EQU P1.5
CSPIN EQU P1.6
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP LINT0
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 初始化 ,01H开系统振荡 ,03HLCD ON,
; 28H BIAS1/2 DUTY1/4 ,04H 时基输出失效
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN:
SETB DATAB
SETB WRPIN
SETB CSPIN
MOV LCDMM,#01H
LCALL LCDCM
MOV LCDMM,#03H
LCALL LCDCM
MOV LCDMM,#28H
LCALL LCDCM
MOV LCDMM,#04H
LCALL LCDCM
LOOP3: LCALL CLRLCD1
MOV DPTR, #TAB1
LCALL WRCOM
LCALL CLRLCD
MOV DPTR, #TAB2
LCALL WRCOM
LCALL CLRLCD
MOV DPTR, #TAB3
LCALL WRCOM
LCALL CLRLCD
MOV DPTR, #TAB4
LCALL WRCOM
LCALL CLRLCD
sjmp loop3
;;;;;;;;;;;;;;;;清屏 ;;;;;;;;;;;;;;;;;;;
CLRLCD:
LCALL key
CLRLCD1: MOV DPTR, #TABC
LCALL WRCOM
ret
;;;;;;;;;;;; 写100类命令ID ;;;;;;;;;;;;;;;;;;;;
LCDCM: CLR CSPIN
MOV A, #80H ;100类
MOV R7, #03H
LCM1: RLC A
MOV DATAB,C
NOP
CLR WRPIN
NOP
NOP
NOP
SETB WRPIN
DJNZ R7, LCM1
MOV R7, #08H
MOV A, LCDMM
LCM2: RLC A
MOV DATAB,C
NOP
CLR WRPIN
NOP
NOP
NOP
NOP
SETB WRPIN
NOP
NOP
NOP
DJNZ R7, LCM2
NOP
NOP
NOP
NOP
CLR DATAB
NOP
CLR WRPIN
NOP
NOP
NOP
NOP
SETB WRPIN
NOP
NOP
NOP
NOP
SETB CSPIN
NOP
NOP
NOP
NOP
SETB DATAB
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 写101命令
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WRCOM:
CLR CSPIN
MOV R7, #03H ;101
MOV A, #0A0H
LWR1:
RLC A
MOV DATAB,C
NOP
CLR WRPIN
NOP
NOP
NOP
SETB WRPIN
NOP
NOP
DJNZ R7, LWR1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 连写模式,发送6位ADDRES数据
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV R7, #06H ;6 addres
MOV A, #00H
LWR2: RLC A
MOV DATAB, C
NOP
NOP
NOP
NOP
NOP
CLR WRPIN
NOP
NOP
NOP
NOP
NOP
SETB WRPIN
NOP
NOP
DJNZ R7, LWR2
;;;;;;;;;;; 发送表数据,9个字节,8位;;;;;;;;;;;;;;;;;;;;;;;
MOV R2, #10H
LOOP7: MOV A, #00H ;
MOVC A, @A+DPTR
MOV R7, #08H
INC DPTR
LCM3: RRC A ;
MOV DATAB, C
NOP
CLR WRPIN
NOP
NOP
NOP
NOP
lcall DLY50
SETB WRPIN
NOP
DJNZ R7, LCM3
DJNZ R2, LOOP7
NOP
SETB CSPIN
NOP
SETB DATAB
NOP
RET
;;;;;;;;;;;;;;;;;; 按键,p2.0 ;;;;;;;;;;;;;;;;;
KEY:
MOV A,P2
JB ACC.0,KEY
CALL DLY50
CALL DLY50
JB ACC.0,KEY
RET
;;;;;;;;;;;;;;;;;;;; 延时;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DLY50:MOV R3,#01H
DL511:MOV R4,#0dH
DL522:MOV R6,#0AFH
DL533:DJNZ R6,DL533
DJNZ R4,DL522
DJNZ R3,DL511
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LINT0:NOP
NOP
NOP
NOP
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
tab1:
DB 05H,00H,86H,31H,87h,21h,07H,60H ;
DB 81H,61H,83H,71H,85H,00H,87H,71H
tab2:
DB 7aH,26H,7aH,26H,7aH,26H,7aH,26H ;
DB 7aH,26H,7aH,26H,7aH,26H,7aH,26H
tab3:
DB 00H,88H,00H,88H,00H,88H,00H,88H ;
DB 00H,88H,00H,88H,00H,88H,00H,88H
tab4:
DB 0ffH,0ffh,0ffH,0ffh,0ffH,0ffh,0ffH,0ffh ;
DB 0ffH,0ffh,0ffH,0ffh,0ffH,0ffh,0ffH,0ffh
tabC :
DB 00H,00H,00H,00H,00H,00H,00H,00H ;
DB 00H,00H,00H,00H,00H,00H,00H,00H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -