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

📄 touch_key.asm

📁 一个关于蓝海微芯LJK——ZN——3200的演示程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;********************************************************
;*画矩形(F0 5A 95 00 00 00 00 00 99 00 99 01 01 A5 F0)*
;********************************************************
SQURE:MOV COM,#95H
    LCALL COMMD_HEAD
    MOV XH,#00H
    MOV A,XH
    LCALL SEND_BYTE
    MOV XL,#00H
    MOV A,XL
    LCALL SEND_BYTE
    MOV YH,#00H
    MOV A,YH
    LCALL SEND_BYTE
    MOV YL,#00H
    MOV A,YL
    LCALL SEND_BYTE
    MOV XH,#00H
    MOV A,XH
    LCALL SEND_BYTE
    MOV XL,#99H
    MOV A,XL
    LCALL SEND_BYTE
    MOV YH,#00H
    MOV A,YH
    LCALL SEND_BYTE
    MOV YL,#99H
    MOV A,YL
    LCALL SEND_BYTE
    MOV A,#01H
    LCALL SEND_BYTE
    MOV A,#01H
    LCALL SEND_BYTE
    LCALL COMMD_END
    RET
;*****************************************************
;*区域反色(F0 5A 96 01 50 01 00 02 00 01 99 A5 F0) *
;*****************************************************
INV:MOV COM,#96H
    LCALL COMMD_HEAD
    MOV XH,#01H
    MOV A,XH
    LCALL SEND_BYTE
    MOV XL,#50H
    MOV A,XL
    LCALL SEND_BYTE
    MOV YH,#01H
    MOV A,YH
    LCALL SEND_BYTE
    MOV YL,#00H
    MOV A,YL
    LCALL SEND_BYTE
    MOV XH,#02H
    MOV A,XH
    LCALL SEND_BYTE
    MOV XL,#00H
    MOV A,XL
    LCALL SEND_BYTE
    MOV YH,#01H
    MOV A,YH
    LCALL SEND_BYTE
    MOV YL,#99H
    MOV A,YL
    LCALL SEND_BYTE
    LCALL COMMD_END
    RET

;*****************************************************
;*     背光关(F0 5A 36 00 a5 F0)                   *
;*****************************************************
LIGHT_OFF:
    MOV COM,#36H
    LCALL COMMD_HEAD
    MOV A,#00H
    LCALL SEND_BYTE
    LCALL COMMD_END
    RET
;*****************************************************
;*     背光开(F0 5A 36 01 a5 F0)                   *
;*****************************************************
LIGHT_ON:
    MOV COM,#36H
    LCALL COMMD_HEAD
    MOV A,#01H
    LCALL SEND_BYTE
    LCALL COMMD_END
    RET
;*****************************************************
;*     蜂鸣器关(F0 5A 35 00 A5 F0)                   *
;*****************************************************
BEEP_OFF:
    MOV COM,#35H
    LCALL COMMD_HEAD
    MOV A,#00H
    LCALL SEND_BYTE
    LCALL COMMD_END
    RET
;*****************************************************
;*     蜂鸣器开(F0 5A 35 01 A5 F0)                   *
;*****************************************************
BEEP_ON:
    MOV COM,#35H
    LCALL COMMD_HEAD
    MOV A,#01H
    LCALL SEND_BYTE
    LCALL COMMD_END
    RET
;*****************************************************
;*     显示汉字或ASCII码 
;*F0 5A  89  4C 43  44  B2 E2 CA D4 B3 CC D0 F2  A5 F0
;     (  L  C  D    测    试   程    序 )
;*****************************************************
HAZ:
    MOV COM,#89H
    LCALL COMMD_HEAD
    MOV R7,#11
    MOV DPTR,#TAB
NEXT_HAZ:
    CLR A    
    MOVC A,@A+DPTR
    LCALL SEND_BYTE
    INC DPTR
    DJNZ R7,NEXT_HAZ
    LCALL COMMD_END
    RET

