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

📄 init_lcd.asm.bak

📁 六脚十二自由度机器人全部资料
💻 BAK
📖 第 1 页 / 共 5 页
字号:
	RCALL	W25X32_WR_DISABLE
	BRA	CONNECT_PC
;------------------	
	

WRITE_24AA02_ALL:
	MOVLW	0X25
			
	MOVWF	TXREG2				
;********************
	MOVLW	HIGH	0X300
	MOVWF	FSR0H 
	MOVF	RX232_ADDL,W
	MOVWF	FSR0L	
	
	MOVF	RX232_CNTL,W
	MOVWF	RX232_CNTH
		
WRITE_24AA02_REC_ONE_BYTE:
	CLRF	TMR3L	
	CLRF	TMR3H
WRITE_24AA02_REC_ONE_BYTE2:	
	BTFSC	TMR3H,4	;>64MS
	BRA	WRITE_24AA02_ERROR
	BTFSC	RCSTA2,OERR	;OVER FLOW
	BRA	WRITE_24AA02_ERROR	
	BTFSC	RCSTA2,FERR	;FRAME ERROR
	BRA	WRITE_24AA02_ERROR		
	
	BTFSS	PIR3,RC2IF
	BRA	WRITE_24AA02_REC_ONE_BYTE2	
		
	MOVF	RCREG2,W
	MOVWF	POSTINC0
	
	CLRF	TMR3L	
	CLRF	TMR3H	
	
	DECFSZ	RX232_CNTL
	BRA	WRITE_24AA02_REC_ONE_BYTE2
WRITE_24AA02_LAST:
	MOVLW	HIGH	0X300
	MOVWF	FSR0H 
	MOVF	RX232_ADDL,W
	MOVWF	FSR0L		
	MOVWF	ADDR_24AA
WRITE_24AA02_LAST2:
			
	MOVF	RX232_CNTH,W
	BZ	WRITE_24AA02_LAST4

	ADDLW	256-8
	BC	WRITE_24AA02_LAST4

	MOVF	RX232_CNTH,W	
	CALL	WRITE_24AA02_PAGE
	BRA	WRITE_24AA02_END

WRITE_24AA02_LAST4:

			

	CALL	WRITE_24AA02_8B
	MOVLW	8
	ADDWF	ADDR_24AA
	MOVLW	256-8
	ADDWF	RX232_CNTH
	BNZ	WRITE_24AA02_LAST2
WRITE_24AA02_END:
WRITE_24AA02_ERROR:
	BRA	CONNECT_PC
;------------------	
	










;----------------
;----------------
W25X32_WP_DISABLE
	RCALL	W25X32_WR_ENABLE	


	MOVLW	0X01
	BSF	F_CE	
	CALL	WRITE_SPI
	MOVLW	0X80
	CALL	WRITE_SPI	
	BSF	F_CE	
	
	
	CALL	DELAY_16MS	
;---------------------	
W25X32_WR_ENABLE:			
	MOVLW	0X06	
W25X32_WR_ENABLE2:	
	BSF	F_WP
W25X32_WR_ENABLE4:	
	CALL	WRITE_SPI
	BSF	F_CE	
	RETURN	
;---------------------	
W25X32_WR_DISABLE:	
	RCALL	W25X32_WR_ENABLE
	
	MOVLW	0X01
	BSF	F_CE	
	CALL	WRITE_SPI
	MOVLW	0X9C
	CALL	WRITE_SPI	
	BSF	F_CE
	
	BCF	F_WP	
	
	
	GOTO	DELAY_16MS
;---------------
;---------------
W25X32_GET_STATUS:
	MOVLW	0X05
	BSF	F_CE	
	CALL	WRITE_SPI
	CALL	WRITE_SPI_00	
	BSF	F_CE
	RETURN
;---------------
W25X32_WAKE_UP:
	BSF	F_CE
	CLRWDT
	BSF	F_VCC
		
	RETURN



