PIC18F - kā iegūt 2KHz no 48MHz freq izmantojot taimeri / PWM

X

xyzabcpqr

Guest
Sveiki, es esmu šobrīd strādā pie PIC18f13k50 - USB saskarni ar datoru caur USB HID pieteikumu. (12MHz kristāla * 4 PLL) FOSC = 48MHz. Es gribu palaist svilpe @ 2 kHz. Es PWM moduli. Bet kā vienu aprēķinu, es varētu iegūt zemāko 2,93 KHz freq. Es lietoju timer2 par PWM ar 16 prescaler (maks. vērtība). periods = (255 +1) * 4 * (1/48000000) * 16 (prescaler) = 340 mikro-s f = 2.93 KHz kā var samazināt freq uz 2KHz? Es mēģināju izmantot taimeris 1 un Šādu kodu, bet, izmantojot timer1 es nevaru saņemt skaņu no svilpe. # Pragma pārtraukt YourLowPriorityISRCode anulēts YourLowPriorityISRCode () {T1CONbits.TMR1ON = 1; TMR1H = 0xE2; TMR1L = 0xB3; savukārt {SPEAKER = 1 (PIR1bits.TMR1IF!); Delay1 (); SPEAKER = 0;} PIR1bits.TMR1IF = 0; } Vai kāds varētu man norādes?
 
šī ir jauka programma, lai izdarītu: [url = "http://pictimer.picbingo.com/"] http://pictimer.picbingo.com/ [/url]
 pictimercalcimg.jpg
kas dod C programmu: [kods] / / Timer1 Reģistri: / / Prescaler = 1:1; TMR1 Preset = 41.536; FREQ = 2,00 kHz; Periods = 500 * 000 ns T1CON.T1CKPS1 = 0 ;/ / biti 5-4 prescaler Vērtēt Izvēlieties biti T1CON.T1CKPS0 = 0 ;/ / T1CON.T1OSCEN = 1 ;/ / Bits 3 Timer1 Oscilators Aktivizēt kontrole: mazliet 1 = uz T1CON.T1SYNC = 1 ;/ / bit 2 Timer1 ārējo pulksteni Ieejas sinhronizācija kontrole mazliet: 1 = Vai nav sinhronizēt ārējo pulksteni ievade T1CON.TMR1CS = 1 ;/ / bit 1 Timer1 Pulkstenis Avots Izvēlēties bit: 0 = iekšējais pulkstenis (FOSC / 4) / 1 = Ārējais pulkstenis no pin T13CKI (uz augošo malas) T1CON.TMR1ON = 1 ;/ / bits 0 ļauj taimeris TMR1H = 0xA2; / / uzstādījis timer1 MSB reģistru TMR1L = 0x40; / / uzstādījis timer1 LSB reģistrā [/code]
 
Sveiki KRIPTON, tas ir patiešām noderīga .. Paldies ton ..
 

Welcome to EDABoard.com

Sponsor

Back
Top