📄 init_lcd.asm.bak
字号:
ANDLW 0X0F
MOVWF DISPLAY_D1
MOVF DAILY_STH,W
ANDLW 0X0F
MOVWF DISPLAY_D2
SWAPF DAILY_STM,W
ANDLW 0X0F
MOVWF DISPLAY_D4
MOVF DAILY_STM,W
ANDLW 0X0F
MOVWF DISPLAY_D5
MOVLW 4
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVLW T_DAILYSTART_ID
BRA PAGE_TWOTHREE
;*****************************
;*****************************
PAEG_FIVE_4KEY
SWAPF TURBO_STH,W
ANDLW 0X0F
MOVWF DISPLAY_D1
MOVF TURBO_STH,W
ANDLW 0X0F
MOVWF DISPLAY_D2
SWAPF TURBO_STM,W
ANDLW 0X0F
MOVWF DISPLAY_D4
MOVF TURBO_STM,W
ANDLW 0X0F
MOVWF DISPLAY_D5
MOVLW 5
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVLW T_TURBOSTART_ID
BRA PAGE_TWOTHREE
;*****************************
;*****************************
;*****************************
;*****************************
;PIN_FLAG =0 DISARM_CHECK
;PIN_FLAG =1 PIN CHANGE _CHECK
;PIN_FLAG =2 PIN FIRST INPUT
;PIN_FLAG =3 PIN SECOND INPUT
;*****************************
PAEG_FOUR_4KEY:
MOVLW 7
PAEG_FOUR_4KEY1:
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVLW 40
MOVWF DISPLAY_D0
MOVWF DISPLAY_D1
MOVWF DISPLAY_D2
MOVLW 'P'+10-'A'
MOVWF DISPLAY_D3
MOVLW 'I'+10-'A'
MOVWF DISPLAY_D4
MOVLW 'N'+10-'A'
MOVWF DISPLAY_D5
CALL TEST_PIN_ON
BNZ PAEG_FOUR_4KEY4
PAEG_FOUR_4KEY2:
INCF PAGE_CNT2
MOVLW 40
MOVWF DISPLAY_D0
MOVWF DISPLAY_D1
MOVWF DISPLAY_D2
MOVLW 1
MOVWF DISPLAY_D3
MOVLW 'S'+10-'A'
MOVWF DISPLAY_D4
MOVLW 'T'+10-'A'
MOVWF DISPLAY_D5
PAEG_FOUR_4KEY4:
;*****************************
MOVLW T_PINCODE_ID
PAGE_FOURFOUR:
CALL DISPLAY_LOGO2
MOVLW 13 ;DISPLAY_NUM
CALL DISPLAY_PAGE
PAGE_FOURFOUR1:
CLRF DISPLAY_D6
CLRF DISPLAY_D7
CLRF DISPLAY_D8
CLRF DISPLAY_D9
CLRF DISPLAY_DA
CLRF DISPLAY_DB
CALL READ_12KEY
MOVF KEY,W
BZ PAGE_FOURFOUR1A
CALL DISPLAY_KEY12_DOWN00
PAGE_FOURFOUR1A:
MOVLW 0
MOVWF CURSE_POS
CALL PRESET_LIGHT_DELAY_LONG
;*****************************
PAGE_FOURFOUR1D:
CALL DISPLAY_TOP_6BIT
CALL DISPLAY_TOP_CURSE
;**************************
PAGE_FOURFOUR2:
PAGE_FOURFOUR2_A
CALL DISPLAY_TOP_6BIT
CALL DISPLAY_TOP_CURSE
PAGE_FOURFOUR2_2:
CALL DO_2_SECOND
BTFSC REC_TRIGGER_F
GOTO PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_FOURFOUR3:
;-----------DO TOUCH-----------------------
BTFSC KEY_PRESS_FG
BRA PAGE_FOURFOUR_TOUCH
CALL DISPLAY_KEY12_UP
BCF TOUCHDOWN_FLAG ;BRA PAGE_FOURFOUR_NO_TOUCH
BRA PAGE_FOURFOUR_TOUCH_BAK
PAGE_FOURFOUR_TOUCH:
;---------------TOUCH
BTFSC TOUCHDOWN_FLAG
BRA PAGE_FOURFOUR_TOUCH_BAK
CALL READ_12KEY
MOVF KEY,W
BZ PAGE_FOURFOUR_TOUCH_BAK
MOVF KEY,W
;MOVWF KEY_BAK
CALL DISPLAY_KEY12_DOWN00
CALL PRESET_LIGHT_DELAY_LONG
MOVLW 40
MOVWF DISPLAY_D0
MOVWF DISPLAY_D1
MOVWF DISPLAY_D2
MOVWF DISPLAY_D3
MOVWF DISPLAY_D4
MOVWF DISPLAY_D5
CALL SPEECH_KEY
MOVF KEY,W
XORLW 11
BNZ PAGE_FOURFOUR_ENTERKEY
MOVF CURSE_POS,W
BTFSC STATUS,Z
BRA PAGE23_SET_END8
DECF CURSE_POS
MOVF CURSE_POS,W
ADDLW 256-6
BTFSS STATUS,C
BRA PAGE_FOURFOUR1D
MOVLW 5
MOVWF CURSE_POS
BRA PAGE_FOURFOUR1D
PAGE_FOURFOUR_ENTERKEY:
MOVF KEY,W
XORLW 12
BNZ PAGE_FOURFOUR_NUMKEY
GOTO PAGE_TWOTHREE_ENTERKEY_SUB
PAGE_FOURFOUR_NUMKEY:
MOVLW HIGH DISPLAY_D6
MOVWF FSR0H
MOVLW LOW DISPLAY_D6
ADDWF CURSE_POS,W
MOVWF FSR0L
DECF KEY,W
MOVWF POSTINC0
INCF CURSE_POS
MOVF CURSE_POS,W
XORLW 0X06
BZ PAGE_FOURFOUR1A
BRA PAGE_FOURFOUR1D
;--------------------------
;--------------------------
PAGE_FOURFOUR_TOUCH_BAK:
;**************************
;--------DO IKEY
BTFSC IKEY
GOTO IKEY_CLOSE;BRA PAGE_FOURFOUR32
;**************************
;----DO BACKLIGHT**********
MOVF LIGHT_CNT
BTFSC STATUS,Z
PAGE_FOURFOUR32:
GOTO BACKLIGHT_TIME_OUT
;***************************
PAGE_FOURFOUR_SLEEP:
;****************************
PAGE_FOURFOUR_TRIGGER:
BRA PAGE_FOURFOUR2
;*****************************
PIN_IN_DISARM_END ;6
CALL CHECK_PIN
GOTO PAEG_ONE_2KEY2
;??????????????GOTO DISARM
PIN_IN_CHECK_END ;7
CALL CHECK_PIN
BTFSS WREG,0
BRA PIN_IN_SECOND_END2;PAGE23_SET_END8
BRA PAEG_FOUR_4KEY2
PIN_IN_FISRT_END ;8
MOVF DISPLAY_D6,W
MOVWF PIN_D0
MOVF DISPLAY_D7,W
MOVWF PIN_D1
MOVF DISPLAY_D8,W
MOVWF PIN_D2
MOVF DISPLAY_D9,W
MOVWF PIN_D3
MOVF DISPLAY_DA,W
MOVWF PIN_D4
MOVF DISPLAY_DB,W
MOVWF PIN_D5
INCF PAGE_CNT2
MOVLW 40
MOVWF DISPLAY_D0
MOVWF DISPLAY_D1
MOVWF DISPLAY_D2
MOVLW 2
MOVWF DISPLAY_D3
MOVLW 'N'+10-'A'
MOVWF DISPLAY_D4
MOVLW 'D'+10-'A'
MOVWF DISPLAY_D5
BRA PAEG_FOUR_4KEY4
PIN_IN_SECOND_END ;9
CALL CHECK_PIN
BTFSS WREG,0
BRA PIN_IN_SECOND_END2
MOVLW 44
MOVWF DISPLAY_D0
;MOVLW 'E'+10-'A'
MOVWF DISPLAY_D1
MOVLW 'S'+10-'A'
MOVWF DISPLAY_D2
MOVLW 'A'+10-'A'
MOVWF DISPLAY_D3
MOVLW 'V'+10-'A'
MOVWF DISPLAY_D4
MOVLW 'E'+10-'A'
MOVWF DISPLAY_D5
CALL DISPLAY_TOP_6BIT_FAST
MOVLW VOICE_OK_ID
CALL SPEECH_V1_2
CALL WRITE_PIN_COD
BRA PAGE23_SET_END8
PIN_IN_SECOND_END2:
MOVLW 44
MOVWF DISPLAY_D0
MOVLW 'E'+10-'A'
MOVWF DISPLAY_D1
MOVLW 'R'+10-'A'
MOVWF DISPLAY_D2
MOVLW 'R'+10-'A'
MOVWF DISPLAY_D3
MOVLW 'O'+10-'A'
MOVWF DISPLAY_D4
MOVLW 'R'+10-'A'
MOVWF DISPLAY_D5
CALL DISPLAY_TOP_6BIT_FAST
MOVLW VOICE_ERROR_ID
CALL SPEECH_V1_2
CALL READ_MOBILE_STATUS
BRA PAGE23_SET_END8
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
PAEG_SIX_1KEY
PAEG_SIX_2KEY
PAEG_SIX_3KEY
PAEG_SIX_4KEY
DECF KEY,W
ANDLW 3
MOVWF CARNAME_CNT
CALL READ_HOP
MOVLW HIGH DISPLAY_D0
MOVWF FSR0H
MOVLW LOW DISPLAY_D0
MOVWF FSR0L
MOVLW HIGH CARNAME_D0
MOVWF FSR1H
MOVLW LOW CARNAME_D0
MOVWF FSR1L
MOVLW 16
MOVWF CNT
PAEG_SIX_4KEY2
MOVF POSTINC1,W
MOVWF POSTINC0
DECFSZ CNT
BRA PAEG_SIX_4KEY2
MOVLW 11
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVF CARNAME_CNT,W
ADDLW T_CAR1_ID
BRA PAGE_TWOTWO
;*****************************
PAEG_TWO_2KEY:
;*****************************
MOVF PARKAREA_D0,W
MOVWF DISPLAY_D0
MOVF PARKAREA_D1,W
MOVWF DISPLAY_D1
MOVF PARKAREA_D2,W
MOVWF DISPLAY_D2
MOVF PARKAREA_D3,W
MOVWF DISPLAY_D3
MOVF PARKAREA_D4,W
MOVWF DISPLAY_D4
MOVF PARKAREA_D5,W
MOVWF DISPLAY_D5
MOVLW 44
MOVWF DISPLAY_D6
MOVWF DISPLAY_D7
MOVWF DISPLAY_D8
MOVWF DISPLAY_D9
MOVWF DISPLAY_DA
MOVWF DISPLAY_DB
MOVWF DISPLAY_DC
MOVWF DISPLAY_DD
MOVWF DISPLAY_DE
MOVWF DISPLAY_DF
MOVLW 10
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVLW T_PARKEREA_ID
PAGE_TWOTWO:
CALL DISPLAY_LOGO2
CALL GET_CURSE_POS
CLRF SUB_PAGE
PAGE_TWOTWO1:
MOVF SUB_PAGE,W
ANDLW 3
ADDLW 14 ;CHAR_1
CALL DISPLAY_PAGE
CALL READ_12KEY
MOVF KEY,W
BZ PAGE_TWOTWO1A0
CALL DISPLAY_KEY12_DOWN00
BRA PAGE_TWOTWO1A
PAGE_TWOTWO1A0:
MOVLW 1
MOVWF KEY
CALL DISPLAY_KEY12_UP
PAGE_TWOTWO1A:
CALL PRESET_LIGHT_DELAY_LONG
;*****************************
PAGE_TWOTWO1D:
;CALL GET_CURSE_POS
;**************************
PAGE_TWOTWO2:
PAGE_TWOTWO2_A
CALL DISPLAY_TOP_6BIT2
CALL DISPLAY_TOP_CURSE
PAGE_TWOTWO2_2:
CALL DO_2_SECOND
BTFSC REC_TRIGGER_F
GOTO PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_TWOTWO3:
;-----------DO TOUCH-----------------------
BTFSC KEY_PRESS_FG
BRA PAGE_TWOTWO_TOUCH
CALL DISPLAY_KEY12_UP
BCF TOUCHDOWN_FLAG ;BRA PAGE_TWOTWO_NO_TOUCH
BRA PAGE_TWOTWO_TOUCH_BAK
PAGE_TWOTWO_TOUCH:
;---------------TOUCH
BTFSC TOUCHDOWN_FLAG
BRA PAGE_TWOTWO_TOUCH_BAK
CALL READ_12KEY
MOVF KEY,W
BZ PAGE_TWOTWO_TOUCH_BAK
MOVF KEY,W
;MOVWF KEY_BAK
CALL DISPLAY_KEY12_DOWN00
CALL PRESET_LIGHT_DELAY_LONG
CALL SPEECH_KEY
MOVF KEY,W
XORLW 11
BNZ PAGE_TWOTWO_ENTERKEY
;**********
;BACK SPACE KEY
MOVF CURSE_POS,W
IORWF DISPLAY_INDEX,W
BTFSC STATUS,Z
BRA PAGE23_SET_END8
MOVLW HIGH DISPLAY_D0
MOVWF FSR0H
MOVWF FSR1H
MOVLW LOW DISPLAY_D0
ADDWF CURSE_POS,W
ADDWF DISPLAY_INDEX,W
MOVWF FSR0L
XORLW LOW DISPLAY_D0
BTFSC STATUS,Z
INCF FSR0L
MOVF FSR0L,W
ADDLW 0XFF
MOVWF FSR1L
PAGE_TWOTWO_BACKKEY:
MOVF POSTINC0,W
MOVWF POSTINC1
MOVF FSR1L,W
ADDLW 256-(LOW DISPLAY_DF)
BNC PAGE_TWOTWO_BACKKEY
MOVLW 44
MOVWF DISPLAY_DF
;--------------------------
PAGE_TWOTWO_BACKKEY0:
MOVF DISPLAY_INDEX,W
BNZ PAGE_TWOTWO_BACKKEY2
MOVF CURSE_POS,W
BTFSS STATUS,Z
DECF CURSE_POS
BRA PAGE_TWOTWO1D
PAGE_TWOTWO_BACKKEY2:
DECF DISPLAY_INDEX
BRA PAGE_TWOTWO1D
;***********
PAGE_TWOTWO_ENTERKEY:
MOVF KEY,W
XORLW 12
BTFSC STATUS,Z
BRA PAGE_TWOTHREE_ENTERKEY_SUB
DECFSZ KEY,W
BRA PAGE_TWOTWO_NUMKEY
INCF SUB_PAGE,W
ANDLW 3
MOVWF SUB_PAGE
BRA PAGE_TWOTWO1
PAGE_TWOTWO_NUMKEY:
MOVLW HIGH DISPLAY_D0
MOVWF FSR0H
MOVLW LOW DISPLAY_D0
ADDWF CURSE_POS,W
ADDWF DISPLAY_INDEX,W
MOVWF FSR0L
MOVF SUB_PAGE,W
MULLW 9
DECF KEY,W
ADDWF PRODL,W
MOVWF INDF0
MOVF SUB_PAGE,W
BTFSC STATUS,Z
BRA PAGE_TWOTWO_NUMKEY2
DECF INDF0
MOVF INDF0,W
XORLW 9
BTFSC STATUS,Z
CLRF INDF0
PAGE_TWOTWO_NUMKEY2:
MOVF CURSE_POS,W
ADDLW 256-5
BC PAGE_TWOTWO_INC_DISPLAY_INDEX
INCF CURSE_POS
BRA PAGE_TWOTWO1D
PAGE_TWOTWO_INC_DISPLAY_INDEX:
MOVF PAGE_CNT2,W
XORLW 10
BZ PAGE_TWOTWO1D
;FOR CAR NAME
MOVF DISPLAY_INDEX,W
ADDLW 256-10
BTFSS STATUS,C
INCF DISPLAY_INDEX
BRA PAGE_TWOTWO1D
;--------------------------
;--------------------------
PAGE_TWOTWO_TOUCH_BAK:
;**************************
;--------DO IKEY
BTFSC IKEY
GOTO IKEY_CLOSE;BRA PAGE_TWOTWO32
;**************************
;----DO BACKLIGHT**********
MOVF LIGHT_CNT
BTFSC STATUS,Z
PAGE_TWOTWO32:
GOTO BACKLIGHT_TIME_OUT
;***************************
PAGE_TWOTWO_SLEEP:
;****************************
PAGE_TWOTWO_TRIGGER:
BRA PAGE_TWOTWO2
;*****************************
PAGE22_SET_END ;PAGE_CNT2=10
MOVF DISPLAY_D0,W
MOVWF PARKAREA_D0
MOVF DISPLAY_D1,W
MOVWF PARKAREA_D1
MOVF DISPLAY_D2,W
MOVWF PARKAREA_D2
MOVF DISPLAY_D3,W
MOVWF PARKAREA_D3
MOVF DISPLAY_D4,W
MOVWF PARKAREA_D4
MOVF DISPLAY_D5,W
MOVWF PARKAREA_D5
PAGE22_SET_END2:
CALL WRITE_PARK_EAREA
BRA PAGE23_SET_END8
PAGE61_SET_END ;PAGE_CNT2=11
;PAGE62_SET_END ;PAGE_CNT2=12
;PAGE63_SET_END ;PAGE_CNT2=13
;PAGE64_SET_END ;PAGE_CNT2=14
MOVLW HIGH DISPLAY_D0
MOVWF FSR0H
MOVLW LOW DISPLAY_D0
MOVWF FSR0L
MOVLW HIGH CARNAME_D0
MOVWF FSR1H
MOVLW LOW CARNAME_D0
MOVWF FSR1L
MOVLW 16
MOVWF CNT
PAGE64_SET_END2
MOVF POSTINC0,W
MOVWF POSTINC1
DECFSZ CNT
BRA PAGE64_SET_END2
CALL WRITE_CARNAME
BRA PAGE23_SET_END8
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
PAEG_THREE_1KEY
;BTG TRIGG_STATUS,1
;****************************
CALL HIDE_KEYPAD
CALL DISPLAY_TRIGGERED
PAGE_THREEONE1A:
CALL PRESET_LIGHT_DELAY_LONG
CALL CPU_CLOCK_8M
;*****************************
;**************************
PAGE_THREEONE2:
CALL DISPLAY_BATT
CALL DISPLAY_TIME00
;BTFSS SECOND2_FLAG
;BRA PAGE_THREEONE3
CALL DO_2_SECOND
BTFSC REC_TRIGGER_F
GOTO PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_THREEONE3:
;BSF TP
;CLRWDT
;BCF TP
;-----------DO TOUCH-----------------------
BTFSC KEY_PRESS_FG
BRA PAGE_THREEONE_TOUCH
BCF TOUCHDOWN_FLAG ;BRA PAGE_THREEONE_NO_TOUCH
BRA PAGE_THREEONE_TOUCH_BAK
PAGE_THREEONE_TOUCH:
;---------------TOUCH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -