PRÁCTICA AVR (TECLADOS) Objetivo: Utilizar el teclado matricial con el microcontrolador Atmel (Atmega 16). Problema 1:
Realizar un programa para leer un teclado matricial.
Entradas: Señales del teclado matricial, a través del Puerto B.
Proceso:
Configuro el AVR. Configuro el oscilador. Configuro el puerto D como salida y el puerto B como entrada. Configuro Lcd. Declaro Variables. Guardo en la variable A lo que leo en el puerto B. Envío los datos guardados en A en la posición 1,1. Retardo.
Salidas: Puerto D, visualizo en el Lcd.
Diagrama de Flujo: INICIO
Defino variable A
Configuro AVR
Configuro oscilador
Configuro puerto D como salida
Configuro puerto B como entrada
Configuro Lcd
Almaceno datos en la variable A.
Localizo la posición 1,1
3
Práctica Teclados
Sistemas Microprocesados Envío datos de la variable A al Lcd.
Retardo
Fin
Código: $regfile = "m16def.dat" "m16def.dat" $sim Config Portd = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Config Kbd = Portb Dim A As Word Do A = Getkbd() Locate 1 , 1 Lcd A Waitms 100 Lcd Chr(128) Loop End
Esquemático:
4
Práctica Teclados
Sistemas Microprocesados
Simulación:
5
Práctica Teclados
Sistemas Microprocesados
Fotos:
Problema 2:
Lectura y Escritura en la memoria EEPROM.
Entradas: Señal de entrada por el puerto A.
Procesos:
Configuro el AVR. Configuro el oscilador. Configuro el puerto D como salida y el puerto A como entrada. Configuro Lcd. Declaro Variables A y B. Configuro para leer en la memoria EEPROM. Guardo en la variable A escribo los datos en la memoria EEPROM. Guardo en la variable B leo los datos en la memoria EEPROM. EEPROM. Envío los datos guardados en A al puerto D. Retardo.
Salidas: Puerto D, visualizo en el Lcd. 6
Práctica Teclados
Sistemas Microprocesados
Diagrama de Flujo: INICIO
Defino variable A y B
Configuro AVR
Confi Confi uro oscila oscilado dorr
Configuro puerto D como salida
Configuro puerto A como entrada
Configuro Lcd
Configuro la memoria EEPROM.
En la variable A escribo los datos recibidos
En la variable B leo los datosRetardo de la memoria