/*
programa de treino: pisca LED com AVR
*/
/* nesta biblioteca estão a definição de todos os registradores do ATMEG328P */
#include<avr/io.h>
/* biblioteca que possui a macro delay para AVR */
#include<util/delay.h>
/* diretiva necessária para pré definir a frequncia de oscilação do microontrolador */
#define F_CPU 16000000UL
#define TRUE 1
#define FALSE 0
int main()
{
/* DDRB - Registrador de direção de dados da porta B pag 72*/
DDRB |= (1<<2); // desloca para a esquerda definindo com saída -> 0010000
/* é realizada uma or bit para que não seja alterado o
estado anterior dos demais pinos */
while(TRUE)
{
/* PORTB - Registrador de Dados da Porta B */
PORTB |= (1<<2); //seta em nível 1 o pino RB5
/* função delay padrão da biblioteca avr que usa tempo de execução de código */
_delay_ms(1000);
/* realiza as operações lógicas para mandar nível lógico baixo no pino */
PORTB &= ~(1<<2);
_delay_ms(1000);
}
}