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

📄 init_lcd.asm.bak

📁 六脚十二自由度机器人全部资料
💻 BAK
📖 第 1 页 / 共 5 页
字号:
	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 + -