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

📄 320240text5.asm

📁 液晶显示器LCM320240驱动程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	MOVX	@DPTR, A
	MOV	DPTR, #COM
	MOV	A, #5BH	        ;设置合成显示方式
	MOVX	@DPTR, A
	MOV	DPTR, #DAT
	MOV	A, #1CH	        ;参数,设置三重合成方式,
	MOVX	@DPTR, A	;显示一、三区为图形方式,底线坐标和文本图形混合显示
	MOV	DPTR, #COM
	MOV	A, #59H	        ;开显示
	MOVX	@DPTR, A
	MOV	DPTR, #DAT
	MOV	A, #54H	        ;参数,一、二、三显示但不闪烁,光标关闭
	MOVX	@DPTR, A
;***************************************************************
CLR_SCREEN:	                ;清除屏幕子程序
CLR_RAM:
	MOV	P4, #03H
	LCALL	ST_ADD
	MOV	DPTR, #DAT
	CLR	A
	MOV	R7, #0F0H
CL_S:
	MOV	R6, #40
CL_S1:
	MOVX	@DPTR, A	;送入数据0
	DJNZ	R6, CL_S1
	DJNZ	R7, CL_S
	RET
TRS_OK:
	RET
TRS_READY:
	RET
;************************************************
RDOT:
	CLR	CS	                                    ;
	MOV	30H, #0
	MOV	2CH, #0
NEXT_X:
	MOV	A, #0D8H
	LCALL	SHIFTO
	LCALL	SHIFTI
	ADD	A, 30H
	MOV	30H, A	       ;触摸位置横坐标
	MOV	A, 2CH
	ADDC	A, #0
	MOV	2CH, A
	MOV	31H, #0
	MOV	2CH, #0
NEXT_Y:
	MOV	A, #098H	;触摸位置纵坐标
	LCALL	SHIFTO
	LCALL	SHIFTI
	ADD	A, 31H
	MOV	31H, A
	MOV	A, 2CH
	ADDC	A, #0
	MOV	2CH, A
	SETB	CS
	RET
SHIFTO:	                       ;请参照ADS7843 控制时序图
	MOV	R0, #8
RRG:	RLC	A
	MOV	DI, C
	NOP
	SETB	DCK
	NOP
	NOP
	NOP
	NOP
	NOP
	CLR	DCK
	NOP
	NOP
	DJNZ	R0, RRG
	CLR	DI
	RET
SHIFTI:
	LCALL	DEL_20MS
; AD_WAIT: NOP
; JNB BY,AD_WAIT
AD_ok:	MOV	R0, #8
RBITG:	SETB	DCK
	NOP
	NOP
	NOP
	NOP
	NOP
	CLR	DCK
	NOP
	NOP
	MOV	C, DO
	RLC	A
	NOP
	DJNZ	R0, RBITG
	MOV	R0, #8
DUMP1:
	SETB	DCK
	NOP
	NOP
	CLR	DCK
	NOP
	NOP
	DJNZ	R0, DUMP1
	RET
DELC:
	MOV	R6, #20
DER1:
	MOV	R7, #200
DER:	NOP
	NOP
	NOP
	DJNZ	R7, DER
	DJNZ	R6, DER1
	RET
;*************************************
ACTIVE_ADS7843:                 ;初始化 ADS7843
	CLR	CS
	MOV	A, #0D8H	;ADS7843 控制字,Y 输出,8 位模式,差分输入,自动省电
	LCALL	SHIFTO
	LCALL	SHIFTI
	MOV	A, #098H	;ADS7843 控制字,X 输出,8 位模式,差分输入,自动省电
	LCALL	SHIFTO
	LCALL	SHIFTI2
	SETB	CS
	RET
SHIFTI2:
	MOV	R0, #8
RBITG2:	SETB	DCK
	NOP
	NOP
	NOP
	NOP
	NOP
	CLR	DCK
	NOP
	NOP
	MOV	C, DO
	RLC	A
	NOP
	DJNZ	R0, RBITG2
	MOV	R0, #8
DUMP2:
	SETB	DCK
	NOP
	NOP
	CLR	DCK
	NOP
	NOP
	DJNZ	R0, DUMP2
	RET
;*************************************************************
; 模块名称:DS1302.a51
; 功    能:实时时钟模块           时钟芯片型号:DS1302
; 说    明:(修改版)
; 程序设计:
;*********************************************************************/

