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

📄 lcdcs.asm

📁 一个关于蓝海微芯LJK——ZN——3200的演示程序
💻 ASM
字号:
;********************************
;*         初始化程序           *
;* 关闭回复信号, 发触摸屏命令   *
;* 设定波特率9600, 串口中断方式 *
;********************************
 BMP_CHANG DATA  41H
 KEY_COUNT DATA  40H
 FLAG      DATA  21H
 ;******************************************************************
 ;*                                                                *
 ;* (X1H X1L,Y1H Y1L) _________________________                    *
 ;*                  |                         |                   *
 ;*                  |       (XH XL,YH YL)     |                   *
 ;*                  |                         |                   *
 ;*                  -------------------------- (X2H X2L,Y2H,Y2L)  *
 ;*                                                                *
 ;****************************************************************** 
 XH        DATA  30H
 XL        DATA  31H
 YH        DATA  32H
 YL        DATA  33H
 XH_L      DATA  34H
 XL_L      DATA  35H
 YH_L      DATA  36H
 YL_L      DATA  37H
 XH_R      DATA  34H
 XL_R      DATA  35H
 YH_R      DATA  36H
 YL_R      DATA  37H
 X1H       DATA  34H
 X1L       DATA  35H
 Y1H       DATA  36H
 Y1L       DATA  37H
 X2H       DATA  38H
 X2L       DATA  39H
 Y2H       DATA  3AH
 Y2L       DATA  3BH         
 
 COM       DATA  3CH
 DAT1      DATA  3DH
 DAT2      DATA  3EH
 DAT3      DATA  3FH
 
 	ORG 0000H
 	LJMP MAIN
 	ORG 0023H
 	LJMP TXINT
 MAIN: MOV SP,#60H
       MOV 21H,#00H
       MOV SCON,#50H
       MOV TMOD,#20H
       MOV TH1,#0FAH
       MOV TL1,#0FAH
       MOV PCON,#80H
       SETB TR1
     
       MOV R7,#11    ;显示开机画面0 
       MOV DPTR,#TAB2
T_XS_BMP2:
       LCALL TX_SUB
       DJNZ R7,T_XS_BMP2
       LCALL DELY
       
       MOV R7,#06    ;发读触摸键命令 
       MOV DPTR,#TAB3
R_TOUCH_KEY:
       LCALL TX_SUB
       DJNZ R7,R_TOUCH_KEY
       LCALL DELY
       LCALL DELY
       LCALL DELY
       CLR RI
       JNB RI,$
       CLR RI
       MOV R7,#11    ;显示开机画面1 
       MOV DPTR,#TAB4
T_XS_BMP1:
       LCALL TX_SUB
       DJNZ R7,T_XS_BMP1
       LCALL DELY 
       MOV 41H,#00H
       SETB ES
       SETB EA

WAIT:  CLR RI
       JNB 21H.0,$
       CLR 21H.0
       MOV A,41H
       CJNE A,#00H,KEY_SUB1
       MOV DPTR,#KEY0_0
       SJMP KEY_SUB
KEY_SUB1:
       CJNE A,#02H,KEY_SUB2
       MOV DPTR,#KEY1_1
       SJMP KEY_SUB
KEY_SUB2:
       MOV DPTR,#KEY0
KEY_SUB:
       MOV A,40H
       RL A
       JMP @A+DPTR
KEY0:  AJMP KEYBG
KEY1:  AJMP KEYSY
KEY2:  AJMP KEYSJ
KEY3:  AJMP KEYAD
KEY4:  AJMP KEYBMP
KEY5:  AJMP KEYHZX
KEY6:  AJMP KEYHY
KEY7:  AJMP KEYQP
KEY8:  AJMP KEYHJZ
KEY9:  AJMP KEYHZXS
KEY10: AJMP KEYZFXS
KEY11: AJMP KEYJPSD 

KEY0_0:AJMP KEYCPJS
KEY0_1:AJMP KEYDXYY
KEY0_2:AJMP KEYYHCS
KEY0_3:AJMP KEYFHSY
      
