computer
Programowanie Mikroprocesory Mikrokontrolery Last.fmProgramowanie Mikroprocesory Mikrokontrolery FacebookTwitter

Valid XHTML 1.0 Transitional

Poprawny CSS!

Programowanie mikrokontrolerów

Uruchomienie timera

Poniższy program przedstawia sposób uruchomienia timera0 mikrokontrolera Atmega8. Jest to podstawowy timer / counter z obsługą przerwania od przepełnienia się timera / countera. Poniższy program jest przetestowany na "żywym"  układzie. Drugi program przedstawia sposób uruchomienia Timera na mikrokontrolerze Atmega328p z timerami wyposażonymi w funkcje PWM które zostały w pełni przetestowane na "żywo" w mikrokontrolerze.

//program timera0 dla Atmega8 podtawowy
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
 
#define F_CPU 8000000UL
#define cbi(sfr,bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr,bit) (_SFR_BYTE(sfr) |= _BV(bit)))
 
ISR(TIMER0_OVF_vect)
{
PORTD = PORTD ^ 1;
}
 
int main(void)
{
 
DDRD=0xff;                 // ustalenie kierunku portu (wyjście)
PORTD=0xff;                // wystawienie wartości FFh na port
 
// konfiguracja timera0 8-bitowego
TIMSK=0x01;               // maskowanie przerwań
TCCR0=0x05;              // wybór źródła taktowania, prescaler.
 
sei();
 
while(1)
    {
    }
}
 

CDN

//program timera0 z przerwaniem overflow (przepełnienie) na Atmega328p
 
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
 
#define F_CPU 8000000UL
#define cbi(sfr,bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr,bit) (_SFR_BYTE(sfr) |= _BV(bit)))
 
ISR(TIMER0_OVF_vect)
{
PORTD = PORTD ^ 1;
}
 
int main(void)
{
 
DDRD=0xff;            // ustalenie kierunku portu (wyjście)
PORTD=0xff;           // wystawienie wartości FFh na port czyli 10101010b
 
// konfiguracja timera0 8-bitowego
TIMSK0=0x01;          // maskowanie przerwań
TCCR0A=0x00;          // wybór źródła taktowania, prescaler.
TCCR0B=0x05;
 
sei();                 //odblokowanie przerwania głównego
 
while(1)
    {
    }
}
 

CDN

Sunday 21-Mar-21 14:05:09 CET


21-Mar-2021 14:05:09 CET
by Pioter




Wszelkie prawa zastrzeżone! Kopiowanie, powielanie i wykorzystywanie zdjęć, treści oraz jej fragmentów bez zgody autora zabronione.
© mikroprocesory.info.pl@gmail.com 2013.