Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CÓDIGO: 309696A
Presentado a:
Entregado por:
Grupo: 309696_15
El ATmega48PA / 88PA / 168PA / 328P es un microcontrolador CMOS de 8 bits de bajo consumo basado en
la arquitectura RISC mejorada de AVR. Al ejecutar poderosas instrucciones en un solo ciclo de reloj, el
ATmega48PA / 88PA / 168PA / 328P logra rendimientos cercanos a 1 MIPS por MHz, lo que permite al
diseñador del sistema optimizar el consumo de energía frente a la velocidad de procesamiento.
Diagrama de bloques
VCC
GND
Perro debugWIRE
Supervisión
guardián
de energía
Temporizado
Perror POR / BOD PROGRA
guardiá & RESET MA
LÓGICA
n
Oscilado
Circuitos Destello
r SRA
de M
oscilador
/
Generaci
ón de UPC
reloj
EEPROM
AVCC
AREF
GND
8 bits T / C 0 2
16 bits Conv.
T/C1 A/D
BUS DE DATOS
Comp Interno 6
T/C2
de 8 . Bandgap
bits Analó
gica
USART SPI TW
0 I
XTAL [1..2]
PD [0..7]
PB [0..7] PC [0..6] ADC [6..7]
ARQUITECURA ATmega48PA/88PA/168PA/328P
La arquitectura es más eficiente en código y logra rendimientos hasta diez veces más rápidos que los
microcontroladores CISC convencionales.
El ATmega48PA / 88PA / 168PA / 328P proporciona las siguientes características: 4/8/16 / 32K bytes de Flash
programable en el sistema con capacidades de lectura mientras se escribe, 256/512/512 / 1K bytes EEPROM,
512 / 1K / 1K / 2K bytes SRAM, 23 líneas de E / S de propósito general, 32 registros de trabajo de propósito
general, tres temporizadores / contadores flexibles con modos de comparación, interrupciones internas y
externas, un USART programable en serie, una interfaz en serie de 2 hilos orientada a bytes, un puerto serie
SPI, un ADC de 6 canales y 10 bits (8 canales en paquetes TQFP y QFN / MLF), un temporizador de vigilancia
programable con oscilador interno y cinco modos de ahorro de energía seleccionables por software.
El dispositivo está fabricado utilizando la tecnología de memoria no volátil de alta densidad de Atmel. El ISP
Flash en chip permite reprogramar la memoria del programa en el sistema a través de una interfaz en serie SPI,
mediante un programador de memoria no volátil convencional o mediante un programa de arranque en chip que
se ejecuta en el núcleo del AVR. El programa de arranque puede usar cualquier interfaz para descargar el
programa de aplicación en la memoria Flash de la aplicación. El software de la sección Boot Flash seguirá
ejecutándose mientras se actualiza la sección Application Flash, lo que proporciona una verdadera operación de
lectura mientras se escribe. Al combinar una CPU RISC de 8 bits con un flash autoprogramable en el sistema en
un chip monolítico, el Atmel ATmega48PA / 88PA / 168PA / 328P es un potente microcontrolador que
proporciona una solución altamente flexible y rentable para muchas aplicaciones de control integradas.
El AVR ATmega48PA / 88PA / 168PA / 328P es compatible con un conjunto completo de herramientas de
desarrollo de programas y sistemas que incluyen: compiladores de C, ensambladores de macros, depuradores /
simuladores de programas, emuladores en circuito y kits de evaluación.
En esta oportunidad estudiaremos exclusivamente las funciones de cada uno de los pines externos que tiene
este µC.
2
CONFIGURACION DE PINES
32
28
(PCINT19 / OC2B / INT1) PD3 1 21 PC2 (ADC2 / PCINT10) (PCINT19 / OC2B / INT1) PD3 1 24 PC1 (ADC1 / PCINT9)
(PCINT20 / XCK / T0) PD4 2 20 PC1 (ADC1 / PCINT9) (PCINT20 / XCK / T0) PD4 2 23 PC0 (ADC0 / PCINT8)
VCC 3 GND 3 22 ADC7
19 PC0 (ADC0 / PCINT8)
VCC 4 21 TIERRA
GND 4 18 TIERRA
GND 5 20 AREF
(PCINT6 / XTAL1 / TOSC1) PB6 5 17 AREF
19 ADC6
(PCINT7 / XTAL2 / TOSC2) PB7 6 16 AVCC VCC 6
18 AVCC
(PCINT21 / OC0B / T1) PD5 7 15 PB5 (SCK / PCINT5) (PCINT6 / XTAL1 / TOSC1) PB6 7
17 PB5 (SCK / PCINT5)
PD2 (INT0 / PCINT18) PD1 (TXD
3
DESCRIPCION DE PINES
PC6 /
RESET Si el fusible RSTDISBL está programado, PC6 se utiliza como pin de E / S. Tenga en cuenta que las
características eléctricas de PC6 difieren de las de los otros pines del puerto C.
Si el fusible RSTDISBL no está programado, se utiliza PC6 como entrada de reinicio. Un nivel bajo en
este pin durante más tiempo que la duración mínima del pulso generará un reinicio, incluso si el reloj no
está funcionando.
Puerto D (PD7: 0) El puerto D es un puerto de E / S bidireccional de 8 bits con resistencias pull-up internas
(seleccionadas para cada bit). Los búferes de salida del puerto D tienen características de unidad simétricas con
capacidad de fuente y de sumidero alta. Como entradas, los pines del puerto D que se tiran hacia abajo
externamente generarán corriente si se activan las resistencias pull-up. Los pines del Puerto D tienen tres
estados cuando se activa una condición de reinicio, incluso si el reloj no está funcionando.
PINES DE SALIDAS PWM
En este dispositivo contaremos con 6 salidas PWM (modulación por ancho de pulso), que tienen una resolución de 8 Bits, lo
que en números decimales serían 0 a 255, con lo cual se trabajará en la parte de la programación. A continuación, se muestra
un ejemplo de control de un motor DC, donde 0 es la velocidad mínima y 255 es la velocidad máxima.
void setup() {
pinMode (Motor, OUTPUT); // designamos los pines como pines de salida y entrada
pinMode (entrada_analogica, INPUT); // entrada
}
}
PINES DE ENTRADAS ANALÓGICAS (A0 -A5)
Como su nombre lo indica estos puertos son propiamente para las entradas analógicas que tienen una resolución de 10 Bits
C/U, lo que en números decimales sería 0 – 1023, con estos valores se trabajará en la parte de la programación.
if(tecla){
digitalWrite (al,HIGH);
if(analogRead(A2)<250){
digitalWrite(lamp,HIGH);
}
if(analogRead(A2)>250){
digitalWrite(lamp,LOW);
}
}
if (buttonState==HIGH){
digitalWrite(lamp,LOW);
digitalWrite (al,LOW);
}