KEY1_1:AJMP KEYBGKQ
KEY1_2:AJMP KEYBGTZ
KEY1_3:AJMP KEYBGFH

       
KEYBG: MOV R7,#11    ;显示开机画面 
       MOV DPTR,#TAB5
T_XS_BMP01:
       LCALL TX_SUB
       DJNZ R7,T_XS_BMP01
       LCALL DELY
      
       MOV 41H,#02H
       LJMP WAIT
KEYSY: NOP
       LJMP WAIT
KEYSJ: NOP
       LJMP WAIT
KEYAD: NOP
       LJMP WAIT
KEYBMP: NOP
       LJMP WAIT 
KEYHZX: NOP
       LJMP WAIT
KEYHY: NOP
       LJMP WAIT
KEYQP: NOP
       LJMP WAIT
KEYHJZ: NOP
       LJMP WAIT
KEYHZXS: NOP
       LJMP WAIT
KEYZFXS: NOP
       LJMP WAIT
KEYJPSD: NOP
       LJMP WAIT                            
                   
KEYCPJS: NOP
       LJMP WAIT
KEYDXYY: NOP
       LJMP WAIT
KEYYHCS: 
       MOV R7,#11    ;显示开机画面 
       MOV DPTR,#TAB11
T_XS_BMP02:
       LCALL TX_SUB
       DJNZ R7,T_XS_BMP02
       LCALL DELY
       
       MOV 41H,#01H
       LJMP WAIT
KEYFHSY: NOP
       LJMP WAIT 
       
       
KEYBGKQ: NOP
         LJMP WAIT
KEYBGTZ: NOP
         LJMP WAIT
KEYBGFH: MOV R7,#11    ;显示开机画面 
       MOV DPTR,#TAB11
T_XS_BMP06:
       LCALL TX_SUB
       DJNZ R7,T_XS_BMP06
       LCALL DELY
       
       MOV 41H,#01H
       LJMP WAIT       
       
                  
TX_SUB:CLR ES
       PUSH ACC
       MOV A,#00H
       MOVC A,@A+DPTR
       MOV SBUF,A
       JNB TI,$
       CLR TI
       INC DPTR
       POP ACC
       SETB ES         
       RET
       
TXINT: PUSH ACC
       PUSH PSW
       PUSH DPL
       PUSH DPH
       SETB RS0
       ;JBC RI,R_SUB
       ;LJMP LOOP1
R_SUB: MOV R7,#08H
       MOV R0,#2cH
R_SUB_1:
       MOV A,SBUF
       MOV @R0,A
       INC R0
       JNB RI,$
       CLR RI
       DJNZ R7,R_SUB_1
       MOV A,2FH
       CJNE A,#37H,LOOP1
       
       MOV 40H,#00H
       
       MOV A,41H
       CJNE A,#00H,LSM1
       MOV DPTR,#TABB2
       MOV R5,#4
       SJMP LOOP2
LSM1:  CJNE A,#02H,LSM2
       MOV DPTR,#TABB3
       MOV R5,#3
       SJMP LOOP2
LSM2:  MOV DPTR,#TABB1
       MOV R5,#12
LOOP2: LCALL QCOMPKEY
       LCALL COMP
       JB 21H.0,LOOP1
       INC 40H
       DJNZ R5,LOOP2	
LOOP1: POP DPH
	POP DPL
	POP PSW
	POP ACC
	RETI
	
	

