Sunteți pe pagina 1din 3

PRÁCTICA 3 DE MICROPROCESADORES

MENÚ DE CONTROL MEDIANTE PULSANTE


Joseph D. Guerra, Christian F. Estrella Facultad de Ingeniería, Universidad de Cuenca, Cuenca, Ecuador.

Abstract — En el presente informe se detallará el  Oscilador interno de 4MHz, externo hasta 20MHz
funcionamiento de un menú de control mediante pulsantes, el  2 Timer de 8bits
programa debe mostrar un menú de tres funciones, mediante el  1 Timer de 16 Bits
pulsante se debe seleccionar uno de los menús y con otro  32 instrucciones
pulsante ejecutar la función que en este caso es encender un  Módulo de PWM
led.  Módulo de CCP
 Módulo ADC de 10 bits
Index Terms — Compilador, Microcontroladores, Pic,
Programación.

I. INTRODUCCIÓN
En este informe se programará en lenguaje C utilizando un
programa compilador para PIC. Hasta ahora es que los usuarios
que se inician en este apasionante mundo de la programación
de Microcontroladores, hay que conocer perfectamente los
recursos de cada Microcontrolador, es por eso que en esta
primera practica será se efectuará controlar el encendido de un
led utilizando el PIC16F877A.

II. OBJETIVOS
 Realizar un menú de tres funciones para visualizar en LCD.
 Encender un led dependiendo de la función seleccionada.
Fig. 2 Configuración de pines.
III. SUSTENTO TEÓRICO.
DISPLAY LCD 2X16
MICROCONTROLADOR PIC16F877A:
El proceso de visualización en la pantalla es regido por el
Este microcontrolador de 40 pines es uno de los más usados en controlador LCD HD44780. La pantalla es retro iluminada en
proyectos escolares cuenta con una gran cantidad de color azul y sus dimensiones son 6.5 cm x 1.6 cm y las de la
documentación en foros de internet y es en el cual también se tarjeta que la soporta son 8 cm x 3.6 cm x 1.2 cm.
basan una gran cantidad de libros.

Fig. 1 Microcontrolador PIC16F877A


Fig. 3 display 2x16
 Empaque DIP de 18 pines (ideal para Protoboard)
 Memoria de Programa de 2Kwords ESPECIFICACIONES
 Memoria RAM con 224 registros
 Memoria EEPROM de 128 bytes  Resolución: 2 líneas x 16 caracteres
 Comparadores analógicos  Controlador: LCD HD44780
 USART (puerto serie) compatible con nuestro módulo  Voltaje de Operación: 5 Vcc
FT232 para USB  Dimensión de la pantalla: 65mm x 16mm
 Temperatura de operación: -20 ° C a + 70 ° C
Joseph D. Guerra, Estudiante de Ingeniería Eléctrica de la Universidad de
Cuenca (e-mail: joseph.guerra@ucuenca.ec).
 Temperatura de almacenamiento: -30 °C a + 80 °C
Christian Estrella, Estudiante de Ingeniería Eléctrica de la Universidad de  Dimensiones de la tarjeta: 80 x 36 x 12 mm
Cuenca (e-mail: chistian.estrella@ucuenca.ec).
PIC C COMPILER: Nuevamente al presionar MENÚ y luego presionando
SELECCIÓN podemos encender el led CALIBRAR.
Es un inteligente y muy optimizado compilador C que
contienen operadores estándar del lenguaje C y funciones
incorporados en bibliotecas que son específicas a los registros
de PIC, proporcionando a los desarrolladores una herramienta
poderosa para el acceso al hardware las funciones del
dispositivo desde el nivel de lenguaje C.

El compilador CCS contiene más de 307 funciones integradas


que simplifiquen el acceso al hardware, mientras que la
producción eficiente y altamente optimizado código. Se
incluyen funciones de hardware del dispositivo de
características tales como:
Fig. 5 Condición 2
 Temporizadores y módulos PWM
 Convertidores A / D de datos on-chip EEPROM Finalmente, al presionar MENÚ y luego presionando
 Controladores LCD SELECCIÓN podemos encender el led MEDIR.
 Memoria externa buses

