PIC18F4431 - IC (Input Capture Module)

F

fannylly

Guest
For IC (Input Capture) modul, jeg forsøgte at fange RC modtager signal (pulsewidth),
dvs 1.15ms til 1.85ms, og det signal, gentager hver 20ms (50Hz)

1.Hvis der er nogen pulsewidth fange, vil IC1IF blive fastsat, har jeg ret?
2.Og vil værdien af TMR5 være lukket, i CAP1BUF register, har jeg ret?

Nedenfor er mit kortnummer til at indfange pulsewidth (CAP mod: 0111, at indfange alle de stigende til faldende kant)

ORG 0x20
MAIN MOVLB 0X0F; SELECT BANK 15
MOVLW B'01010001 '; TIMER 5 Prescaler 1:4
MOVWF T5CON
MOVLW 0x00
MOVWF INTCON; deaktivere alle afbryder
MOVLW 0X02
MOVWF IPR3; IC1 HØJT PRIORITEREDE
BSF TRISA, 2; SET CAP1 som input
BCF PIR3, IC1IF; CLEAR afbryde FLAG
MOVLW 0x00
MOVWF CAP1CON
MOVLW B'00000111 '; SELECT MODE, hver stigende til faldende kant
MOVWF CAP1CON

; Teste, om nogen værdi, er taget til fange
LOOP BTFSS PIR3, IC1IF; VÆRDI INDFANGET?
GOTO $ -2

MOVLW 0x00
MOVWF TRISC
BSF PORTC, 4

SLUT

1.Hvorfor er der ingen forandring på det IC1IF bit?
2.Er der noget jeg glemte at konfigurere, at gøre mit program ikke virker?Til din information, er den høje signal RC signal til CAP1 5V og lav er 0V

Bemærk: Jeg bekræfter indgangssignalet til CAP1 er korrekt, fordi jeg tjekke signalet på oscilloskopet.Det lykkes mig at fange RC modtageren pulsewidth bruge CCP-modul, fra at jeg derefter generere PWM bruge 'Power Control PWM-modul ".

 

Welcome to EDABoard.com

Sponsor

Back
Top