📄 pda_166p64_v01.asm
字号:
;**************************
PAGE_THREETHREE2:
CALL DO_2_SECOND
BTFSC REC_TRIGGER_F
GOTO PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_THREETHREE3:
;-----------DO TOUCH-----------------------
BTFSC KEY_PRESS_FG
BRA PAGE_THREETHREE_TOUCH
CALL DISPLAY_KEY6_UP
BCF TOUCHDOWN_FLAG ;BRA PAGE_THREETHREE_NO_TOUCH
BRA PAGE_THREETHREE_TOUCH_BAK
PAGE_THREETHREE_TOUCH:
;---------------TOUCH
BTFSC TOUCHDOWN_FLAG
BRA PAGE_THREETHREE_TOUCH_BAK
CALL READ_6KEY
MOVF KEY,W
BZ PAGE_THREETHREE_TOUCH_BAK
MOVF KEY,W
MOVWF KEY_BAK
MOVF PAGE_CNT,W
MOVWF PAGE_BAK
CALL DISPLAY_KEY6_DOWN
CALL PRESET_LIGHT_DELAY_LONG
CALL SPEECH_KEY
GOTO PAGE_TWOONE_KEY_SUB
;--------------------------
;--------------------------
PAGE_THREETHREE_TOUCH_BAK:
;**************************
;--------DO IKEY
BTFSC IKEY
GOTO IKEY_CLOSE;BRA PAGE_THREETHREE32
;**************************
;----DO BACKLIGHT**********
MOVF LIGHT_CNT
BTFSC STATUS,Z
PAGE_THREETHREE32:
GOTO BACKLIGHT_TIME_OUT
;***************************
PAGE_THREETHREE_SLEEP:
;CALL DELAY_64MS
;****************************
PAGE_THREETHREE_TRIGGER:
BRA PAGE_THREETHREE2
;*****************************
PAEG_THREETHREE_1KEY
BSF TONEOFF_FLAG
CALL WRITE_MOBILE_STATUS
BRA PAGE_THREETHREE1D
PAEG_THREETHREE_2KEY
BCF TONEOFF_FLAG
CALL WRITE_MOBILE_STATUS
BRA PAGE_THREETHREE1D
PAEG_THREETHREE_3KEY
BTG VIBR_FLAG
BTFSS VIBR_FLAG
BRA PAGE_THREETHREE1D
BSF MOTO_PIN
CALL DELAY_256MS
BCF MOTO_PIN
BRA PAGE_THREETHREE1D
PAEG_THREETHREE_4KEY
BTG MELODY_FLAG
BRA PAGE_THREETHREE1D
;----------------------POWER DOWN
PAEG_THREETHREE_5KEY:
BTFSS CHARGE
BRA PAGE_THREETHREE1D
CLRF INTCON
;CALL LCD_OFF
CLRF CCPR2L
;CALL CPU_CLOCK_32K
CLRF CNT1
CLRF CNT2
CLRF CNT3
PAEG_THREETHREE_5KEY2:
BCF MCU_OUT
CLRWDT
CLRWDT
CLRWDT
CLRWDT
CLRWDT
CLRWDT
BTG TP
DECFSZ CNT1
BRA PAEG_THREETHREE_5KEY2
DECFSZ CNT2
BRA PAEG_THREETHREE_5KEY2
DECFSZ CNT3
BRA PAEG_THREETHREE_5KEY2
;BRA
RESET
;------------------
PAEG_THREETHREE_6KEY
CALL HIDE_TOPBAR
CALL DISPLAY_TOP_BAR
CALL DISPLAY_FORWORD_KEY
MOVLW 0X3;PAGE_BAK,W
BRA PAGE_ONE0B
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
PAEG_FOUR_1KEY
PAGE_FOURONE0:
PAGE_FOURONE:
CALL HIDE_TOPBAR
MOVLW 10
CALL DISPLAY_PAGE
PAGE_FOURONE1:
CALL READ_6KEY
MOVF KEY,W
BZ PAGE_FOURONE1A
CALL DISPLAY_KEY6_DOWN00
PAGE_FOURONE1A:
CALL PRESET_LIGHT_DELAY_LONG
;*****************************
PAGE_FOURONE1D:
MOVLW 44
MOVWF DISPLAY_D0
MOVWF DISPLAY_D1
MOVWF DISPLAY_D2
MOVWF DISPLAY_D3
MOVLW 6
BTFSS LIGHT,4
MOVLW 0
ADDWF LIGHT,W
DAW
MOVWF DISPLAY_D4
ANDLW 0X0F
MOVWF DISPLAY_D5
SWAPF DISPLAY_D4,W
ANDLW 0X0F
MOVWF DISPLAY_D4
MOVF LIGHT,W
ANDLW 0X1F
ADDWF WREG,W
IORLW 0X1
MOVWF CCPR2L
CALL DISPLAY_TOP_6BIT
;**************************
PAGE_FOURONE2:
CALL DO_2_SECOND
BTFSC REC_TRIGGER_F
GOTO PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_FOURONE3:
;-----------DO TOUCH-----------------------
BTFSC KEY_PRESS_FG
BRA PAGE_FOURONE_TOUCH
CALL DISPLAY_KEY6_UP
BCF TOUCHDOWN_FLAG ;BRA PAGE_FOURONE_NO_TOUCH
BRA PAGE_FOURONE_TOUCH_BAK
PAGE_FOURONE_TOUCH:
;---------------TOUCH
BTFSC TOUCHDOWN_FLAG
BRA PAGE_FOURONE_TOUCH_BAK
CALL READ_6KEY
MOVF KEY,W
BZ PAGE_FOURONE_TOUCH_BAK
MOVF KEY,W
MOVWF KEY_BAK
MOVF PAGE_CNT,W
MOVWF PAGE_BAK
CALL DISPLAY_KEY6_DOWN
CALL PRESET_LIGHT_DELAY_LONG
CALL SPEECH_KEY
GOTO PAGE_TWOONE_KEY_SUB
;--------------------------
;--------------------------
PAGE_FOURONE_TOUCH_BAK:
;**************************
;--------DO IKEY
BTFSC IKEY
GOTO IKEY_CLOSE;BRA PAGE_FOURONE32
;**************************
;----DO BACKLIGHT**********
MOVF LIGHT_CNT
BTFSC STATUS,Z
PAGE_FOURONE32:
GOTO BACKLIGHT_TIME_OUT
;***************************
PAGE_FOURONE_SLEEP:
;CALL DELAY_64MS
;****************************
PAGE_FOURONE_TRIGGER:
BRA PAGE_FOURONE2
;*****************************
PAEG_FOURONE_1KEY
MOVLW 04
PAEG_FOURONE_1KEY2:
MOVWF LIGHT
BRA PAGE_FOURONE1D
PAEG_FOURONE_2KEY
MOVLW 08
BRA PAEG_FOURONE_1KEY2
PAEG_FOURONE_3KEY
MOVLW 12
BRA PAEG_FOURONE_1KEY2
PAEG_FOURONE_4KEY
MOVLW 16
BRA PAEG_FOURONE_1KEY2
;----------------------DEMO
PAEG_FOURONE_5KEY
MOVLW 20
BRA PAEG_FOURONE_1KEY2
;------------------
PAEG_FOURONE_6KEY
;MOVLW 05
;MOVWF LIGHT
CALL WRITE_MOBILE_STATUS
CALL HIDE_TOPBAR
CALL DISPLAY_TOP_BAR
CALL DISPLAY_FORWORD_KEY
MOVLW 0X4;PAGE_BAK,W
BRA PAGE_ONE0B
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
PAEG_FOUR_2KEY
PAGE_FOURTWO0:
PAGE_FOURTWO:
CALL HIDE_TOPBAR
MOVLW 11
CALL DISPLAY_PAGE
PAGE_FOURTWO1:
CALL READ_6KEY
MOVF KEY,W
BZ PAGE_FOURTWO1A
CALL DISPLAY_KEY6_DOWN00
PAGE_FOURTWO1A:
BSF TOUCHDOWN_FLAG
;*****************************
PAGE_FOURTWO1D:
CALL PRESET_LIGHT_DELAY_LONG
MOVLW 44
MOVWF DISPLAY_D0
MOVWF DISPLAY_D1
MOVWF DISPLAY_D2
MOVWF DISPLAY_D3
MOVLW 6
BTFSS LIGHT_DELAY,4
MOVLW 0
ADDWF LIGHT_DELAY,W
DAW
MOVWF DISPLAY_D4
ANDLW 0X0F
MOVWF DISPLAY_D5
SWAPF DISPLAY_D4,W
ANDLW 0X0F
MOVWF DISPLAY_D4
CALL DISPLAY_TOP_6BIT
;**************************
PAGE_FOURTWO2:
CALL DO_2_SECOND
BTFSC REC_TRIGGER_F
GOTO PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_FOURTWO3:
;-----------DO TOUCH-----------------------
BTFSC KEY_PRESS_FG
BRA PAGE_FOURTWO_TOUCH
CALL DISPLAY_KEY6_UP
BCF TOUCHDOWN_FLAG ;BRA PAGE_FOURTWO_NO_TOUCH
BRA PAGE_FOURTWO_TOUCH_BAK
PAGE_FOURTWO_TOUCH:
;---------------TOUCH
BTFSC TOUCHDOWN_FLAG
BRA PAGE_FOURTWO_TOUCH_BAK
CALL READ_6KEY
MOVF KEY,W
BZ PAGE_FOURTWO_TOUCH_BAK
MOVF KEY,W
MOVWF KEY_BAK
MOVF PAGE_CNT,W
MOVWF PAGE_BAK
CALL DISPLAY_KEY6_DOWN
CALL PRESET_LIGHT_DELAY_LONG
CALL SPEECH_KEY
GOTO PAGE_TWOONE_KEY_SUB
;--------------------------
;--------------------------
PAGE_FOURTWO_TOUCH_BAK:
;**************************
;--------DO IKEY
BTFSC IKEY
GOTO IKEY_CLOSE;BRA PAGE_FOURTWO32
;**************************
;----DO BACKLIGHT**********
MOVF LIGHT_CNT
BTFSC STATUS,Z
PAGE_FOURTWO32:
GOTO BACKLIGHT_TIME_OUT
;***************************
PAGE_FOURTWO_SLEEP:
;CALL DELAY_64MS
;****************************
PAGE_FOURTWO_TRIGGER:
BRA PAGE_FOURTWO2
;*****************************
PAEG_FOURTWO_1KEY
INCF LIGHT_DELAY
MOVF LIGHT_DELAY,W
ADDLW 256-26
BNC PAGE_FOURTWO1D
MOVLW 2
MOVWF LIGHT_DELAY
BRA PAEG_FOURTWO_1KEY
PAEG_FOURTWO_2KEY
DECF LIGHT_DELAY
MOVF LIGHT_DELAY,W
ADDLW 256-3
BC PAGE_FOURTWO1D
MOVLW 26
MOVWF LIGHT_DELAY
BRA PAEG_FOURTWO_2KEY
PAEG_FOURTWO_3KEY
MOVLW 5
BRA PAEG_FOURTWO_5KEY2
PAEG_FOURTWO_4KEY
MOVLW 10
BRA PAEG_FOURTWO_5KEY2
;----------------------DEMO
PAEG_FOURTWO_5KEY
MOVLW 15
PAEG_FOURTWO_5KEY2:
MOVWF LIGHT_DELAY
BRA PAGE_FOURTWO1D
;------------------
;*****************************
;*****************************
;*****************************
PAGE_FIVETHREE_NOTEMP
MOVLW 44
MOVWF DISPLAY_D2
MOVWF DISPLAY_D3
MOVLW 'N'+10-'A'
MOVWF DISPLAY_D4
MOVLW 'O'+10-'A'
MOVWF DISPLAY_D5
BRA PAGE_FIVETHREE1G
;*****************************
PAEG_FIVE_3KEY
PAGE_FIVETHREE0:
PAGE_FIVETHREE:
CALL HIDE_TOPBAR
MOVLW 12
CALL DISPLAY_PAGE
PAGE_FIVETHREE1:
CALL READ_6KEY
MOVF KEY,W
BZ PAGE_FIVETHREE1A
CALL DISPLAY_KEY6_DOWN00
PAGE_FIVETHREE1A:
CALL PRESET_LIGHT_DELAY_LONG
;*****************************
PAGE_FIVETHREE1D:
MOVLW 44
MOVWF DISPLAY_D0
MOVWF DISPLAY_D1
MOVLW 42
MOVWF DISPLAY_D2
MOVLW 41
MOVWF DISPLAY_D5
MOVF STARTTEMP,W
BZ PAGE_FIVETHREE_NOTEMP
ANDLW 0X1F
ADDLW 0X0
BTFSC WREG,4
ADDLW 0X06
DAW
MOVWF DISPLAY_D3
ANDLW 0X0F
MOVWF DISPLAY_D4
SWAPF DISPLAY_D3,W
ANDLW 0X0F
MOVWF DISPLAY_D3
PAGE_FIVETHREE1G:
CALL DISPLAY_TOP_6BIT
;**************************
PAGE_FIVETHREE2:
CALL DO_2_SECOND
BTFSC REC_TRIGGER_F
GOTO PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_FIVETHREE3:
;-----------DO TOUCH-----------------------
BTFSC KEY_PRESS_FG
BRA PAGE_FIVETHREE_TOUCH
CALL DISPLAY_KEY6_UP
BCF TOUCHDOWN_FLAG ;BRA PAGE_FIVETHREE_NO_TOUCH
BRA PAGE_FIVETHREE_TOUCH_BAK
PAGE_FIVETHREE_TOUCH:
;---------------TOUCH
BTFSC TOUCHDOWN_FLAG
BRA PAGE_FIVETHREE_TOUCH_BAK
CALL READ_6KEY
MOVF KEY,W
BZ PAGE_FIVETHREE_TOUCH_BAK
MOVF KEY,W
MOVWF KEY_BAK
MOVF PAGE_CNT,W
MOVWF PAGE_BAK
CALL DISPLAY_KEY6_DOWN
CALL PRESET_LIGHT_DELAY_LONG
CALL SPEECH_KEY
GOTO PAGE_TWOONE_KEY_SUB
;--------------------------
;--------------------------
PAGE_FIVETHREE_TOUCH_BAK:
;**************************
;--------DO IKEY
BTFSC IKEY
GOTO IKEY_CLOSE;BRA PAGE_FIVETHREE32
;**************************
;----DO BACKLIGHT**********
MOVF LIGHT_CNT
BTFSC STATUS,Z
PAGE_FIVETHREE32:
GOTO BACKLIGHT_TIME_OUT
;***************************
PAGE_FIVETHREE_SLEEP:
;CALL DELAY_64MS
;****************************
PAGE_FIVETHREE_TRIGGER:
BRA PAGE_FIVETHREE2
;*****************************
PAEG_FIVETHREE_1KEY
MOVLW 0X85
PAEG_FIVETHREE_1KEY2:
MOVWF STARTTEMP
BRA PAGE_FIVETHREE1D
PAEG_FIVETHREE_2KEY
MOVLW 0X8A
BRA PAEG_FIVETHREE_1KEY2
PAEG_FIVETHREE_3KEY
MOVLW 0X8F
BRA PAEG_FIVETHREE_1KEY2
PAEG_FIVETHREE_4KEY
MOVLW 0X94
BRA PAEG_FIVETHREE_1KEY2
;----------------------DEMO
PAEG_FIVETHREE_5KEY
MOVLW 0X00
BRA PAEG_FIVETHREE_1KEY2
;------------------
PAEG_FIVETHREE_6KEY
CALL HIDE_TOPBAR
CALL DISPLAY_TOP_BAR
CALL DISPLAY_FORWORD_KEY
MOVLW 0X5;PAGE_BAK,W
BRA PAGE_ONE0B
;*****************************
;*****************************
PAEG_TWO_3KEY
;*****************************
SWAPF CNTDOWNH,W
ANDLW 0X0F
MOVWF DISPLAY_D1
MOVF CNTDOWNH,W
ANDLW 0X0F
MOVWF DISPLAY_D2
SWAPF CNTDOWNM,W
ANDLW 0X0F
MOVWF DISPLAY_D4
MOVF CNTDOWNM,W
ANDLW 0X0F
MOVWF DISPLAY_D5
MOVLW 0
MOVWF PAGE_CNT2
CALL HIDE_KEYPAD
MOVLW T_CNTDOWN_ID
PAGE_TWOTHREE:
CALL DISPLAY_LOGO2
MOVLW 13 ;DISPLAY_NUM
CALL DISPLAY_PAGE
MOVLW 44
MOVWF DISPLAY_D0
MOVLW 36
MOVWF DISPLAY_D3
PAGE_TWOTHREE1:
CALL READ_12KEY
MOVF KEY,W
BZ PAGE_TWOTHREE1A
CALL DISPLAY_KEY12_DOWN00
PAGE_TWOTHREE1A:
MOVLW 1
MOVWF CURSE_POS
CALL PRESET_LIGHT_DELAY_LONG
;*****************************
PAGE_TWOTHREE1D:
;**************************
PAGE_TWOTHREE2:
PAGE_TWOTHREE2_A
CALL DISPLAY_TOP_6BIT
CALL DISPLAY_TOP_CURSE
PAGE_TWOTHREE2_2:
CALL DO_2_SECOND
BTFSC REC_TRIGGER_F
GOTO PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_TWOTHREE3:
;-----------DO TOUCH-----------------------
BTFSC KEY_PRESS_FG
BRA PAGE_TWOTHREE_TOUCH
CALL DISPLAY_KEY12_UP
BCF TOUCHDOWN_FLAG ;BRA PAGE_TWOTHREE_NO_TOUCH
BRA PAGE_TWOTHREE_TOUCH_BAK
PAGE_TWOTHREE_TOUCH:
;---------------TOUCH
BTFSC TOUCHDOWN_FLAG
BRA PAGE_TWOTHREE_TOUCH_BAK
CALL READ_12KEY
MOVF KEY,W
BZ PAGE_TWOTHREE_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_TWOTHREE_ENTERKEY
MOVLW 5
DCFSNZ CURSE_POS
BRA PAGE23_SET_END8;MOVWF CURSE_POS
MOVF CURSE_POS,W
XORLW 3
BTFSC STATUS,Z
DECF CURSE_POS
BRA PAGE_TWOTHREE1D
PAGE_TWOTHREE_ENTERKEY:
MOVF KEY,W
XORLW 12
BNZ PAGE_TWOTHREE_NUMKEY
SWAPF DISPLAY_D1,W
IORWF DISPLAY_D2,W
MOVWF DISPLAY_D1
SWAPF DISPLAY_D4,W
IORWF DISPLAY_D5,W
MOVWF DISPLAY_D4
ADDLW 0X40
DAW
BTFSS STATUS,C
BRA PAGE_TWOTHREE_ENTERKEY2
MOVWF DISPLAY_D4
INCF DISPLAY_D1,W
DAW
MOVWF DISPLAY_D1
PAGE_TWOTHREE_ENTERKEY2:
MOVF PAGE_CNT2,W
BTFSC STATUS,Z
GOTO PAGE_TWOTHREE_ENTERKEY_SUB
MOVF DISPLAY_D1,W
PAGE_TWOTHREE_ENTERKEY4:
MOVWF DISPLAY_D1
MOVF DISPLAY_D1,W
ADDLW 0X76
DAW
BC PAGE_TWOTHREE_ENTERKEY4
GOTO PAGE_TWOTHREE_ENTERKEY_SUB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -