ATmega16 pri frekvenci 40Khz

Za pridobitev 40 kHz v PORTA.0 in PORTA.1 morate 80 kHz periodičnih prekinitev. Naslednji program v C jeziku, je zelo enostavno razumeti. Mislim, da ATmega16 deluje na 8 MHz. # Include / / TIMER T0 prekiniti ON COMPARE MATCH SERVIS REDNO (80 kHz) prekine [TIM0_COMP] neveljaven timer0_comp_isr (void) {PORTA ^ = 0x03;. / / PORTA = PORTA XOR. b00000011} void main (void) {DDRA = 0x03; / / PORTA [1,0] IZHODI TCCR0 = 0x09; / / MODE TIMER T0: jasen časovni ON COMPARE MATCH OCR0 = 0x63; / / primerjamo z (100-1) 8 MHZ / 100 = 80 kHz TIMSK = 0x02; / / TIMER T0 prekiniti ON COMPARE MATCH # asm ("sei") / / GLOBAL ENABLE prekinja, medtem ko (1) {; / / KRAJ kodo TUKAJ}}
 

Welcome to EDABoard.com

Sponsor

Back
Top