📄 robot_v01bak.asm
字号:
CLRF INTCON3
CLRF FSR2H
CLRF FSR2L
;--------------------------
IO_INIT4:
CLRF POSTINC2
BTFSS FSR2H,1
BRA IO_INIT4
RETURN
IO_TABLE:
;**************table for pic87f65j11
; FD5H T0CON , FD4H -----
DB 00000000B , 00000000B
; FD3H OSCCON , FD2H -----
DB 00000010B , 00000000B
; FD1H WDTCON , FD0H RCON
DB 10000001B , 01111111B
; FCFH TMR1H , FCEH TMR1L
DB 00000000B , 00000000B
; FCDH T1CON , FCCH TMR2
DB 00100101B , 00000000B
; FCBH PR2 , FCAH T2CON
DB 01000000B , 00000100B
; FC9H SSP1BUF , FC8H SSP1ADD
DB 00000000B , 00000000B
; FC7H SSP1STAT , FC6H SSP1CON1
DB 01000000B , 00100000B
; FC5H SSP1CON2 , FC4H ADRESH
DB 00000000B , 00000000B
; FC3H ADRESL , FC2H ADCON0
DB 00000000B , 00000000B
; FC1H ADCON1 , FC0H ADCON2
DB 00001100B , 00001111B
; FBFH reseve , FBEH reseve
DB 00000000B , 00000000B
; FBdH reseve , FBcH reseve
DB 00000000B , 00000000B
; FBbH reseve , FBaH reseve
DB 00000000B , 00000000B
; FB9H reseve , FB8H reseve
DB 00000000B , 00000000B
; FB7H reseve , FB6H reseve
DB 00000000B , 00000000B
; FB5H CVRCON , FB4H CMCON
DB 00000000B , 11111111B
; FB3H TMR3H , FB2H TMR3L
DB 00000000B , 00000000B
; FB1H T3CON , FB0H PSPCON
DB 01000111B , 00000000B
; FAFH SPBRG1 , FAEH RCREG1
DB 00000000B , 00000000B
; FADH TXREG1 , FACH TXSTA1
DB 00000000B , 00000000B
; FABH RCSTA1 , FAAH -----
DB 00000000B , 00000000B
; FA9H ----- , FA8H -----
DB 00000000B , 00000000B
; FA7H EECON2 , FA6H EECON1
DB 00000000B , 00000000B
; FA5H IPR3 , FA4H PIR3
DB 00000000B , 00000000B
; FA3H PIE3 , FA2H IPR2
DB 00000000B , 00000000B
; FA1H PIR2 , FA0H PIE2
DB 00000000B , 00000000B
; F9FH IPR1 , F9EH PIR1 ,
DB 00000000B , 00000000B
; F9DH PIE1 , F9CH MEMCON
DB 00000000B , 11111111B
; F9BH OSCTUNE , F9AH TRISJ
DB 00000000B , 11111111B
; F99H TRISH , F98H TRISG
DB 11111111B , 00000000B
; F97H TRISF , F96H TRISE
DB 00000000B , 00000000B
; F95H TRISD , F94H TRISC
DB 00000000B , 10010000B
; F93H TRISB , F92H TRISA
DB 01111111B , 00000000B
; F91H LATJ , F90H LATH
DB 00000000B , 00000000B
; F8FH LATG , F8EH LATF
DB 00000000B , 11000100B
; F8DH LATE , F8CH LATD
DB 11100000B , 00000000B
; F8BH LATC , F8AH LATB
DB 11000000B , 00000000B
; F89H LATA , F88H PORTJ
DB 00010000B , 00000000B
; F87H PORTH , F86H PORTG
DB 00000000B , 00000000B
; F85H PORTF , F84H PORTE
DB 11000100B , 11100000B
; F83H PORTD , F82H PORTC
DB 00000000B , 11000000B
; F81H PORTB , F80H PORTA
DB 00000000B , 00010000B
; F7FH SPBRGH1 , F7EH BAUDCON1
DB 00000000B , 00001000B
; F7dH reseve F7cH reseve
DB 00000000B , 00000000B
; F7bH reseve , F7aH reseve
DB 00000000B , 00000000B
; F79H reseve , F78H reseve
DB 00000000B , 00000000B
; F77H reseve , F76H reseve
DB 00000000B , 00000000B
; F75H reseve , F74H reseve
DB 00000000B , 00000000B
; F73H reseve , F72H reseve
DB 00000000B , 00000000B
; F71H reseve , F70H reseve
DB 00000000B , 00000000B
; F6fH reseve , F6eH reseve
DB 00000000B , 00000000B
; F6dH reseve , F6cH reseve
DB 00000000B , 00000000B
; F6bH reseve , F6aH CCPR1H
DB 00000000B , 00111111B
; F69H CCPR1L , F68H CCP1CON
DB 00000000B , 00000000B
; F67H CCPR2H , F66H CCPR2L
DB 00111111B , 00000000B
; F65H CCP2CON , F64H SPBRG2
DB 00001100B , 00000001B
; F63H RCREG2 , F62H TXREG2
DB 00000000B , 00000000B
; F61H TXSTA2 , F60H RCSTA2 ,
DB 00101110B , 10010000B
;*************************
;**************table for pic87f65j10
; FD5H T0CON , FD4H -----
DB 00000000B , 00000000B
; FD3H OSCCON , FD2H -----
DB 00000010B , 00000000B
; FD1H WDTCON , FD0H RCON
DB 00000001B , 01111111B
; FCFH TMR1H , FCEH TMR1L
DB 00000000B , 00000000B
; FCDH T1CON , FCCH TMR2
DB 01001111B , 00000000B
; FCBH PR2 , FCAH T2CON
DB 00111111B , 00000100B
; FC9H SSP1BUF , FC8H SSP1ADD
DB 00000000B , 00000000B
; FC7H SSP1STAT , FC6H SSP1CON1
DB 01000000B , 00100000B
; FC5H SSP1CON2 , FC4H ADRESH
DB 00000000B , 00000000B
; FC3H ADRESL , FC2H ADCON0
DB 00000000B , 00000000B
; FC1H ADCON1 , FC0H ADCON2
DB 00001100B , 00001111B
; FBFH CCPR1H , FBEH CCPR1L
DB 00111111B , 00000000B
; FBDH CCP1CON , FBCH CCPR2H
DB 00001100B , 00111111B
; FBBH CCPR2L , FBAH CCP2CON
DB 00000000B , 00001100B
; FB9H CCPR3H , FB8H CCPR3L
DB 00000000B , 00000000B
; FB7H CCP3CON , FB6H ECCP1AS
DB 00000000B , 00000000B
; FB5H CVRCON , FB4H CMCON
DB 00000000B , 11111111B
; FB3H TMR3H , FB2H TMR3L
DB 00000000B , 00000000B
; FB1H T3CON , FB0H PSPCON
DB 01000111B , 00000000B
; FAFH SPBRG1 , FAEH RCREG1
DB 00000000B , 00000000B
; FADH TXREG1 , FACH TXSTA1
DB 00000000B , 00000000B
; FABH RCSTA1 , FAAH -----
DB 00000000B , 00000000B
; FA9H ----- , FA8H -----
DB 00000000B , 00000000B
; FA7H EECON2 , FA6H EECON1
DB 00000000B , 00000000B
; FA5H IPR3 , FA4H PIR3
DB 00000000B , 00000000B
; FA3H PIE3 , FA2H IPR2
DB 00000000B , 00000000B
; FA1H PIR2 , FA0H PIE2
DB 00000000B , 00000000B
; F9FH IPR1 , F9EH PIR1 ,
DB 00000000B , 00000000B
; F9DH PIE1 , F9CH MEMCON
DB 00000000B , 11111111B
; F9BH OSCTUNE , F9AH TRISJ
DB 10111111B , 11111111B
; F99H TRISH , F98H TRISG
DB 11111111B , 00000100B
; F97H TRISF , F96H TRISE
DB 00100000B , 00000000B
; F95H TRISD , F94H TRISC
DB 00000000B , 00010011B
; F93H TRISB , F92H TRISA
DB 11100000B , 00000111B
; F91H LATJ , F90H LATH
DB 00000000B , 00000000B
; F8FH LATG , F8EH LATF
DB 00000000B , 00000000B
; F8DH LATE , F8CH LATD
DB 11100000B , 00000000B
; F8BH LATC , F8AH LATB
DB 11000000B , 00000000B
; F89H LATA , F88H PORTJ
DB 00100000B , 00000000B
; F87H PORTH , F86H PORTG
DB 00000000B , 00000000B
; F85H PORTF , F84H PORTE
DB 00000000B , 11100000B
; F83H PORTD , F82H PORTC
DB 00000000B , 11000000B
; F81H PORTB , F80H PORTA
DB 00000000B , 00100000B
; F7FH SPBRGH1 , F7EH BAUDCON1
DB 00000000B , 00001000B
; F7DH SPBRGH2 , F7CH BAUDCON2
DB 00000000B , 00001000B
; F7BH ------- , F7AH ------
DB 00000000B , 00000000B
; F79H ECCP1DEL , F78H TMR4
DB 10000001B , 00000000B
; F77H PR4 , F76H T4CON
DB 00000000B , 00000000B
; F75H CCPR4H , F74H CCPR4L
DB 00000000B , 00000000B
; F73H CCP4CON , F72H CCPR5H
DB 00000000B , 00000000B
; F71H CCPR5L , F70H CCP5CON
DB 00000000B , 00000000B
; F6FH SPBRG2 , F6EH RCREG2
DB 00000111B , 00000000B
; F6DH TXREG2 , F6CH TXSTA2
DB 00000000B , 00101110B
; F6BH RCSTA2 , F6AH ECCP3AS
DB 10010000B , 00000000B
; F69H ECCP3DEL , F68H ECCP2AS
DB 11111111B , 00000000B
; F67H ECCP2DEL , F66H SSP2BUF
DB 11111111B , 00000000B
; F65H SSP2ADD , F64H SSP2STAT
DB 00000000B , 00000000B
; F63H SSP2CON1 , F62H SSP2CON2
DB 00000000B , 00000000B
;******************************
;******************************
;******************************
;--------------------------
WRITE_SPI_03H_CS
MOVLW 03
BRA WRITE_SPI
WRITE_SPI_00:
MOVLW 0
WRITE_SPI:
BCF F_CE
MOVWF SSP1BUF
DELAY8NOP:
CLRWDT
NOP
NOP
NOP
NOP
CLRWDT
NOP
NOP
NOP
NOP
MOVF SSP1BUF,W
RETURN
;**********************************
;**********************************
;******************************
SPEECH_V1:
MOVLW 0
SPEECH_V1_2:
MOVWF VOIC_CNT
SPEECH_V2:
MOVF VOIC_CNT,W
MULLW 0X40
MOVF PRODL,W
MOVWF PIC_ADDRM
MOVF PRODH,W
MOVWF PIC_ADDRH
MOVLW 0X60
MOVWF PIC_ADDRL
SPEECH_ONE:
RCALL WRITE_SPI_03H_CS
MOVF PIC_ADDRH,W
RCALL WRITE_SPI
MOVF PIC_ADDRM,W
RCALL WRITE_SPI
MOVF PIC_ADDRL,W
RCALL WRITE_SPI
RCALL WRITE_SPI
RCALL SOUND_SOFT_ON
MOVLW 0X00
MOVWF PIC_ADDRH
MOVLW 0X3F
MOVWF PIC_ADDRM
MOVLW 0X90
MOVWF PIC_ADDRL
MOVLW 24
CPFSEQ VOIC_CNT
BRA SPEECH_ONE2
MOVLW 0X01
MOVWF PIC_ADDRH
MOVLW 0XFF
MOVWF PIC_ADDRM
MOVLW 0X90
MOVWF PIC_ADDRL
SPEECH_ONE2:
MOVF SSP1BUF,W
MOVWF SSP1BUF
MOVWF PRODL
MOVWF PRODH
; MOVWF LAT
RRCF PRODL
RRCF PRODL,W
ANDLW 00111111B
MOVWF PRODL ;CCPR1L
SWAPF PRODH
ANDLW 00110000B
IORLW 00001100B
MOVWF CCP2CON
MOVF PRODL,W
MOVWF CCPR2L
CLRWDT
SPEECH_ONE4:
BTFSS TMR1L,6
BRA SPEECH_ONE4 ;BTG LATE,0
SPEECH_ONE5:
BTFSC TMR1L,6
BRA SPEECH_ONE5
MOVLW 0XFF
ADDWF PIC_ADDRL
ADDWFC PIC_ADDRM
ADDWFC PIC_ADDRH
BC SPEECH_ONE2
SOUND_SOFT_OFF:
BSF F_CE
MOVLW 00001100B
MOVWF CCP2CON
MOVF CCPR2L,W
bz SOUND_SOFT_OFF_end
SOUND_SOFT_OFF2:
BTFSS TMR1L,6
BRA SOUND_SOFT_OFF2
SOUND_SOFT_OFF4:
BTFSC TMR1L,6
BRA SOUND_SOFT_OFF4
CALL WORK_1
DECFSZ CCPR2L
BRA SOUND_SOFT_OFF2
SOUND_SOFT_OFF_end:
RETURN
;-----------------------------------
SOUND_SOFT_ON:
MOVLW 00001100B
MOVWF CCP2CON
SOUND_SOFT_ON2:
BTFSS TMR1L,6
BRA SOUND_SOFT_ON2
SOUND_SOFT_ON4:
BTFSC TMR1L,6
BRA SOUND_SOFT_ON4
CALL WORK_1
INCF CCPR2L
BTFSS CCPR2L,5
BRA SOUND_SOFT_ON2
RETURN
;********************
;*************************
;******************************
;******************************
;******************************
;******************************
MAX_WORK_STEP EQU 32
;******************************
ROBOT_WORK:
MOVF WORK_CNT,W
ANDLW 0X07
BTFSS STATUS,Z
RETURN
MOVF ROBOT_STATUSH,W
IORWF ROBOT_STATUSL,W
BTFSC STATUS,Z
RETURN ;BZ ROBOT_WORK_STOP
MOVLW UPPER ROBOT_STEP_TABLE; LOAD TBLPTR WITH THE BASE
MOVWF TBLPTRU ; PIC_ADDRESS OF THE WORD
MOVLW HIGH ROBOT_STEP_TABLE
MOVWF TBLPTRH
MOVLW LOW ROBOT_STEP_TABLE
MOVWF TBLPTRL
RLCF WORK_DIRECT,W
ANDLW B'00001110'
ADDWF TBLPTRL
MOVLW 0
ADDWFC TBLPTRH
ADDWFC TBLPTRU
TBLRD*+; READ INTO TABLAT AND INCREMENT
MOVF TABLAT,W ; GET DATA
MOVWF PRODL
TBLRD*+; READ INTO TABLAT AND INCREMENT
MOVF TABLAT,W ; GET DATA
MOVWF TBLPTRH
MOVF PRODL,W
MOVWF TBLPTRL
MOVF WORK_STEP,W
MULLW 30
MOVF PRODL,W
ADDWF TBLPTRL
MOVF PRODH,W
ADDWFC TBLPTRH
MOVLW HIGH DEGREE10
MOVWF FSR0H
MOVLW LOW DEGREE10
MOVWF FSR0L
MOVLW 29
MOVWF PRODL
ROBOT_WORK4:
TBLRD*+; READ INTO TABLAT AND INCREMENT
MOVF TABLAT,W ; GET DATA
MOVWF POSTINC0
DECFSZ PRODL
BRA ROBOT_WORK4
INCF WORK_STEP
MOVLW MAX_WORK_STEP
CPFSLT WORK_STEP
CLRF WORK_STEP
RETURN
;******************************
ORG 2000H
ROBOT_STEP_TABLE
DW WROK1_STEP_TABLE
DW WROK2_STEP_TABLE
DW WROK3_STEP_TABLE
DW WROK4_STEP_TABLE
DW WROK5_STEP_TABLE
DW WROK6_STEP_TABLE
DW WROK6_STEP_TABLE
DW WROK6_STEP_TABLE
DW WROK6_STEP_TABLE
;******************************
WROK2_STEP_TABLE:
WROK3_STEP_TABLE:
WROK4_STEP_TABLE:
WROK5_STEP_TABLE:
WROK6_STEP_TABLE:
;-------------------------------
WROK1_STEP_TABLE:
; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 END
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;0
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;1
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;2
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;3
; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 END
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;4
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;5
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;6
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;7
; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 END
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;8
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;9
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;10
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;11
; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 END
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;12
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;13
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;14
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;15
; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 END
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;16
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;17
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;18
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;19
; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 END
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;20
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;21
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;22
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;23
; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 END
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;24
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;25
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;26
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;27
; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 END
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;28
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;29
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;30
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;31
;**********************************
ORG 7FF8H
DW 0XFF3F ;CONFIG 1
DW 0XFFFD ;CONFIG 2
DW 0XFeFF ;CONFIG 3
DW 0XFFFF
; DW 0XFBBF ;CONFIG 1
; DW 0XFFFD ;CONFIG 2
; DW 0XFFFF ;CONFIG 3
; DW 0XFFFF
;*******************
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -