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

📄 pda_166p64_v01.asm

📁 一种多自由度智能机器人的设计全部资料上传!
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;**************************
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 + -