SISTEMAS MICROCONTROLADOSII
INGENIERIA ELECTRONICA UPS ± CAMPUS SUR QUITO - ECUADOR
MENU CON LCD Y PIC 18F452 Morales Cueva Byron Alexander e-mail:
[email protected]
Peñaherrera Aguilar Erick Alexander
[email protected]
Heredia Velastegui Jaime Rolando
[email protected]
Recalde Regalado Néstor Xavier RESUMEN: Este es un proyecto de un menú el cual
3. LISTA DE MATERIALES
está compuesto por un contador ascendente y descendente de selección y un selector, este circuito eta basado en un micro controlador 18F452.
-
1. OBJETIVO -
Mediante el software MikroC programar un menú con cuatro funciones y manejarlo mediante entradas externas como son pulsadores y visualizarlo en el LCD.
PIC 16F452 LCD Pulsadores Resistencias Capacitores Cristal 8.00 MHz
4. MARCO TEÓRICO 4.1 PANTALLA LCD
2. DIAGRAMAS DEL PROYECTO
Pantalla LCD FSTN de 2 líneas de 16 caracteres con iluminación amarillo sobre negro/azulado. Ideal para aplicaciones que no precisen de pantallas gráficas y requieran de alto contraste de lectura. Utiliza el conocido chip HD44780. Requiere de 11 patillas disponibles en aplicaciones con microcontroladores para su funcionamiento.
2.1 DIAGRAMA DE BLOQUES
Incluye retro iluminación sin necesidad de componentes externo. Dimensiones: 8x3.6cm
2.2 DISEÑO DEL CIRCUITO
Figura 2. LCD
1
SISTEMAS MICROCONTROLADOSII
INGENIERIA ELECTRONICA UPS ± CAMPUS SUR QUITO - ECUADOR
Figura 1. LCD
4.2 PIC 18F452 4.2.1 Características -
-
5. FUNCIONAMIENTO
Corriente máxima de 25mA en sus puertos Tres pines de interrupciones externas Cuatro módulos timer Dos módulos PWM/CCP Modo de comunicación SPI Modo de comunicación I2C Modulo de comunicación USART Puerto paralelo esclavo PSP Módulo de convertidores Análogo ± Digital
La práctica consiste en programar mediante MiKroC y utilizando el pic 18f452, un menú el cual despliegue 4 funciones como son 1, 2, 3 y 4 las cuales son controladas mediante un contador ascendente y descendente y a través de dos pulsadores respectivamente, cada función del menú asigna una aplicación al ser pulsada mediante un tercer pulsador , dichas aplicaciones son Rx, Tx, lectura y escritura y todo esto lo podemos visualizar en el LCD.
6. PROGRAMACION #define up portc.f0 #define down portc.f1 #define enter portc.f2 // LCD module connections sbit LCD_RS at RB4_bit; sbit LCD_EN at RB5_bit; sbit LCD_D4 at RB0_bit; sbit LCD_D5 at RB1_bit; sbit LCD_D6 at RB2_bit; sbit LCD_D7 at RB3_bit; sbit LCD_RS_Direction at TRISB4_bit; sbit LCD_EN_Direction at TRISB5_bit; sbit LCD_D4_Direction at TRISB0_bit; sbit LCD_D5_Direction at TRISB1_bit; sbit LCD_D6_Direction at TRISB2_bit; sbit LCD_D7_Direction at TRISB3_bit; // End LCD module connections char char char char
2
txt1[] txt2[] txt3[] txt4[]
= = = =
"** MICROS **"; " Ejercicio "; "** LCD **"; " PROCESO 1 ";
SISTEMAS MICROCONTROLADOSII
INGENIERIA ELECTRONICA UPS ± CAMPUS SUR QUITO - ECUADOR
char char char char
txt5[] txt6[] txt7[] txt8[]
= = = =
" " " "
LECTURA "; ESCRITURA "; TX "; RX ";
Lcd_Out(1,4,txt6); Delay_ms(1000); Lcd_Cmd(_LCD_CLEAR); break; } case 3: { Lcd_Out(1,4,txt7); Delay_ms(1000); Lcd_Cmd(_LCD_CLEAR); break; }
char i; void Move_Delay() { Delay_ms(500); } unsigned short int cont=0; char txt[7] ; void main(){ TRISB = 0; PORTB = 0xFF; TRISB = 0xff; //ANSEL = 0; //ANSELH = 0;
case 0: { Lcd_Out(1,4,txt8); Delay_ms(1000); Lcd_Cmd(_LCD_CLEAR); break; } }
Lcd_Init(); Lcd_Cmd(_LCD_CLEAR); Lcd_Cmd(_LCD_CURSOR_OFF); Lcd_Out(1,4,txt1); Lcd_Out(2,4,txt2); Delay_ms(2000); Lcd_Cmd(_LCD_CLEAR);
}
} }
Lcd_Out(1,4,txt3); // Lcd_Out(2,6,txt4); Delay_ms(2000);
7. CONCLUSIONES
TRISC=0b111; while(1) { if(up==0) { Delay_ms(200); cont++ ; //cont++ =cont+1 intTostr(cont,txt); if(cont>3) { cont=0 ; }
-
La programación de MikroC difiere mucho con respecto a la programación en otros software como Mikrobasic o Mplab, sin embargo entendiéndola bien no es tan compleja que digamos.
-
El LCD es una herramienta muy útil para poder visualizar programas desarrollados en clase.
-
Con el PIC 18F452 podemos desarrollar programas con muchas más funciones a diferencia de otros PICs anteriormente usados.
Lcd_Out(2,4,txt);
8. REFERENCIAS
} if(down==0) { Delay_ms(200); cont-- ; //cont-- =cont-1 intTostr(cont,txt); Lcd_Out(2,4,txt); if(cont==1) { cont=5 ; }
[1]_http://dspace.ups.edu.ec/bitstream/123456789/150/4/CAPIT ULO%20III.pdf [2]_http://www.datasheetcatalog.com/datasheets_pdf/P/I/C/1/PI C18C452-E_L.shtml
} if(enter==0) { switch(cont){ case 1: { Lcd_Out(1,4,txt5); Delay_ms(1000); Lcd_Cmd(_LCD_CLEAR); break; } case 2: {
3
SISTEMAS MICROCONTROLADOSII
INGENIERIA ELECTRONICA UPS ± CAMPUS SUR QUITO - ECUADOR
4