;子程序名:Set1302
;功    能:设置DS1302 初始时间,并启动计时。
;说    明:
;调    用:RTInputByte
;入口参数:初始时间在:Second,Minute,Hour,Day,Month,Week.YearL(地址连续)
;出口参数:无
;影响资源:A B R0 R1 R4 R7
;设    计:
;**********************************************************
Set1302:
          CLR    T_RST
          CLR    T_CLK
          SETB   T_RST
          MOV    B,     #8EH        ;控制寄存器
          LCALL  RTInputByte  
          MOV    B,     #00H        ;写操作前WP=0
          LCALL  RTInputByte  
          SETB   T_CLK
          CLR    T_RST

          MOV    R0,    #32H;Second;
          MOV    R7,    #7        ;秒 分 时 日 月 星期 年
          MOV    R1,    #80H      ;秒写地址
S13021:   CLR    T_RST
          CLR    T_CLK
          SETB   T_RST
          MOV    B,     R1    ;写秒 分 时 日 月 星期 年 地址
          LCALL  RTInputByte  
          MOV    A,     @R0       ;写秒数据
          MOV    B,     A
          LCALL  RTInputByte  
          INC    R0
          INC    R1
          INC    R1
          SETB   T_CLK
          CLR    T_RST
          DJNZ   R7,    S13021
          CLR    T_RST
          CLR    T_CLK
          SETB   T_RST
          MOV    B,     #8EH        ;控制寄存器
          LCALL  RTInputByte  
          MOV    B,     #80H        ;控制,WP=1,写保护
          LCALL  RTInputByte  
          SETB   T_CLK
          CLR    T_RST
          RET
;**********************************************************
;子程序名:Get1302
;功    能:从DS1302 读时间
;说    明:
;调    用:RTInputByte,RTOutputByte
;入口参数:时间保存在:Second,Minute,Hour,Day,Month,Week.YearL
;出口参数:无
;影响资源:A B R0 R1 R4 R7
;设    计:zhaojunjie           
;**********************************************************
Get1302:      
          MOV    R0,    #32H;Second;
          MOV    R7,    #7
          MOV    R1,    #81H       ;秒地址
G13021:   CLR    T_RST
          CLR    T_CLK
          SETB   T_RST
          MOV    B,     R1     ;秒 分 时 日 月 星期 年 地址
          LCALL  RTInputByte  
          LCALL  RTOutputByte
          MOV    @R0,   A         ;秒
          INC    R0
          INC    R1
          INC    R1
          SETB   T_CLK
          CLR    T_RST
          DJNZ   R7,    G13021
          RET
;**********************************************************
;功    能:写1302一字节  (内部子程序)
;**********************************************************
RTInputByte:  
          MOV    R4,    #8
Inbit1:   MOV    A,     B
          RRC    A
          MOV    B,     A
          MOV    T_IO,  C
          SETB   T_CLK
          CLR    T_CLK
          DJNZ   R4,   Inbit1
          RET
;**********************************************************
;功    能:读1302一字节  (内部子程序)
;**********************************************************
RTOutputByte:
          MOV    R4,    #8
Outbit1:  MOV    C,     T_IO
          RRC    A
          SETB   T_CLK
          CLR    T_CLK
          DJNZ   R4,    Outbit1
          RET
	;****************图形点阵库*******************************
BMP_k2:
	DB	0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 00H,   00H,  00H,  03H,  00H,  00H,  00H,  03H 
	DB	0FFH, 0FFH, 0FFH, 0F3H,  00H,  00H,  00H,  13H,  7FH, 0FFH, 0FFH,  93H,  40H,  40H,  00H,  93H
	DB	 40H, 0C0H,  00H,  93H,  40H, 0C0H,  00H,  93H,  41H, 0C0H,  00H,  93H,  43H, 0C0H,  00H,  93H
	DB	 43H, 0FFH, 0FEH,  93H,  47H, 0FFH, 0FEH,  93H,  47H, 0FFH, 0FEH,  93H,  4FH, 0FFH, 0FEH,  93H
	DB	 5FH, 0FFH, 0FEH,  93H,  5FH, 0FFH, 0FEH,  93H,  7FH, 0FFH, 0FEH,  93H,  5FH, 0FFH, 0FEH,  93H
	DB	 5FH, 0FFH, 0FEH,  93H,  4FH, 0FFH, 0FEH,  93H,  47H, 0FFH, 0FEH,  93H,  47H, 0FFH, 0FEH,  93H
	DB	 43H, 0FFH, 0FEH,  93H,  43H, 0C0H,  00H,  93H,  41H, 0C0H,  00H,  93H,  40H, 0C0H,  00H,  93H
	DB	 40H, 0C0H,  00H,  93H,  40H,  40H,  00H,  93H,  7FH, 0FFH, 0FFH,  93H,  00H,  00H,  00H,  13H
