📄 pda_166p64_v01.asm
字号:
PAGE_TWOTHREE_NUMKEY:
MOVLW HIGH DISPLAY_D0
MOVWF FSR0H
MOVLW LOW DISPLAY_D0
ADDWF CURSE_POS,W
MOVWF FSR0L
DECF KEY,W
MOVWF INDF0
INCF CURSE_POS
MOVF CURSE_POS,W
XORLW 0X03
BTFSC STATUS,Z
INCF CURSE_POS
MOVF CURSE_POS,W
XORLW 0X06
BZ PAGE_TWOTHREE1A
BRA PAGE_TWOTHREE1D
;--------------------------
;--------------------------
PAGE_TWOTHREE_TOUCH_BAK:
;**************************
;--------DO IKEY
BTFSC IKEY
GOTO IKEY_CLOSE;BRA PAGE_TWOTHREE32
;**************************
;----DO BACKLIGHT**********
MOVF LIGHT_CNT
BTFSC STATUS,Z
PAGE_TWOTHREE32:
GOTO BACKLIGHT_TIME_OUT
;***************************
PAGE_TWOTHREE_SLEEP:
;****************************
PAGE_TWOTHREE_TRIGGER:
BRA PAGE_TWOTHREE2
;*****************************
PAGE23_SET_END ;CONTDOWN
MOVF DISPLAY_D1,W
MOVWF CNTDOWNH
MOVF DISPLAY_D4,W
MOVWF CNTDOWNM
PAGE23_SET_END8:
CALL HIDE_TOPBAR
CALL DISPLAY_TOP_BAR
PAGE23_SET_END10:
CALL HIDE_KEYPAD
CALL DISPLAY_FORWORD_KEY
MOVF PAGE_BAK,W
BRA PAGE_ONE0B
PAGE24_SET_END ;ALERT TIME
MOVF DISPLAY_D1,W
MOVWF ALERTH
MOVF DISPLAY_D4,W
MOVWF ALERTM
CALL WRITE_MOBILE_STATUS
BRA PAGE23_SET_END8
PAGE43_SET_END ;TIME SET
MOVF DISPLAY_D1,W
MOVWF HOUR
MOVF DISPLAY_D4,W
MOVWF MINUTE
BRA PAGE23_SET_END8
PAGE51_SET_END ;TIME START
MOVF DISPLAY_D1,W
MOVWF TIME_STH
MOVF DISPLAY_D4,W
MOVWF TIME_STM
BRA PAGE23_SET_END8
PAGE52_SET_END ;DAILY START
MOVF DISPLAY_D1,W
MOVWF DAILY_STH
MOVF DISPLAY_D4,W
MOVWF DAILY_STM
BRA PAGE23_SET_END8
PAGE54_SET_END ;TURBO START
MOVF DISPLAY_D1,W
MOVWF TURBO_STH
MOVF DISPLAY_D4,W
MOVWF TURBO_STM
BRA PAGE23_SET_END8
;*****************************
PAEG_TWO_4KEY
SWAPF ALERTH,W
ANDLW 0X0F
MOVWF DISPLAY_D1
MOVF ALERTH,W
ANDLW 0X0F
MOVWF DISPLAY_D2
SWAPF ALERTM,W
ANDLW 0X0F
MOVWF DISPLAY_D4
MOVF ALERTM,W
ANDLW 0X0F
MOVWF DISPLAY_D5
MOVLW 1
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVLW T_ALERT_ID
BRA PAGE_TWOTHREE
;*****************************
;*****************************
PAEG_FOUR_3KEY
SWAPF HOUR,W
ANDLW 0X0F
MOVWF DISPLAY_D1
MOVF HOUR,W
ANDLW 0X0F
MOVWF DISPLAY_D2
SWAPF MINUTE,W
ANDLW 0X0F
MOVWF DISPLAY_D4
MOVF MINUTE,W
ANDLW 0X0F
MOVWF DISPLAY_D5
MOVLW 2
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVLW T_TIMESET_ID
BRA PAGE_TWOTHREE
;*****************************
;*****************************
PAEG_FIVE_1KEY
SWAPF TIME_STH,W
ANDLW 0X0F
MOVWF DISPLAY_D1
MOVF TIME_STH,W
ANDLW 0X0F
MOVWF DISPLAY_D2
SWAPF TIME_STM,W
ANDLW 0X0F
MOVWF DISPLAY_D4
MOVF TIME_STM,W
ANDLW 0X0F
MOVWF DISPLAY_D5
MOVLW 3
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVLW T_TIMESTART_ID
BRA PAGE_TWOTHREE
;*****************************
;*****************************
PAEG_FIVE_2KEY
SWAPF DAILY_STH,W
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 FSR0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -