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

📄 2007-12-26lcd_tempkz.asm

📁 测温应用单片机控制
💻 ASM
📖 第 1 页 / 共 3 页
字号:
			LCALL	XS
KAD9:		
			LJMP	KEYEND
KEYLSN:		LJMP	KEYLS
					
	
KEYSB:		JB		P1.3,KEYLSN			;
			LCALL	YS20
			JNB		P1.3,$
			
KSBU1:		
			MOV		A,2CH
			CLR		C
			SUBB	A,#00
			JNZ		KSBU2
			MOV		A,7BH
			CJNE	A,#0CH,KSBU11
			MOV		7BH,#0BH
			LCALL	XS
			LJMP	KEYUP
KSBU11:	
			MOV		7BH,#0CH
			LCALL	XS
			LJMP	KEYEND
KSBU2:		
			MOV		A,2CH
			CLR		C
			SUBB	A,#01
			JNZ		KSBU3
			DEC		7AH
			MOV		A,7AH
			CJNE	A,#0FFH,KSBUV
			MOV		7AH,#09H
			LCALL	XS
			LJMP	KEYUP

KSBU3:
					
			MOV		A,2CH
			CLR		C
			SUBB	A,#02
			JNZ		KSBU4
			DEC		79H
			MOV		A,79H
			CJNE	A,#0FFH,KSBUV
			MOV		79H,#09H
			LCALL	XS
			LJMP	KEYUP

KSBU4:
					
			MOV		A,2CH
			CLR		C
			SUBB	A,#03
			JNZ		KSBU5
			DEC		78H
			MOV		A,78H
			CJNE	A,#0FFH,KSBUV
			MOV		78H,#09H
			LCALL	XS
			LJMP	KEYUP
KSBU5:
					
			MOV		A,2CH
			CLR		C
			SUBB	A,#04
			JNZ		KSBU6
			DEC		77H
			MOV		A,77H
			CJNE	A,#0FFH,KSBUV
			MOV		77H,#09H
			LCALL	XS
			LJMP	KEYUP
KSBUV:	
			
			LCALL	XS
			LJMP	KEYEND
KSBU6:
					
			MOV		A,2CH
			CLR		C
			SUBB	A,#05
			JNZ		KSBU7
			DEC		76H
			MOV		A,76H
			CJNE	A,#0FFH,KSBUV
			MOV		76H,#09H
			LCALL	XS
			LJMP	KEYUP
KSBU7:
					
			MOV		A,2CH
			CLR		C
			SUBB	A,#06
			JNZ		KSBU8
			DEC		75H
			MOV		A,75H
			CJNE	A,#0FFH,KSBUV
			MOV		75H,#09H
			LCALL	XS
			LJMP	KEYUP
KSBU8:
					
			MOV		A,2CH
			CLR		C
			SUBB	A,#07
			JNZ		KSBU9
			DEC		7CH
			MOV		A,7CH
			CJNE	A,#0FFH,KSBUV
			MOV		7CH,#09H
			LCALL	XS
KSBU9:		
			LJMP	KEYEND		
			
		
			LJMP	KEYEND
KEYLS:		JB		P1.2,KEYRS			;
			LCALL	YS20
			JNB		P1.2,$
			DEC		2EH	
			DEC		2CH
			MOV		A,2EH
			CJNE	A,#14,KEYLS0
			DEC		2EH
			
KEYLS0:
			CJNE	A,#9,KEYLS1
			MOV		2EH,#18
			MOV		2CH,#7
KEYLS1:
			MOV		DAT1,2EH;#10		;光标位置设置
			MOV		DAT2,2FH;#7
			
			LCALL	CURSORSET			;
			LJMP	KEYEND
KEYRS:		JB		P1.1,KEYUP			;
			LCALL	YS20
			JNB		P1.1,$
			INC		2EH
			INC		2CH
			MOV		A,2EH
			CJNE	A,#14,KEYRS0
			INC		2EH
			
KEYRS0:
			CJNE	A,#19,KEYRS1
			MOV		2EH,#10
			MOV		2CH,#0
KEYRS1:
			MOV		DAT1,2EH;#10		;光标位置设置
			MOV		DAT2,2FH;#7
			LCALL	CURSORSET			;
			LJMP	KEYEND
KEYZJ:		LJMP	KEYSUB1
KEYUP:	
			JB		P1.5,KEYEND			;
			LCALL	YS20
			JNB		P1.5,$
			MOV		2CH,#00H				;
			MOV		2DH,#00H				;
			MOV		2EH,#10					;光标位置设置
			MOV		2FH,#7
			CLR		2AH.0					;
			LCALL	CURSORSREST
