PIC mikrovaldiklį PWM ir TIMER

T

torchd

Guest
Hi guys Esu naujas PIC mikrovaldiklius. Aš esu matavimo santykinę drėgmę kambaryje naudojant varžinį drėgmės jutiklis. Jutiklis naudoja kintamosios srovės signalą. Turiu sukurtas AC signalas naudojant PWM signalą iš PIC 4520 (1kHz 0-5V). Aš siunčia šį signalą į op amp ir konvertuoti signalą -1 iki +1 V stačiakampės bangos. Ką man reikia žinoti, kaip man mėginio įtampa visoje jutiklis ir žinoti, kada mano įtampa yra didelis (1 V), kad būtų galima sinchronizuoti savo ADC imtys. (Aš naudoju CCP1 ir laikmatis 2) Ačiū iš anksto kodekso Aš naudojamas generuoti PWM signalą yra rodomas žemiau: # include negaliojančiu main () {int i; OSCCON = 0b01111110; / / osciliatoriai kontrolės registre nustatytą 8MHz TRISC = 0x00 ; T2CON = 0b00000110; / / prescaler + įjungti TMR2; PR2 = 0b001111111; CCP1CON = 0b00111100; CCPR1L = 63 / / TMR2ON = 1; o (1) {}}
 
Gal galėtumėte atkreipti schema ir / ar elgesio schema? + + +
 
Jūs galite naudoti laikmatį 2 pertraukti. Nuo duomenų lapas: Kai TMR2 yra lygi PR2, įvyksta šie įvykiai kitą prieaugio ciklas: • TMR2 bus pašalinta • CCPx kaištis yra nustatytas. Laikmatis du pertraukti bus tada, kai TMR2 yra lygi pr2. Tai yra, kai PWM išėjimo yra nustatytas aukštas.
 
Hi Guys Ačiū už atsakymą. Po daryti kai kurių tyrimų aš aptiko, kad aš negaliu naudoti tiek CPK modulius su pwm skirtingais dažniais. (Aš naudoju CCP2 už 120kHz PWM signalą). Taigi radau, kad jei aš noriu kurti 1kHz stačiakampės bangos signalo naudojant CCP1, man reikės naudoti palyginti režimu CCP1. Ar kas nors pasakyti, kaip aš galėsiu skaityti ADC metu, kai PIN yra didelė. Ačiū vaikinai
 
Jūs galite naudoti laikmatç pertraukti generuoti stačiakampės bangos. Pasirengimo apkrova už 500uS nutraukti dažnio laikmatis ir perjungti išėjimo velenas nutraukti. Tada turėtumėte žinoti, kai linija yra didelis.
 
torchd Why don't you naudoti TIMER0 ir veiklos kas btbass sugested? Aš nemačiau jos naudoti ne anksčiau kodą jums išsiųstas. + + +
 

Welcome to EDABoard.com

Sponsor

Back
Top