computer
Programowanie Mikroprocesory Mikrokontrolery Last.fm Programowanie Mikroprocesory Mikrokontrolery Facebook Twitter

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

niedziela 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 jest zabronione.
© mikroprocesory.info.pl@gmail.com 2013.