MARCO TEÓRICO SERIE AT89 DE ATMEL
Enviado por ramscar • 23 de Agosto de 2015 • Práctica o problema • 1.026 Palabras (5 Páginas) • 139 Visitas
MARCO TEÓRICO
SERIE AT89 DE ATMEL
La serie AT89 de Atmel es una serie de microcontroladores de 8 bits (μCs) fabricados por Atmel Corporation, compatible Intel 8051.
En los últimos tiempos, a la serie AT89 se le ha ido agregando funciones especiales a sus microcontroladores con "núcleo 8051", tal como controladores USB, I²C (TWI), SPI, controladores de bus CAN, decodificadores MP3 y hardware de PWM.
Los cuatro puertos del AT89C51 yAT89C52 son bidireccionales. Cada uno tiene un latch (Registro de funciones especiales para P0 hasta P3), un driver de salida, y un buffer de entrada. Los puertos 0, 2 y 3 se utilizan para el acceso a memoria externa. En esta aplicación, El puerto 0 emite el byte inferior de la dirección de memoria, multiplexada en el tiempo con el byte que se ha de leer o escribir. El puerto 2 emite el byte superior de la dirección (si se utiliza una dirección de 16 bits) y el puerto 3 emite señales de control.
COMPONENTES NECESARIOS
• Protoboard.
• Resistencias de 330Ω y 1kΩ.
• DipSwitch.
• Cable telefónico.
• 4 leds.
• Un programador USBASP.
• Dos pushbutton.
• Display de 7 segmentos.
DESARROLLO
Para la práctica de microprocesador at89s52 se pide que este cumpla con cuatro funciones:
00.- Con esta función el microprocesador recibe por medio de cuatro entradas un número en binario y debe convertirlo a decimal en el display, y además debe mostrar el número en binario encendiendo ó apagando, según sea el caso, cuatro leds.
01.- Con esta función, el microprocesador debe realizar un conteo manual por medio de dos pushbutton, uno para incrementar y otro para disminuir.
10.- Con esta función, el display debe realizar un conteo automático de 0 a 9 y después de 9 a 0.
11.- El microprocesador realiza un juego de luces con los cuatro leds ensamblados siguiendo el siguiente orden:
Se realizan las siguientes operaciones básicas para obtener los datos necesarios de llenado en el programa en c.
TABLA DE ENTRADA-SALIDA
ENTRADAS SALIDAS HEX
P 1.3 P 1.2 P 1.1 P 1.0 P 0.7 P 0.6 (G) P 0.5 (F) P 0.4 (E) P 0.3 (D) P 0.2 (C) P 0.1 (B) P 0.0 (A)
0 0 0 0 0 0 1 1 1 1 1 1 0X3F
0 0 0 1 0 0 0 0 0 1 1 0 0X06
0 0 1 0 0 1 0 1 1 0 1 1 0X5B
0 0 1 1 0 1 0 0 1 1 1 1 0X4F
0 1 0 0 0 1 1 0 0 1 1 0 0X66
0 1 0 1 0 1 1 0 1 1 0 1 0X6D
0 1 1 0 0 1 1 1 1 1 0 1 0X7D
0 1 1 1 0 1 0 0 0 1 1 1 0X47
1 0 0 0 0 1 1 1 1 1 1 1 0X7F
1 0 0 1 0 1 1 0 1 1 1 1 0X6F
DIAGRAMA DE ORDEN PARA DISPLAY DE 7 SEGMENTOS
A
F B
G
E C
D
DIAGRAMA DE ENSAMBLE
ENTRADA
MODOA MODOB
entrada DIP1 AT89S52 salida A
entrada DIP2 salida B
entrada DIP3 salida C
entrada DIP4 salida D
salida E
pushbuttonA salida F
pushbuttonB salida G
LED1 LED2 LED3 LED4
SALIDA
UVISIÓN 5, quedando de la siguiente forma:
#include <regx52.h>
#define display P0
#define entrada P1
#define leds P2
#define pushup P3_0
#define pushdown P3_1
#define modoa P3_2
#define modob P3_3
void retardo();
void main(void)
{
char dato;
int suma=0, numero;
char temp;
char contador;
P1=0xFF;
P3=0xFF;
...