Funcionamiento del circuito:

El desarrollo de esta práctica consiste en armar un circuito que


tenga dos pulsantes que van a los pines configurados como
entradas en el PIC que cumplirán las funciones de menú y
selección; mientras que otros pines del PIC serán configurados
como salidas para poder encender tres LEDS de acuerdo al
menú seleccionado previamente, estos menús serán
SELECCIONAR CALIBRAR y MEDIR como se puede
observar en la siguiente imagen:
Fig. 6 Condición 2

Para visualizar todos los menús se hace uso del display LCD
2X16.

Código PIC Compiler C:

#include <16F876.h>
#fuses XT,NOWDT
#use delay(clock= 4000000)
#include <lcd.c>
#use standard_io(C)
#use standard_io(A)
Fig. 3 Circuito de la práctica
//#define use_port_b_lcd TRUE
Al presionar MENÚ y luego presionando SELECCIÓN
podemos encender el led INICIALIZAR. enum funciones {med,cal,ini};

void medir(void){
//algoritmo correspondiente
output_toggle(pin_C0);
}

void calibrar(void){
//algoritmo correspondiente
output_toggle(pin_C1);
}
void inicializar(void){
//algoritmo correspondiente
output_toggle(pin_C2);
Fig. 4 Condición 1
}
void run_func(int numfunc){

switch(numfunc){
case med:
medir();
break;
case cal:
calibrar();
break;
case ini:
inicializar();
Fig. 7 Circuito Físico
break;
} CIRCUITO EN FRITZING:
}
void main(){
char item;
char n_menus = 3;

// bit_set(TRISA,0);
lcd_init();

while (1) {
if (input(PIN_A0) == 1){
item++;
Fig. 4 Diseño del circuito en fritzing.
delay_ms(300);
lcd_putc('\f');
IV. CONCLUSIONES
}
 En conclusión, se puede observar que el circuito y la
if (item > (n_menus-1)) { programación correspondiente cumplen con los objetivos
item = 0;} planteados al inicio del presente informe, dándonos cuenta
que con pocos elementos electrónicos y una programación
switch (item) { podemos realizar cosas interesantes como en el caso de esta
práctica propuesta.
case 0:
lcd_gotoxy(1,1); REFERENCIAS
printf(lcd_putc, "MEDIR"); [1] Compilador C Ccs Y Simulador Proteus Para Microcontroladores Pic.pdf
lcd_gotoxy(1,1); [2] http://cosasdeingenieria.com/esp/item/24/microcontrolador-pic16f877a
break; [3] https://sites.google.com/site/ielectrox/home/programas-1/pic-c-compiler
case 1:
printf(lcd_putc, "CALIBRAR"); V. BIOGRAFÍA
lcd_gotoxy(1,1);
break;
Joseph D. Guerra nació el 20 de febrero de
case 2:
1995, Riobamba, Ecuador. Realizó sus
printf(lcd_putc, "INICIALIZAR");
estudios secundarios en la Unidad Educativa
lcd_gotoxy(1,1);
Salesiana Santo Tomas Apóstol. Actualmente
break;
cursa Octavo ciclo de Ingeniería Eléctrica en
}
la Universidad de Cuenca.
if (input(PIN_A1) == 1)
{delay_ms(200);
run_func(item);
Christian F. Estrella nacido en Cuenca. Sus
}
estudios primarios los realizó en la escuela
}
superior LUIS CORDERO CRESPO. Sus
}
estudios secundarios los realizó en el colegio
nacional técnico GUILLERMO MENSI
CIRCUITO FÍSICO:
obteniendo el bachillerato técnico en
mantenimiento de máquinas y motores
eléctricos y actualmente sus estudios universitarios los realiza
en la UNIVERSIDAD DE CUENCA en la Carrera de Eléctrica
de la Facultad de Ingeniería cursando el Octavo ciclo .

S-ar putea să vă placă și