Você está na página 1de 7

UNIVERSIDAD POLITCNICA SALESIANA

SEDE GUAYAQUIL
INGENIERA ELECTRNICA
Materia:
Docente:
Paralelo:
Horario:
Integrantes:

Sistemas Microprocesados II
Ing. Byron Lima
4761
Lunes (18H0020H00) y Viernes (16H0018H00)
MELANIE OLIVO
ENRIQUE GALLEGOS

PRCTICA #1: Generador de pulsos utilizando el PIC18F4550

Contenido
1.

OBJETIVOS ........................................................................ 2

2.

LISTA DE MATERIALES ........................................................ 2

3.

EL PROBLEMA ..................................................................... 2

4.

SOLUCIN PROPUESTA ....................................................... 2

5.

PLANOS ............................................................................. 2

6.

CONCLUSIONES ................................................................. 5

7.

RECOMENDACIONES ........................................................... 5

1. OBJETIVOS
Disear un programa en el compilador PICC utilizando los
comandos y conocimientos adquiridos en clases
Implementar el circuito y verificar el funcionamiento del
programa
2. LISTA DE MATERIALES
Laptop, PICC Compiler, Pickit 2
Fuente regulada +5v
Pic 18f4550
Dispaly LCD 4x20
Teclado matricial 4x3
Diodos leds
Resistencias
Cable multipar
Protoboard
3. EL PROBLEMA
Se necesita disear un programa que muestre en el LCD la siguiente
informacin:
Datos de la institucin, materia y autores
Generador de pulsos
Pulsos deseados:
Pulsos:
Pulsos deseados: permitir el ingreso de un numero de dos dgitos que
representan la cantidad de pulsos que se van a generar, se permitir
un mximo de 25 pulsos, en caso de ingresar valores mayores a 25, a
la tercera se mostrar un mensaje de error en la pantalla durante un
tiempo de 5 segundos, luego de eso volver a la pantalla de generacin
de pulsos.
Pulsos: Una vez que se ingresan los pulsos deseados, se deber
contabilizar y mostrar la cantidad de pulsos ingresados, adems una
salida activar un led donde sern visibles los pulsos.
4. SOLUCIN PROPUESTA
Para esta solucin usaremos funciones para el ingreso de datos, es decir, la
cantidad de pulsos deseados, una para convertir los datos y la principal que se
ejecutar siempre. A continuacin se muestra el cdigo utilizado:
#include<18f4550.h>
#use delay(clock=4000000)
#fuses XT
#byte portb=0Xf81
#byte porta=0Xf80

#byte portd=0xf83
#include<LCD420.c>
#include<KBD.c>
// Declaracion de variables

int cp=0;
int c=0;
int k=0;
int x=0;
int8 digi1, digi2;
// funcin de ingreso de datos
void ingreso(void){
while(k==0)
k=kbd_getc();
digi1= k-48;
write_eeprom(0,digi1);
k=0;
lcd_gotoxy(18,3);
printf(lcd_putc,"%u",digi1);
while(k==0)
k=kbd_getc();
digi2= k-48;
write_eeprom(1,digi2);
k=0;
lcd_gotoxy(19,3);
printf(lcd_putc,"%u",digi2);

lcd_putc("MICRO II");
lcd_gotoxy(6,3);
lcd_putc("GALLEGOS");
lcd_gotoxy(7,4);
lcd_putc("OLIVO");
delay_ms(2000);
lcd_putc("\f");
while(true){
x=0;
// pantalla del programa
lcd_gotoxy(4,1);
lcd_putc("GENERACION DE ");
lcd_gotoxy(7,2);
lcd_putc("PULSOS ");
lcd_gotoxy(1,3);
lcd_putc("PULSOS DESEADOS:");
lcd_gotoxy(1,4);
lcd_putc("CONTEO: ");
delay_ms(100);
ingreso();
delay_ms(300);
x= conversion();

}
// funcin de cantidad de pulsos
int conversion(void){
int n1 , n2;
n1=digi1*10;
n2= n1+digi2;
return n2;
}
// funcin principal
void main(){
// Declaracion de puertos I/O
Set_tris_b(0x00);
portb=0;
Set_tris_d(0x00);
portd=0;
lcd_init();
kbd_init();
k=0;
// pantalla de datos
lcd_putc("\f");
lcd_gotoxy(6,1);
lcd_putc("UPS - GYE");
lcd_gotoxy(6,2);

if(x>25){
c=c+1;
lcd_putc("\f");
// pantalla de error
if (c>=3){
lcd_putc("\f");
lcd_gotoxy(7,2);
lcd_putc("ERROR! ");
x=0;
DELAY_MS(5000);
}
}
if(x<=25){
for(cp=1; cp<=x; cp++ ){
output_high(PIN_B3);
delay_ms(500);
lcd_gotoxy(9,4);
printf(lcd_putc,"%u",cp);
output_low(PIN_B3);
delay_ms(500);
}
lcd_putc("\f");
} }}

5. PLANOS

6. CONCLUSIONES
Existen un sinfn de aplicaciones que se pueden realizar con
microcontroladores, al disear este programa pudimos comprobar el
funcionamiento del LCD y el ingresado datos a travs de un teclado
matricial generando una cierta cantidad de pulsos que se evidencian a
travs de un led.
7. RECOMENDACIONES
Para este tipo de programas hay que tener mucho cuidado con el
manejo de los datos que se ingresan, dependiendo de la cantidad de
operaciones que se tengan que realizar es preferible ir comprobando
paso a paso la correcta manipulacin de las variables del sistema.
Adems las sentencias for nos ayudan a realizar lazos repetitivos
cierta cantidad de veces y las variables ingresadas se utilizan para los
parmetros del lazo.
8. IMPLEMENTACIN

Você também pode gostar