KEYEND:		
			
KEYENDN:
			RET 

XS:			
			MOV		4BH,2BH
			MOV		40H,7CH
			MOV		41H,75H
			MOV		42H,76H
			MOV		43H,77H
			MOV		44H,#0AH
			MOV		45H,78H
			MOV		46H,79H
			MOV		47H,7AH
			MOV		48H,7BH
			SETB	RS1
			MOV		R0,#48H
			MOV		4CH,#50
			LCALL	DISPEN
			CLR		RS1
			RET

;*******************************************************************
;
;数据比较子程序
;
;*******************************************************************
DATACAMP:
			CLR		C
			MOV		A,2DH
			SUBB	A,7BH
			JNZ		DTCEND0
			LJMP	DTCJB
			
DTCEND0:	
			CLR		C
			MOV		A,3EH
			CJNE	A,7AH,DTCEND1
			LJMP	DTC01
DTCEND1:
			JNC 	DTCEND1A
			LJMP	DTCEND
DTCEND1A:
			LJMP	DTCJB
DTC01:
			CLR		C
			MOV		A,3DH
			CJNE	A,79H,DTCEND2
			LJMP	DTC02
DTCEND2:
			JNC 	DTCEND2A
			LJMP	DTCEND
DTCEND2A:
			LJMP	DTCJB
DTC02:
			CLR		C
			MOV		A,3CH
			CJNE	A,78H,DTCEND3
			LJMP	DTC03
DTCEND3:
			JNC 	DTCEND3A
			LJMP	DTCEND
DTCEND3A:
			LJMP	DTCJB
DTC03:
			CLR		C
			MOV		A,38H
			CJNE	A,77H,DTCEND4
			LJMP	DTC04
DTCEND4:
			JNC 	DTCEND4A
			LJMP	DTCEND
DTCEND4A:
			LJMP	DTCJB
DTC04:
			CLR		C
			MOV		A,37H
			CJNE	A,76H,DTCEND5
			LJMP	DTC05
DTCEND5:
			JNC 	DTCEND5A
			LJMP	DTCEND
DTCEND5A:
			LJMP	DTCJB
DTC05:
			CLR		C
			MOV		A,36H
			CJNE	A,75H,DTCEND6
			LJMP	DTC06
DTCEND6:
			JNC 	DTCEND6A
			LJMP	DTCEND
DTCEND6A:
			LJMP	DTCJB
DTC06:
			CLR		C
			MOV		A,35H
			CJNE	A,7CH,DTCEND7
			LJMP	DTC07
DTCEND7:
			JNC 	DTCEND7A
			LJMP	DTCEND
DTCEND7A:
			LJMP	DTCJB
DTC07:
			LCALL	MZCX
			LJMP	DTCOUT

DTCJB:		
			LCALL	JBCX
			LJMP	DTCOUT
DTCEND:		
			LCALL	MZCXN
DTCOUT:				
			RET	
	
DATAEQU:
			CLR		C
			MOV		A,2DH
			SUBB	A,7BH
			JNZ		DATAEND
			CLR		C
			MOV		A,3EH
			SUBB	A,7AH
			JNZ		DATAEND
		   	CLR		C
			MOV		A,3DH
			SUBB	A,79H
			JNZ		DATAEND
			CLR		C
			MOV		A,3CH
			SUBB	A,78H
			JNZ		DATAEND
			CLR		C
			MOV		A,38H
			SUBB	A,77H
			JNZ		DATAEND
			CLR		C
			MOV		A,37H
			SUBB	A,76H
			JNZ		DATAEND
			CLR		C
			MOV		A,36H
			SUBB	A,75H
			JNZ		DATAEND
			CLR		C
			MOV		A,35H
			SUBB	A,7CH
			JNZ		DATAEND
			LCALL	MZCX
			LJMP	DATEND
DATAEND:
			LCALL	MZCXN
DATEND:
			RET
		  
			
			
MZCX:										;满足要求
			MOV		DPTR,#PLCDM
			MOV		4AH,#0
			MOV		4BH,#8					;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			INC		4AH
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			RET
MZCXN:										;不满足要求
			MOV		DPTR,#PLCDM
			MOV		4AH,#1
			MOV		4BH,#8					;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			RET		
JBCX:										;警报
			MOV		DPTR,#PLCDM
			MOV		4AH,#0
			MOV		4BH,#8					;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#JBDM
			MOV		4AH,#0
			MOV		4BH,#10					;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#JBDM
			INC		4AH
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			MOV		4AH,#0
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			MOV		DPTR,#PLCDM
			MOV		4AH,#0
			INC		4BH
			INC		4BH						;X
								
			MOV		4CH,#70					;Y
			LCALL	SWXS
			RET