;************************************************
;*                比较程序                      *
;* XY=(30H)(31H)(32H)(33H),X1Y1=(34H)(35H)(36H)(37H),X2Y2=(34H)(35H)(36H)(37H)*
;* (如果X1Y1 < XY < X2Y2;那么就为确认的按键     *
;************************************************       

COMP:  MOV A,30H
       MOV B,34H
       CJNE A,B,COMP_1
       MOV A,31H
       MOV B,35H
       CJNE A,B,COMP_2
COMP_11:
       MOV A,32H
       MOV B,36H
       CJNE A,B,COMP_3
       MOV A,33H
       MOV B,37H
       CJNE A,B,COMP_4
COMP_12:       
       LCALL QCOMPKEY

       MOV A,34H
       MOV B,30H
       CJNE A,B,COMP_5
       MOV A,35H
       MOV B,31H
       CJNE A,B,COMP_6
COMP_13:
       MOV A,36H
       MOV B,32H
       CJNE A,B,COMP_7
       MOV A,37H
       MOV B,33H
       CJNE A,B,COMP_8
COMP_14: 
       SETB 21H.0
       RET
COMP_1:JNC COMP_11
       SJMP ERR1     
COMP_2:JNC COMP_11
       SJMP ERR1
COMP_3:JNC COMP_12
       SJMP ERR1
COMP_4:JNC COMP_12
       SJMP ERR1
COMP_5:JNC COMP_13
       SJMP ERR     
COMP_6:JNC COMP_13
       SJMP ERR
COMP_7:JNC COMP_14
       SJMP ERR
COMP_8:JNC COMP_14
       SJMP ERR    
ERR:   CLR 21H.0
       RET  
ERR1:  LCALL QCOMPKEY
       SJMP ERR
QCOMPKEY:
       MOV  A,#00H
       MOVC A,@A+DPTR
       MOV 34H,A
       INC DPTR
       MOV A,#00H
       MOVC A,@A+DPTR
       MOV 35H,A
       INC DPTR
       MOV  A,#00H
       MOVC A,@A+DPTR
       MOV 36H,A
       INC DPTR
       MOV A,#00H
       MOVC A,@A+DPTR
       MOV 37H,A
       INC DPTR
       RET
 
DELY:  MOV R5,#200
DELY2: MOV R6,#200
DELY1:
       NOP
       NOP
       NOP
       DJNZ R6,DELY1 
       DJNZ R5,DELY2
       RET
       
TAB1: DB 0F0H, 5AH, 16H, 01H,0A5H, 0F0H

TAB2: DB 0F0H, 5AH, 91H, 00H, 00H, 00H, 00H, 00H, 00H, 0A5H, 0F0H

TAB3: DB 0F0H, 5AH, 31H, 01H, 0A5H, 0F0H
TAB4: DB 0F0H, 5AH, 91H, 00H, 01H, 00H, 00H, 00H, 00H, 0A5H, 0F0H
TAB11:DB 0F0H, 5AH, 91H, 00H, 02H, 00H, 00H, 00H, 00H, 0A5H, 0F0H
TAB5: DB 0F0H, 5AH, 91H, 00H, 04H, 00H, 00H, 00H, 00H, 0A5H, 0F0H

TABB1: DB 00H, 38H,00H,23H,00H,90H,00H,50H
       DB 01H, 35H,00H,23H,01H,82H,00H,50H
       DB 02H, 22H,00H,23H,02H,78H,00H,50H
       DB 00H, 38H,00H,73H,00H,90H,00H,99H
       DB 01H, 35H,00H,73H,01H,82H,00H,99H
       DB 02H, 22H,00H,73H,02H,78H,00H,99H
       DB 00H, 38H,01H,29H,00H,90H,01H,56H
       DB 01H, 35H,01H,29H,01H,82H,01H,56H
       DB 02H, 22H,01H,29H,02H,78H,01H,56H
       DB 00H, 38H,01H,79H,00H,90H,02H,05H
       DB 01H,35H,01H,79H,01H,82H,02H,05H
       DB 02H,22H,01H,79H,02H,78H,02H,05H
       
TABB2: 	DB 00H,63H,00H,28H,02H,49H,00H,61H ;产品介绍
	DB 00H,63H,00H,78H,02H,49H,01H,08H ;典型应用		
	DB 00H,63H,01H,30H,02H,49H,01H,63H ;用户测试
	DB 00H,63H,01H,81H,02H,49H,02H,18H ;返回首页
	
TABB3:	DB 00H,93H,00H,66H,02H,03H,00H,99H ;开启
	DB 00H,93H,01H,23H,02H,03H,01H,59H ;停止
	DB 00H,93H,01H,82H,02H,03H,02H,18H ;返回

    END   

⌨️ 快捷键说明

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