;*****************************************************
;*     选择页(F0 5A 39 01 A5 F0)                   *
;*****************************************************
PAG:
    MOV COM,#39H
    LCALL COMMD_HEAD
    MOV A,PAGNO
    LCALL SEND_BYTE
    LCALL COMMD_END
    RET
;*****************************************************
;*     数据包头+命令                                *
;*****************************************************
COMMD_HEAD:
    MOV A,#0F0H
    LCALL SEND_BYTE
    MOV A,#5AH
    LCALL SEND_BYTE
    MOV A,COM
    LCALL SEND_BYTE
    RET
;*****************************************************
;*     数据包尾                                      *
;*****************************************************
COMMD_END:
    MOV A,#0A5H
    LCALL SEND_BYTE
    MOV A,#0F0H
    LCALL SEND_BYTE
    RET
;*****************************************************
;*     串口发送一个字节                              *
;*****************************************************
SEND_BYTE:    CLR    ES
              MOV    SBUF,A             
              JNB    TI,$
              CLR    TI
	      SETB   ES
              RET
;*****************************************************
TAB:DB "LCD测试程序"
;*****************************************************

;*****************************************************
;*     延时                                          *
;*****************************************************
DELAY:        PUSH  TIMER1         ;延时TIMER1*1 ms for 12MHz
              PUSH  TIMER0
DELAY1:       MOV   TIMER0,#250    ;循环一次需要4个机器周期,时间为4*1μS
DELAY2:       NOP                        ;                 1个周期
              NOP                        ;                 1个周期
              DJNZ  TIMER0,DELAY2  ;2个周期
              DJNZ  TIMER1,DELAY1
              POP   TIMER0
              POP   TIMER1
              RET
              NOP
;-------------------------------------------------------------------
DELAY01:      NOP;                  延时 1 ms
              PUSH  TIMER1
              MOV   TIMER1,#01H
              LCALL DELAY
              POP   TIMER1
              RET
              NOP
;---------------------------------------------------------------------
DELAY10:      NOP;                 延时 10 ms
              PUSH  TIMER1
              MOV   TIMER1,#10
              LCALL DELAY
              POP   TIMER1
              RET
              NOP
;--------------------------------------------------------------------
DELAY20:      NOP;                 延时 20 ms
              PUSH  TIMER1
              MOV   TIMER1,#20
              LCALL DELAY
              POP   TIMER1
              RET
              NOP
;--------------------------------------------------------------------
DELAY30:      NOP;                 延时 30 ms
              PUSH  TIMER1
              MOV   TIMER1,#30
              LCALL DELAY
              POP   TIMER1
              RET
              NOP
;-------------------------------------------------------------------
DELAY100:     NOP;                 延时100 ms
              PUSH  TIMER1
              MOV   TIMER1,#100
              LCALL DELAY
              POP   TIMER1
              RET
              NOP
;-------------------------------------------------------------------
DELAY250:     NOP;                 延时 250 ms
              PUSH  TIMER1
              MOV   TIMER1,#250
              LCALL DELAY
              POP   TIMER1
              RET
              NOP
;---------------------------------------------------------------------
DELAY500:     NOP;                  延时 500 ms
              PUSH  TIMER1
              MOV   TIMER1,#250
              LCALL DELAY
              LCALL DELAY
              POP   TIMER1
              RET
              NOP
;--------------------------------------------------------------------
DELAY1S:      NOP;                 延时 1 sec
              PUSH  TIMER1
              MOV   TIMER1,#250
              LCALL DELAY
              LCALL DELAY
              LCALL DELAY
              LCALL DELAY
              POP   TIMER1
              RET
;------------------------------------------------------------------
LCOM:
               PUSH DPL
               PUSH DPH
               PUSH ACC
               JB RI,LCOM1
               SJMP LCON2
LCOM1:
               SETB 24H.0
	       MOV R7,#6
	       MOV R0,#50H
LCOM1_1:       MOV A,SBUF
               MOV @R0,A
	       INC R0
               CLR RI
	       DJNZ R7,LCON3
               SJMP LCON2       
