小妹我又有問題了,我們現在是用RS232送資料給RF發射器,在經由RF射頻模組去接收4BIT的資料到自走車體裡面,想要依照接收的資料去做不同的動作,但是我發現一個問題,雖然資料有跳進個別的回圈裡面執行該迴圈的動作,可是PWM卻始終沒有執行出來,不知道是不是有哪些參數沒有設定好,後來發現如果每進行一次資料的傳遞,PWM沒有執行,但是在給他隨便一個資料(必須是沒有指令的任一資料)後,剛剛應該要執行的PWM就跑出來了,真不知道該怎麼辦,以下是我的程式碼,希望版主大大可以幫我解解謎.....感謝~~~
====================================
#include <p18F452.inc>
A1 set 0x90 ;I前進
A2 set 0xF0 ;O後退
A3 set 0xB0 ;K左轉
A4 set 0xE0 ;N右轉
A5 set 0xD0 ;M停止
REG set 0x23 ;設定暫存器
org 0x00
goto start
org 0x08
retfie
org 0x18
retfie
start
clrf PORTB ;初始化
clrf TRISB
clrf PORTD
clrf TRISD
clrf WREG
clrf PORTC
clrf TRISC
movlw 0xF0
movwf TRISC
judge1
movff PORTC,REG ;把低位元都設為0
movlw 0xF0 ;
andwf REG,f ;
movlw A1
cpfseq REG,A
goto judge2
bra forward
judge2
movlw A2
cpfseq REG,A
goto judge3
bra back
judge3
movlw A3
cpfseq REG,A
goto judge4
bra left
judge4
movlw A4
cpfseq REG,A
goto judge5
bra right
judge5
movlw A5
cpfseq REG,A
goto judge1
bra stop
back
movff REG,LATD
bsf PORTB,4 ;控制兩個輪子都是反轉
bsf PORTB,5
movlw 0x63
movwf PR2
movlw 0x32
movwf CCPR1L,A
movwf CCPR1H,A
movwf CCPR2L,A
movwf CCPR2H,A
bcf TRISC,CCP1,A
bcf TRISC,CCP2,A
movlw 0x81
movwf T3CON
clrf TMR2
movlw 0x06
movwf T2CON,A
movlw 0x0C
movwf CCP1CON,A
movwf CCP2CON,A
movff PORTC,REG
movlw A2
cpfseq REG,A
bra judge1
bra back
left
movff REG,LATD
bcf PORTB,4
bcf PORTB,5
movlw 0x63
movwf PR2
movlw 0x00
movwf CCPR1L,A
movwf CCPR1H,A
movlw 0x25
movwf CCPR2L,A
movwf CCPR2H,A
bcf TRISC,CCP1,A
bcf TRISC,CCP2,A
movlw 0x81
movwf T3CON
clrf TMR2
movlw 0x06
movwf T2CON,A
movlw 0x0C
movwf CCP1CON,A
movwf CCP2CON,A
movff PORTC,REG
movlw A3
cpfseq REG,A
bra judge1
bra left
right
movff REG,LATD
bcf PORTB,4
bcf PORTB,5
movlw 0x63
movwf PR2
movlw 0x25
movwf CCPR1L,A
movwf CCPR1H,A
movlw 0x00
movwf CCPR2L,A
movwf CCPR2H,A
bcf TRISC,CCP1,A
bcf TRISC,CCP2,A
movlw 0x81
movwf T3CON
clrf TMR2
movlw 0x06
movwf T2CON,A
movlw 0x0C
movwf CCP1CON,A
movwf CCP2CON,A
movff PORTC,REG
movlw A4
cpfseq REG,A
bra judge1
bra right
forward
movff REG,LATD
bcf PORTB,4
bcf PORTB,5
movlw 0x63
movwf PR2
movlw 0x32
movwf CCPR1L,A
movwf CCPR1H,A
movlw 0x30
movwf CCPR2L,A
movwf CCPR2H,A
bcf TRISC,CCP1,A
bcf TRISC,CCP2,A
movlw 0x81
movwf T3CON
clrf TMR2
movlw 0x06
movwf T2CON,A
movlw 0x0C
movwf CCP1CON,A
movwf CCP2CON,A
movff PORTC,REG
movlw A1
cpfseq REG,A
bra judge1
bra forward
stop
bcf PORTB,4
bcf PORTB,5
movff REG,LATD
movlw 0x63
movwf PR2
movlw 0x00
movwf CCPR1L,A
movwf CCPR1H,A
movwf CCPR2L,A
movwf CCPR2H,A
bcf TRISC,CCP1,A
bcf TRISC,CCP2,A
movlw 0x81
movwf T3CON
clrf TMR2
movlw 0x06
movwf T2CON,A
movlw 0x0C
movwf CCP1CON,A
movwf CCP2CON,A
movff PORTC,REG
movlw A5
cpfseq REG,A
bra judge1
bra stop
end