Lab2 Informe
LABORATORIO 2
CONTADOR POR ACTIVACIÓN DE SENSORES.
PRESENTADO A:
ING. LEWIN LÓPEZ L.
PRESENTADO POR:
ANGIE RAFAELA CAMPO TORO
ANDRES PINTO
BRIAN ORLANDO RAMOS MARTÍNEZ
ANDRÉS FELIPE URIBE ROJAS
INSTITUCIÓN UNIVERSITARIA ANTONIO JOSÉ CAMACHO
FACULTAD DE INGENIERÍAS
SANTIAGO DE CALI, VALLE.
2013-I
INTRODUCCION
En el siguiente informe podemos apreciar la aplicación de un tecladomatricial y un lcd para un contador de cajas con activación de sensores, en el veremos el código de programación que realiza el conteo, verificación y clasificación de cajas. También veremos la simulación que nos ayuda a comprobar el correcto funcionamiento del dispositivo. A continuación veremos la descripción de los ítems anteriores.
PROCEDIMIENTO
A continuación se explicarael código, detallando las funciones claves del programa.
#include <16f877a.h>
#use delay(clock=4Mhz)
#use fast_io(D) // LCD
#use fast_io(B) // Teclado Matricial.
#use fast_io(A) // Sensores y pulsadores.
#define use_portb_kbd TRUE
#include
#include
En este bloque apreciamos la creación de las variables.
int step,unidades,decenas,valor,contador,cuente,sp,se,sg,sp1,se1,sg1,mostrar;
int pulsador,sensorP,sensorE,sensorG,menu,m1;
int error1;
char tecla;
int tecla1,tecla2,t3,pos1,t5;
void main(){
set_tris_b(0xe0); // Configuración
set_tris_d(0x00); // de los
set_tris_a(0xff); // puertos
lcd_init(); // Inicia la libreria del lcd en el programa y permite su lectura.
kbd_init(); //Inicia la libreria del teclado matricial en el programa.
port_b_pullups(true);lcd_gotoxy(4,1);
printf(lcd_putc,"BIENVENIDO"); // Mensaje
lcd_gotoxy(4,2); //de
printf(lcd_putc,"AL CONTADOR"); //Bienvenida.
delay_ms(1500);
printf(lcd_putc,"\f");
lcd_gotoxy(4,1);
printf(lcd_putc,"POR FAVOR"); // Pide al usuario
lcd_gotoxy(4,2); //Presionar la tecla #
printf(lcd_putc,"PRESIONE '#'"); // Parainiciar el programa.
delay_ms(1500);
contador=0;
sp=0;
se=0;
sg=0;
sp1=0;
se1=0;
sg1=0;
while (true){
pulsador=input(pin_A0); //Lee las
sensorP=input(pin_A1); // entradas
sensorE=input(pin_A2); // de los pines
sensorG=input(pin_A3); // del Puerto A, para los sensores y pulsadores.
tecla=kbd_getc(); //Asignación de las funciones del teclado a la variable tecla.
if(cuente==1){ // Inicio dela función para el conteo de las cajas.
if (pulsador==0){ //Aumenta la variable
contador++; // contador en 1 por cada pulso.
delay_ms(400);
printf(lcd_putc,"\f");
lcd_gotoxy(6,1);
printf(lcd_putc,"CUENTA"); // Muestra en el lcd el valor del contador.
lcd_gotoxy(8,2);
printf(lcd_putc,"%u",contador);
if(contador>=valor){
contador=valor;
}if((sensorP==1)&&(sensorE==0)&&(sensorG==0)){ // Activación sensor cajas pe.
sp++; // Lleva la cuenta cajas peq.
sp1=1;
}else{
if((sensorP==0)&&(sensorE==1)&&(sensorG==0)){ //Activación sensor cajas me.
se++; // Lleva la cuenta cajas me.
se1=1;
}else{if((sensorP==0)&&(sensorE==0)&&(sensorG==1)){ //Activación sensor cajas gr.
sg++; // Lleva la cuenta cajas gr.
sg1=1;
}
}
}
}else{
if((sensorP==1)&&(sensorE==1)&&(sensorG==0)){ //Al activarse dos sensores
printf(lcd_putc,"\f"); // muestra un mensaje de error
lcd_gotoxy(1,1);// y pide desactivar uno de los
printf(lcd_putc,"ERROR! DESACTIVE"); // sensores implicados para seguir.
lcd_gotoxy(5,2);
printf(lcd_putc,"UN SENSOR");
delay_ms(450);
}else{
if((sensorP==0)&&(sensorE==1)&&(sensorG==1)){
printf(lcd_putc,"\f");
lcd_gotoxy(1,1);
printf(lcd_putc,"ERROR! DESACTIVE");
lcd_gotoxy(5,2);
printf(lcd_putc,"UN SENSOR");
delay_ms(450);...
Regístrate para leer el documento completo.