21.12.2013 Views

Maskinnära programmering 6B2266

Maskinnära programmering 6B2266

Maskinnära programmering 6B2266

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Compare mode<br />

Compare innebär att ett 16-bitars tal i CCPR1 -registren kontinuerligt jämförs med<br />

Timer1:s räknevärde. När överenstämmelse sker blir CCP1-pinnen<br />

hög/låg/oförändrad beroende på inställningen i CCP1CON.<br />

Överenstämmelsen kan programmeras att dessutom utlösa avbrott, interrupt.<br />

Förutom påverkan på CCP-pinnen, finns det möjlighet att välja en så kallad "speciell<br />

händelse" (special event). För CCP1 innebär denna 0-ställning av Timer1.<br />

Ställ in Timer1, internal/external, prescaler, synk/asynk, on/off.<br />

• CCP1-mode.<br />

• TRISB.3 = 0;<br />

Timer1, valbar period<br />

CCP-enheten kan 0-ställa Timer1 med special event, vid det tal som står i<br />

registerparet CCPR. Timer1:s periodtid förkortas (men inget avbrott sker<br />

/* fosc = 4 MHz, Timer1Period = 0,001 s (1000 Hz) */<br />

T1CON = 0b00.00.0.1.0.1;<br />

/* --.presc=1/1.osc=shut off.no sync.internal clk.Enable timer */<br />

/* CCPR = (fosc/4) * Timer1Period = 1000000*0,001 = 1000 */<br />

/* CCPR = 1000 = 0x3E8 CCPR1H = 0x3, CCPR1L = 0xE8 */<br />

CCPR1H = 0x3;<br />

CCPR1L = 0xE8;<br />

CCP1CON = 0b00.00.1011; /* --. 00. special event */<br />

/* Timer1Period is now 1 ms */<br />

24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!