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 Supervisión debugWIRE
guardián
de energía
Temporiza
POR / BOD
& RESET
Oscilador
Circuitos
Destello SRAM
de
oscilador /
Generació
n de reloj
UPC
EEPROM
AVCC
AREF
GND
8 bits T / C 0 Conv. A /
D
Comp. Interno
T / C 2 de
BUS DE
DATOS
XTAL [1..2]
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
PC3
/
PCINT13) PC4 (ADC4 /
SCL
PCINT12)
(ADC3 / PCINT11)
/
PC6 (RESET /
(ADC5
PCINT14)
/
SDA
PC5
PCINT1)
SCL
PCINT12)
PCINT12)
(ADC3 / PCINT11)
(ADC3 / PCINT11)
/
/
PC6 (RESET /
(ADC5
PC6 (RESET /
(ADC5
PCINT14)
PCINT14)
/
/
SDA
PC5
SDA
PC5
32
31
30
29
28
27
26
25
28
27
26
25
24
23
22
(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
VCC 6 19 ADC6
(PCINT7 / XTAL2 / TOSC2) PB7 6 16 AVCC
18 AVCC
(PCINT21 / OC0B / T1) PD5 7 15 PB5 (SCK / PCINT5) (PCINT6 / XTAL1 / TOSC1) PB6 7
17 PB5 (SCK / PCINT5)
(PCINT7 / XTAL2 / TOSC2) PB7 8
10
11
12
13
14
8
9
eci
séi
10
11
12
13
14
15
di
9
s
PD7 (PCINT0 / CLKO /
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.
4
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);
}