;*******************************
READ_24AA02_ALL:
	MOVLW	HIGH	0X300
	MOVWF	FSR0H 
	MOVLW	LOW	0X300
	MOVWF	FSR0L
		
	CLRF	ADDR_24AA
	MOVLW	0XFF
	CALL	READ_24AA02_16B1

	MOVLW	HIGH	0X300
	MOVWF	FSR0H 
	MOVLW	LOW	0X300
	MOVWF	FSR0L	

READ_24AA02_B:
	MOVF	POSTINC0,W
	RCALL	WAIT_TX232A

	MOVF	FSR0L ,W
	BNZ	READ_24AA02_B
	BRA	CONNECT_PC
	










;******************

WAIT_TX232A:
	MOVWF	TXREG2
;---------------		
WAIT_TX232:
	CLRWDT
	BTFSS	TXSTA2,TRMT
	BRA	WAIT_TX232
	RETURN
;---------------

;---------------	
;**********************************
;**********************************
;**********************************
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
;*****************************
PAGE_ONE0:
	BCF	VEHICLE_STATUS,7		;TRIGGER FLAG
	BCF	REC_TRIGGER_F
	CLRF	NOTICEFLAG
	BCF	MOTO_PIN
PAGE_ONE0_AA:	
	CALL	CPU_CLOCK_32M

	CALL	HIDE_TOPBAR
	CALL	DISPLAY_TOP_BAR
	CALL	DISPLAY_BATT2
	CLRF	KEY_BAK
	CALL	HIDE_KEYPAD
	
	MOVLW	1
PAGE_ONE0B:	
	MOVWF	PAGE_CNT		
PAGE_ONE:
	;CALL	CPU_CLOCK_32M
	CALL	DISPLAY_PAGE2

PAGE_ONE00:	
	MOVF	PAGE_CNT,W
	XORLW	0X3
	
	BNZ	PAGE_ONE1
	
	CALL	GET_TIME_UPID
	CALL	DISPLAY_LOGO2
	
	;CALL	GET_TONE_UPID	
	;CALL	DISPLAY_LOGO2
		
PAGE_ONE1:	
	CALL	READ_6KEY
	MOVF	KEY,W
	BZ	PAGE_ONE1A
	
	CALL	DISPLAY_KEY6_DOWN00	
	BRA	PAGE_ONE1B	
PAGE_ONE1A:
	
	MOVLW	BACKWORD_ID
	CALL	DISPLAY_LOGO2	
	MOVLW	FORWORD_ID
	CALL	DISPLAY_LOGO2
		
PAGE_ONE1B:
	BSF	TOUCHDOWN_FLAG
	CALL	PRESET_LIGHT_DELAY	
	CALL	DISPLAY_TIME		
;*****************************		
	CALL	CPU_CLOCK_8M
				
;**************************
PAGE_ONE2:
	CALL	DISPLAY_BATT
	CALL	DISPLAY_TIME00
	;BTFSS	SECOND2_FLAG	
	;BRA	PAGE_ONE3
	CALL	DO_2_SECOND	
	BTFSC	REC_TRIGGER_F
	GOTO	PAGE_ZERO
	
	BTFSC	REC_ONE_OK_FLAG
	CALL	DISPLAY_TOP_BAR	
	BCF	REC_ONE_OK_FLAG

;-----------------------------------??2????????
;------------------------------------

PAGE_ONE3:
;-----------DO TOUCH-----------------------		
	BTFSC	KEY_PRESS_FG
	BRA	PAGE_ONE_TOUCH	
				BTFSC	TOUCHDOWN_FLAG
				CALL	DISPLAY_KEY6_UP
	
	BCF	TOUCHDOWN_FLAG	;BRA	PAGE_ONE_NO_TOUCH	
	BRA	PAGE_ONE_TOUCH_BAK			
PAGE_ONE_TOUCH:
;---------------TOUCH
	BTFSC	TOUCHDOWN_FLAG
	BRA	PAGE_ONE_TOUCH_BAK
	
	CALL	READ_6KEY		
	MOVF	KEY,W
	BZ	PAGE_ONE_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
		
	MOVF	KEY,W
	XORLW	06
	BZ	PAGE_ONE_KEY6_DOWN	
	
	MOVF	KEY,W
	XORLW	05
	BZ	PAGE_ONE_KEY5_DOWN		


					;BRA	PAGE_ONE
		
	GOTO	PAGE_ONE_KEY_SUB				
