Está en la página 1de 57

Microcontroladores AVR

Ing. Yvan Lopez Aguilar


AVR Microcontroller
RISC virtual avanzado,Los fundadores son Alf Egil
Bogen Vegard Wollan RISC

La arquitectura AVR fue concebida por dos


estudiantes en el Instituto Noruego de Tecnología
(NTH) [1] y se refinó y desarrolló en Atmel Norway,
la compañía Atmel fundada por los dos arquitectos
de chips.
AVR Microcontroller
Los microcontroladores AVR son una familia de
Microcontroladores RISC de Atmel.

RISC (Ordenador con juego de instrucciones


reducido)

CISC (Ordenador de conjunto de instrucciones


complejas)
Una "lista corta" de sistemas embebidos
Los modems
Frenos antibloqueo Decodificadores MPEG
Cámaras de enfoque automático Tarjetas de red
Cajeros automáticos Conmutadores / enrutadores de red
Sistemas de peaje automatico Navegación a bordo
Transmisión automática Buscapersonas
Sistemas avionicos Fotocopiadoras
Cargadores de bateria Sistemas de punto de venta.
Videojuegos portátiles
Videocámaras Impresoras
Celulares Teléfonos satelitales
Estaciones base de telefonía celular Escáneres
Teléfonos inalámbricos Hornos inteligentes / lavavajillas
Control de crucero Reconocedores de voz
Sistemas de facturación en la acera. Sistemas estéreo
Cámaras digitales Sistemas de teleconferencia
Televisiones
Unidades de disco
Controladores de temperatura
Lectores de tarjetas electronicas Sistemas de seguimiento de robos.
Instrumentos electronicos Decodificadores de TV
Juguetes / juegos electrónicos VCR's, reproductores de DVD
Control de fábrica Juegos de consolas
Máquinas de fax Teléfonos de video
Identificadores de huellas dactilares Lavadoras y secadoras
Sistemas de seguridad para el hogar
Sistemas de soporte vital 4
Sistemas de pruebas medicas
Usado en Laboratorio

10
Atmega8 - Características
On Chip
Debugger

Two Wire Interface

17
Atmega8 - Características
ATmega8 - Arquitectura RISC
● 130 Instrucciones - La mayoría de la ejecución del ciclo de un
solo reloj
● 32 x 8 registros de trabajo de propósito general
● 64 x 8 registros de funciones especiales (registros de E / S)
● Hasta 16 MIPS a 16 MHz
● Multiplicador de 2 ciclos en chip

Programa no volátil y memorias de datos


● 8K Bytes de flash auto-programable en el sistema
10,000 ciclos de escritura / borrado
● Sección de código de arranque opcional con bits de bloqueo
independientes
● 512 bytes EEPROM (100,000 ciclos de escritura / borrado)
● 1K Byte SRAM interna
● Bloqueo de programación para la seguridad del software
Características periféricas

● Dos temporizadores / contadores de 8 bits


● Un temporizador / contador de 16 bits con
modo de captura
● Contador de tiempo real con oscilador separado
● Tres canales PWM
● ADC de 6 canales con resolución de 8 bits y 8
bits (TQFP: 8 canales)
● Interfaz serial de dos hilos (TWI)
● USART Serial Programable
● Interfaz serie SPI maestro / esclavo
● Temporizador de vigilancia programable con
oscilador en chip
● Comparador analógico en chip
Características especiales del
microcontrolador

● Detección programable de apagón


● Oscilador RC Calibrado Interno
● Fuentes de interrupción externa e interna
● Cinco modos de sueño

E / S y paquetes

● 23 líneas de E / S programables
● PDIP de 28 derivaciones, TQFP de 32
derivaciones y MLF de 32 almohadillas
Tensiones de funcionamiento

● 2.7 - 5.5V (ATmega8L)


● 4.5 - 5.5V (ATmega8)

Grados de velocidad

● 0 - 8 MHz (ATmega8L)
● 0 - 16 MHz (ATmega8)

Consumo de energía a 4 Mhz, 3V, 25 ° C

● Activo: 3.6 mA
● Modo inactivo: 1.0 mA
● Modo de apagado: 0,5 μA
ATMEGA8 - CARACTERÍSTICAS
void main() {
DDRB.F0=1; // configurando RB0 como salida
DDRB.F1=1; // configurando RB1 como salida
DDRB.F2=1; // configurando RB2 como salida
DDRB.F3=1; // configurando RB3 como salida
DDRB.F4=1; // configurando RB4 como salida 
 
while(1){
PORTB.F0=1;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=0;
Delay_ms(500); // encender el LED 1
// para 500 milisec
PORTB.F0=0;
PORTB.F1=1;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=0;
Delay_ms(500); // encender el LED 2
// para 500 milisec
 
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=1;
PORTB.F3=0;
PORTB.F4=0;
Delay_ms(500); // encender el LED 3
// para 500 milisec
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=1;
PORTB.F4=0;
Delay_ms(500); // encender el LED 4
// para 500 milisec
 
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=1;
Delay_ms(500); // encender el LED 5
// para 500 milisec
}
}
GRACIAS POR SU ATENCIÓN

También podría gustarte