BMP_k1:
	DB	0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0C0H,  00H,  00H,  00H, 0C0H,  00H,  00H,  00H
	DB	0CFH, 0FFH, 0FFH, 0FFH, 0C8H,  00H,  00H,  00H, 0C9H, 0FFH, 0FFH, 0FEH, 0C9H,  00H,  04H,  02H
	DB	0C9H,  00H,  06H,  02H, 0C9H,  00H,  06H,  02H, 0C9H,  00H,  07H,  02H, 0C9H,  00H,  07H,  82H
	DB	0C9H,  7FH, 0FFH,  82H, 0C9H,  7FH, 0FFH, 0C2H, 0C9H,  7FH, 0FFH, 0C2H, 0C9H,  7FH, 0FFH, 0E2H
	DB	0C9H,  7FH, 0FFH, 0F2H, 0C9H,  7FH, 0FFH, 0F2H, 0C9H,  7FH, 0FFH, 0FAH, 0C9H,  7FH, 0FFH, 0F2H
	DB	0C9H,  7FH, 0FFH, 0F2H, 0C9H,  7FH, 0FFH, 0E2H, 0C9H,  7FH, 0FFH, 0C2H, 0C9H,  7FH, 0FFH, 0C2H
	DB	0C9H,  7FH, 0FFH,  82H, 0C9H,  00H,  07H,  82H, 0C9H,  00H,  07H,  02H, 0C9H,  00H,  06H,  02H
	DB	0C9H,  00H,  06H,  02H, 0C9H,  00H,  04H,  02H, 0C9H, 0FFH, 0FFH, 0FEH, 0C8H,  00H,  00H,  00H
	;**************汉字点阵库************************
HZDOT1:
;南   CC4CF
DB 001H,080H,001H,080H,001H,0F0H,00FH,080H,003H,000H,003H,07CH,01FH,0CCH,036H,0CCH
DB 033H,0ECH,03FH,08CH,031H,0ECH,03FH,08CH,031H,0BCH,000H,01CH,000H,000H,000H,000H
HZDOT2:
;京   CBEA9
DB 003H,000H,001H,080H,000H,0FEH,0FFH,080H,000H,000H,001H,0F0H,00FH,030H,00CH,060H
DB 007H,0C0H,001H,080H,019H,0B0H,019H,09CH,031H,08CH,003H,080H,001H,080H,000H,000H
HZDOT3:
;东   CB6AB
DB 001H,080H,001H,080H,003H,000H,003H,0F8H,03EH,000H,007H,080H,00DH,080H,019H,0F8H
DB 01FH,080H,001H,080H,00DH,0B0H,00DH,098H,019H,08CH,033H,080H,001H,080H,000H,000H
HZDOT4:
;大   CB4F3
DB 003H,000H,003H,000H,003H,000H,003H,000H,003H,000H,003H,0F8H,03FH,000H,003H,000H
DB 007H,080H,006H,0C0H,00CH,060H,018H,030H,030H,01CH,060H,00FH,000H,000H,000H,000H
HZDOT5:
;智   CD6C7
DB 00CH,000H,00CH,000H,01BH,080H,01EH,03EH,037H,0E6H,07EH,06CH,00FH,07CH,019H,080H
DB 033H,0F0H,066H,030H,007H,0F0H,006H,030H,006H,030H,007H,0F0H,000H,030H,000H,000H
HZDOT6:
;能   CC4DC
DB 000H,0C0H,00CH,0C0H,00CH,0D8H,01EH,0F0H,037H,0CCH,07FH,0CCH,000H,07CH,03EH,0C0H
DB 036H,0C0H,03EH,0DCH,036H,0F3H,03EH,0C3H,036H,0C3H,03EH,07EH,000H,000H,000H,000H
HZDOT7:
;化   CBBAF
DB 000H,000H,001H,080H,00DH,080H,00DH,08CH,019H,098H,019H,0B0H,039H,0E0H,079H,0C0H
DB 0DBH,080H,01FH,083H,019H,083H,019H,083H,018H,0FFH,018H,000H,000H,000H,000H,000H
HZDOT8:
;系   CCFB5

⌨️ 快捷键说明

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