;--------------------------			
PAGE_ONE_TOUCH_BAK:		
;**************************
;--------DO IKEY
	BTFSC	IKEY
	GOTO	IKEY_CLOSE;BRA	PAGE_ONE32	
;**************************	
;----DO BACKLIGHT**********	
	MOVF	LIGHT_CNT
	BTFSC	STATUS,Z	
PAGE_ONE32:	
		GOTO	BACKLIGHT_TIME_OUT
;***************************
PAGE_ONE_SLEEP:			
	;CALL	DELAY_16MS
	
;****************************
PAGE_ONE_TRIGGER:
	BRA	PAGE_ONE2

;*****************************	
PAGE_ONE_KEY5_DOWN		
	MOVF	PAGE_CNT,W
	ADDLW	0XFF
	BTFSC	STATUS,Z
	MOVLW	7
	MOVWF	PAGE_CNT
	
	XORLW	5
	BNZ	PAGE_ONE_KEY5_DOWN2
	MOVLW	4
	MOVWF	PAGE_CNT	
PAGE_ONE_KEY5_DOWN2:	
		
	BRA	PAGE_ONE	
	
PAGE_ONE_KEY6_DOWN
	MOVF	PAGE_CNT,W
	XORLW	7
	BZ	PAGE_ONE_KEY6_DOWN1
		
	MOVF	PAGE_CNT,W
	ADDLW	0X1
	ANDLW	0X7
	BTFSC	STATUS,Z
PAGE_ONE_KEY6_DOWN1:	
	MOVLW	1
	MOVWF	PAGE_CNT
	
	XORLW	5
	BNZ	PAGE_ONE_KEY6_DOWN2
	MOVLW	6
	MOVWF	PAGE_CNT			
PAGE_ONE_KEY6_DOWN2:				
	BRA	PAGE_ONE
	
;PAGE_ONE_KEY6_DOWN4:	
	;BRA	PAGE_ZERO		
;*****************************
;*****************************
;*****************************		
;*****************************		
;*****************************		
;*****************************		
;*****************************		
;*****************************		
;*****************************		
;*****************************		
;*****************************		
;*****************************		
;********************	
PAEG_TWO_1KEY:;PAGE21

PAGE_TWOONE0:

PAGE_TWOONE:
	CALL	HIDE_TOPBAR
	MOVLW	8
	CALL	DISPLAY_PAGE	
	
PAGE_TWOONE1:	
	CALL	READ_6KEY
	MOVF	KEY,W
	BZ	PAGE_TWOONE1A
	CALL	DISPLAY_KEY6_DOWN00
PAGE_TWOONE1A:
	
	CALL	PRESET_LIGHT_DELAY_LONG			
;*****************************						
PAGE_TWOONE1D:
	MOVF	PARKH,W
	MOVWF	SETHOUR
	MOVF	PARKM,W
	MOVWF	SETMINUTE
	
	
	CALL	DISPLAY_SET_TIME
;**************************
PAGE_TWOONE2:
	
	RCALL	DO_2_SECOND	
		BTFSC	REC_TRIGGER_F
	GOTO	PAGE_ZERO
;-----------------------------------??2????????
;------------------------------------
PAGE_TWOONE3:
;-----------DO TOUCH-----------------------	
	BTFSC	KEY_PRESS_FG
	BRA	PAGE_TWOONE_TOUCH	
	
	CALL	DISPLAY_KEY6_UP
	
	BCF	TOUCHDOWN_FLAG	;BRA	PAGE_TWOONE_NO_TOUCH	
	BRA	PAGE_TWOONE_TOUCH_BAK			
PAGE_TWOONE_TOUCH:
;---------------TOUCH
	BTFSC	TOUCHDOWN_FLAG
	BRA	PAGE_TWOONE_TOUCH_BAK
	
	CALL	READ_6KEY		
	MOVF	KEY,W
	BZ	PAGE_TWOONE_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_TWOONE_TOUCH_BAK:		
;**************************
;--------DO IKEY
	BTFSC	IKEY
	GOTO	IKEY_CLOSE;BRA	PAGE_TWOONE32	
