Dispositivos programables
Enviado por jonanez • 7 de Octubre de 2015 • Práctica o problema • 838 Palabras (4 Páginas) • 1.034 Visitas
[pic 1][pic 2][pic 3]
[pic 4]
[pic 5]
Secuencia: 3NV42
Almazán Moya David Oswaldo
Jiménez Rivagorza Jonathan
Moreno Olmos Luis Eduardo
Practica 15
OBJETIVO
Saber el funcionamiento del teclado matricial y sus usos como lo son las cajas de seguridad como en la práctica que desarrollaremos a continuación
LISTA DE MATERIAL UTILIZADO
- Protoboard
- PIC18f4550
- Alambre para conexiones
- Resistencias
- Potenciómetro
- Pantalla LCD 16x2
- Fuente de 5 volts
- Leds de color rojo y verde
- Teclado matricial 4x4
[pic 6]
Practica 15
En esta práctica se ingresaran 4 caracteres a través del teclado matricial, a su vez estos caracteres se verán reflejado en el LCD con un ‘*’ por cada carácter ingresado, al finalizar esto se hará la comparación de los datos ingresados y la contraseña establecida en el programa, si es correcta desplegara el mensaje “ENTRADA SATISFACTORIA” y encenderá el led verde, de lo contrario mostrara el mensaje “INTENTELO NUEVAMENTE” y encenderá el led color rojo.
[pic 7]
[pic 8]
[pic 9]
[pic 10]
Aquí tenemos los resultados físicos del programa:[pic 11]
[pic 12]
CODIGO
unsigned short kp, cnt, oldstate = 0;
char txt[6];
int cont; int pass[4];
char keypadPort at PORTB; // Conexiones del módulo del teclado
// final de conexiones del módulo del teclado
// Establecer las conexiones del LCD
sbit LCD_RS at LATD2_bit;
sbit LCD_EN at LATD3_bit;
sbit LCD_D4 at LATD4_bit;
sbit LCD_D5 at LATD5_bit;
sbit LCD_D6 at LATD6_bit;
sbit LCD_D7 at LATD7_bit;
sbit LCD_RS_Direction at TRISD2_bit;
sbit LCD_EN_Direction at TRISD3_bit;
sbit LCD_D4_Direction at TRISD4_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D7_Direction at TRISD7_bit;
// Final de las conexiones del LCD
void main() {
ADCON0=0x00;
ADCON1=0x0F;
CMCON=0x07;
TRISA=0xFF;
TRISB=0x00;
TRISC=0x00;
TRISD=0x00;
TRISE=0x00;
PORTD=0x00;
cnt =0; // Reiniciar el contador
Keypad_init(); // Inicializar el Teclado
Lcd_Init(); // Inicializar LCD
...