LCON3:	       JB RI,LCOM1_1
	       SJMP LCON3
	       NOP
LCON2:         POP ACC
	       POP DPH
	       POP DPL
			 
          RETI  
TAB0: DB 0F0H, 5AH,  3AH, 00H, 01H, 31H, 01H, 92H,  02H, 06H, 02H, 92H, 02H, 27H, 0A5H, 0F0H;第0页第1号键
TAB12:DB 0F0H, 5AH,  3AH, 01H, 01H, 34H, 00H, 56H,  01H, 33H, 02H, 51H, 01H, 64H, 0A5H, 0F0H;第1页第2号键
TAB20:DB 0F0H, 5AH,  3AH, 02H, 00H, 36H, 00H, 30H,  00H, 17H, 00H, 84H, 00H, 44H, 0A5H, 0F0H;第2页第0号键
TAB21:DB 0F0H, 5AH,  3AH, 02H, 01H, 37H, 01H, 28H,  00H, 15H, 01H, 82H, 00H, 44H, 0A5H, 0F0H;第2页第1号键
TAB22:DB 0F0H, 5AH,  3AH, 02H, 02H, 38H, 02H, 22H,  00H, 14H, 02H, 77H, 00H, 44H, 0A5H, 0F0H;第2页第2号键
TAB23:DB 0F0H, 5AH,  3AH, 02H, 03H, 39H, 00H, 30H,  00H, 70H, 00H, 84H, 00H, 96H, 0A5H, 0F0H;第2页第3号键
TAB24:DB 0F0H, 5AH,  3AH, 02H, 04H, 3AH, 01H, 28H,  00H, 70H, 01H, 84H, 00H, 96H, 0A5H, 0F0H;第2页第4号键
TAB25:DB 0F0H, 5AH,  3AH, 02H, 05H, 3BH, 02H, 23H,  00H, 66H, 02H, 77H, 00H, 94H, 0A5H, 0F0H;第2页第5号键
TAB26:DB 0F0H, 5AH,  3AH, 02H, 06H, 3CH, 00H, 30H,  01H, 25H, 00H, 84H, 01H, 54H, 0A5H, 0F0H;第2页第6号键
TAB27:DB 0F0H, 5AH,  3AH, 02H, 07H, 3DH, 01H, 27H,  01H, 24H, 01H, 81H, 01H, 53H, 0A5H, 0F0H;第2页第7号键
TAB28:DB 0F0H, 5AH,  3AH, 02H, 08H, 3EH, 02H, 23H,  01H, 23H, 02H, 77H, 01H, 52H, 0A5H, 0F0H;第2页第8号键
TAB29:DB 0F0H, 5AH,  3AH, 02H, 09H, 3FH, 00H, 30H,  01H, 77H, 00H, 81H, 02H, 06H, 0A5H, 0F0H;第2页第9号键
TAB2A:DB 0F0H, 5AH,  3AH, 02H, 0AH, 40H, 01H, 27H,  01H, 77H, 01H, 81H, 02H, 07H, 0A5H, 0F0H;第2页第10号键
TAB2B:DB 0F0H, 5AH,  3AH, 02H, 0BH, 41H, 02H, 23H,  01H, 77H, 02H, 78H, 02H, 07H, 0A5H, 0F0H;第2页第11号键
TAB30:DB 0F0H, 5AH,  3AH, 02H, 0CH, 42H, 00H, 83H,  00H, 59H, 01H, 99H, 01H, 01H, 0A5H, 0F0H;第3页第0号键
TAB31:DB 0F0H, 5AH,  3AH, 02H, 0DH, 43H, 00H, 83H,  01H, 19H, 01H, 99H, 01H, 60H, 0A5H, 0F0H;第3页第1号键
TAB32:DB 0F0H, 5AH,  3AH, 02H, 0EH, 44H, 00H, 83H,  01H, 84H, 01H, 99H, 02H, 26H, 0A5H, 0F0H;第3页第2号键

END

⌨️ 快捷键说明

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