240 likes | 448 Views
Perifeeria seadmed Timer. Alvo Aabloo. Ülevaade. I /O pordid Timerid (Timer0, Timer1, Timer2) Capture/Compare/PWM moodul Master Syncronous Serial Port (MSSP) Addressable Universal Synchronous Asynchronous Receiver Transmitter (USART) A/D konverter Komparaator
E N D
Perifeeria seadmedTimer Alvo Aabloo
Ülevaade • I/O pordid • Timerid (Timer0, Timer1, Timer2) • Capture/Compare/PWM moodul • Master Syncronous Serial Port (MSSP) • Addressable Universal Synchronous Asynchronous Receiver Transmitter (USART) • A/D konverter • Komparaator • Etalonpinge allikas komparaatorile
Timer • Loendur • Algväärtustamine • Käivitamine • Loendur loeb • Loendur saadab katkestuse ja seab lippe • Loeb edasi
Timer0 • 8 bitine loendur • R/W • 8 bitine programmeeritav sageduse jagaja (prescaler) • Sisemine/välimine signaali allikas • Katkestus üleminekul FFh->00h • Signaali frondi valik
Väline signaaliallikas • Pole prescalerit • Impulsi pikkus > 2Tosc • Prescaler • Impulsi pikkus > 4Tosc • Ajaline viide
Timer0 algpaigaldus CLRF TMR0; CLRF INTCON; BSF STATUS, RP0; MOVLW 0xC3 MOVWF OPTION_REG; BCF STATUS,RP0; ; BSF INTCON, T0IE; TMR0 interrupt ; BSF INTCON, GIE; all interrupts OOTA BTFSS INTCON, T0IF; GOTO OOTA;
Timer1 • 16 bitti : TMR1H:TMR1L registrid • 0000h->FFFFh->0000h, TMRIF interrupt bit • TMRIE lubamiseks • Kolm võimalust • Sünkroonne taimer • Instruktsiooni tsükkel • Sünkroonne loendur • Assünkroonne loendur
Timer1 Timer Mode • TRM1CS bit 0 • T1SYNC bit ei avalda mõju
Timer1 sünkroonne loendur • TRM1CS bit 1 • + T1OSI ^, kui T1OSCEN = 1 • + T1OSO/T1CKI ^, kui T1OSCEN = 0 • T1SYNC = 0 => sünkroniseeritakse sisekellaga peale prescalerit • SLEEP modes timer ei suurene, prescaler töötab • Väline loenduri korral tehn parameetrid olulised
Timer1 assünkroonne loendur • T1SYNC = 1 • Taimer suureneb assynroonselt vastavalt sisemise kella järgi • Taimer jookseb SLEEP modes, ja võib genereerida katkestuse sealt välja tulekuks • Sobib rakendusteks, kus on vaja kella.. • Jooksva taimeri lugemine – 2 sammu • Kirjutamiseks soovitav taimer peatada
Timer 2 • 8 bitine taimer, pre ja postscaler ja perioodi register
Timer2 sisend • Üks sisendimpulsside allikas seadme kell ehk Fosc/4 • Prescaler 1:2, 1:4, 1:16 T2CKPS1-T2CKPS0
Timer2 registrid • Control Register T2CON • Prescaler T21CKPS1-0 • On/off TMR2ON,. Power! • Postscaler TOUTPS3-0 • TMR2 register: • R/W • 0 kõikide resettide korral • 00h ->PR2 • PR2 register
Timer2 väljundid jm • Postscaler • Täitumisel TMR2IF lipp • SSP kella sisend (Syncr. Serial Port) • Post ja prescaler reset kui TMR2 või T2CON registrite paigaldus • Sleep • TMR2 seisab • Scalerid seisavad
Watchdog vajadus • WDT timeout põhjustab RESET • SLEEP modes WDT genereerib wakeup-i