;*******************************************************************
;
;时间子程序
;
;*******************************************************************

TIMSUB:
			SETB	RS0						;
			SETB	RS1						;
			PUSH	ACC						;
			PUSH	ACC						;
			

			CLR		RS0						;
			CLR		RS1						;
			POP		ACC						;
			POP		ACC						;
			RET

;*******************************************************************
;
;点阵驱动子程序区
;
;*******************************************************************
;-------------------------------------------------------------------
;读状态寄存器

READ_STAT:
			MOV		DPTR,#C_ADD				;指令地址
			MOVX	A,@DPTR
			RET
;S1S0状态的判断,S0指令读写,S1数据读写

JUDS1S0:
			LCALL	READ_STAT				;调用读状态子程序
			ANL		A,#03H
			CLR		C
			SUBB	A,#03H
			JC		JUDS1S0
			RET

;S2状态的判断,S2 数据自动读状态

JUDS2:		
			LCALL	READ_STAT				;调用读状态子程序
			ANL		A,#04H
			CLR		C
			SUBB	A,#04H
			JC		JUDS2
			RET

;S3状态的判断,S3 数据自动写状态

JUDS3:		
			LCALL	READ_STAT				;调用读状态子程序
			ANL		A,#08H
			CLR		C
			SUBB	A,#08H
			JC		JUDS3
			RET

;S6状态的判断,S6 屏读/屏拷贝状态

JUDS6:		
			LCALL	READ_STAT				;调用读状态子程序
			ANL		A,#040H
			CLR		C
			SUBB	A,#040H
			JC		JUDS6
			RET

;读数据子程序,	出口DAT2

READ_DATA:
			LCALL	JUDS1S0
			MOV		DPTR,#D_ADD
			MOVX	A,@DPTR
			MOV		DAT2,A
			RET
;写参数子程序 ,入口A

WRIT_PAM:	
			MOV		DPTR,#D_ADD				;数据地址
			MOVX	@DPTR,A
			RET	  
WRIT_DATA:									;数据输入
			LCALL	JUDS1S0
			MOV		A,DAT2
			LCALL	WRIT_PAM
			RET

;写指令子程序,入口A

WRIT_ICN:
			MOV		DPTR,#C_ADD				;命令地址
			MOVX	@DPTR,A
			RET

WRIT_CODE:	   								;指令写入
			LCALL	JUDS1S0
			MOV		A,COM
			LCALL	WRIT_ICN
			RET

;写指令和数据子程序	,入口DAT1 DAT2 COM

WRITEICN_DATA:
WRITE_DBDAT:								;写双数据入口
			LCALL	JUDS1S0					;调用读状态子程序
			MOV		A,DAT1						
			LCALL	WRIT_PAM				;调用写参数子程序
WRITE_FLDAT:								;写单数据入口
			LCALL	JUDS1S0
			MOV		A,DAT2
			LCALL	WRIT_PAM
			
WRITE_NOP:	
			LCALL	WRIT_CODE				;写指令
			RET

;液晶驱动初始化

LCDINT:
			MOV		DAT1,#00H				;
			MOV		DAT2,#00H				;
			MOV		COM,#40H				;
			LCALL	WRITE_DBDAT				;
			MOV		DAT1,#020H				;
			MOV		DAT2,#00H				;
			MOV		COM,#41H				;
			LCALL	WRITE_DBDAT				;
			MOV		DAT1,#00H				;
			MOV		DAT2,#08H				;
			MOV		COM	,#42H				;
			LCALL	WRITE_DBDAT				;
			MOV		DAT1,#20H				;
			MOV		DAT2,#00H				;
			MOV		COM,#43H				;
		   	LCALL	WRITE_DBDAT				;
			
			MOV		DAT1,#04H				;光标位置设置
			MOV		DAT2,#08H				;
			MOV		COM,#21H				;
		   	LCALL	WRITE_DBDAT				;
			MOV		COM,#0A3H				;光标形状设置A0~A7
			LCALL	WRIT_CODE				;写指令
			MOV		COM,#080H				;光标方式,图形与文本显示
			LCALL	WRIT_CODE				;写指令
			MOV		COM,#09CH				;显示开关,控制光标,文本,图形
			LCALL	WRIT_CODE				;写指令
			RET

;光标设置 入口(DAT1低7位,DAT2低5位)表示光标地址
;	列0~01DH	行0~0FH				;


CURSORSET:
			;MOV		DAT1,#04H				;光标位置设置
			;MOV		DAT2,#08H				;
			MOV		COM,#21H				;

⌨️ 快捷键说明

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