;**************************	
;----DO BACKLIGHT**********	
	MOVF	LIGHT_CNT
	BTFSC	STATUS,Z	
PAGE_TWOONE32:	
		GOTO	BACKLIGHT_TIME_OUT
;***************************
PAGE_TWOONE_SLEEP:			
	;CALL	DELAY_64MS
;****************************
PAGE_TWOONE_TRIGGER:
	BRA	PAGE_TWOONE2

;*****************************	
PAEG_TWOONE_1KEY
	MOVF	PARKM,W
	ADDLW	0X10
	DAW
	MOVWF	PARKM
	ADDLW	0X100-0X59
	BTFSS	STATUS,C
	BRA	PAGE_TWOONE1D
	CLRF	PARKM
	INCF	PARKH,W
	DAW
	MOVWF	PARKH
	BRA	PAGE_TWOONE1D
PAEG_TWOONE_2KEY
	MOVF	PARKM,W
	ADDLW	0X90
	DAW
	MOVWF	PARKM
	ADDLW	0X100-0X59
	BTFSS	STATUS,C
	BRA	PAGE_TWOONE1D
	
	MOVLW	0XC0
	ADDWF	PARKM
	
	MOVLW	0X99
	ADDWF	PARKH,W
	DAW
	MOVWF	PARKH
	BRA	PAGE_TWOONE1D	
	
	
PAEG_TWOONE_3KEY
	MOVLW	1
	BRA	PAGE_TWOONE_KEY4_DOWN2	
PAEG_TWOONE_4KEY	
	MOVLW	2
PAGE_TWOONE_KEY4_DOWN2:	
	MOVWF	PARKH
	BRA	PAGE_TWOONE_KEY5_DOWN2		 
PAEG_TWOONE_5KEY
	CLRF	PARKH
PAGE_TWOONE_KEY5_DOWN2	
	CLRF	PARKM	
	BRA	PAGE_TWOONE1D		 
PAEG_TWOONE_6KEY		
	CALL	HIDE_TOPBAR
	CALL	DISPLAY_TOP_BAR
	
	CALL	DISPLAY_FORWORD_KEY
	
	MOVLW	0X2;PAGE_BAK,W					
	BRA	PAGE_ONE0B	
;*****************************	
;*****************************	
;*****************************	
;*****************************	
;*****************************	
PAEG_THREE_3KEY:


PAGE_THREETHREE0:

PAGE_THREETHREE:
	CALL	HIDE_TOPBAR
	MOVLW	9
	CALL	DISPLAY_PAGE	
	
PAGE_THREETHREE1:	
	CALL	READ_6KEY
	MOVF	KEY,W
	BZ	PAGE_THREETHREE1A
	CALL	DISPLAY_KEY6_DOWN00
PAGE_THREETHREE1A:
	
	CALL	PRESET_LIGHT_DELAY_LONG			
;*****************************						

PAGE_THREETHREE1D:
	MOVLW	44
	
	MOVWF	DISPLAY_D0
	MOVWF	DISPLAY_D1
	MOVWF	DISPLAY_D2
	MOVWF	DISPLAY_D3
	MOVWF	DISPLAY_D4
	MOVWF	DISPLAY_D5
		
	
	BTFSS	VIBR_FLAG
	BRA	PAGE_THREETHREE_VIBR_OFF
	
	MOVLW	'V'+10-'A'
	MOVWF	DISPLAY_D1
	
	MOVLW	'I'+10-'A'
	MOVWF	DISPLAY_D2
PAGE_THREETHREE_VIBR_OFF:	
	
	BTFSS	MELODY_FLAG
	BRA	PAGE_THREETHREE_MELODY_OFF
	
	MOVLW	'M'+10-'A'
	MOVWF	DISPLAY_D4
	
	MOVLW	'E'+10-'A'
	MOVWF	DISPLAY_D5
PAGE_THREETHREE_MELODY_OFF:	
	
	CALL	DISPLAY_TOP_6BIT
;**************************
PAGE_THREETHREE2:
			
	RCALL	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
;**************************

⌨️ 快捷键说明

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