Professional Documents
Culture Documents
Pic C
Pic C
#include<16f877a.h>
//Declaracin de ficheros.
#device (adc=10)
#use delay(clock=4000000)
#include<lcd.c>
#byte port_c=0x07 //definicion de registro
Calculo_Peso(); //NOMBRE DE SUBRUTINA
port_c=0b00000000;
//Limpia Puerto C.
formato=0; //Formato Kilogramos y Libras.
flag_tara=0;
funcion_1=0;
formato_1=0;
formato_2=0;
funcion_2=0;
hold=0;
captura=0;
for(valor=0;valor<=9;valor++)
{
printf(lcd_putc,"\f BALANZAS JBC...");
lcd_gotoxy(valor,2);
printf(lcd_putc,">>>>%02D",valor);
delay_ms(700);
printf(lcd_putc,"\f");
delay_ms(200);
}
output_high(pin_c4);
delay_ms(100);
output_low(pin_c4);
delay_ms(100);
printf(lcd_putc,"\f INDICADOR DE ");
printf(lcd_putc,"\n PESO >>");
delay_ms(2000);
printf(lcd_putc,"\f");
Calculo_Peso();
flag_tara=1;
tara=kilogramos;
do
{
if (input(pin_d0)==0)
{
delay_ms(20);
while(input(pin_d0)==0);
if (funcion_1==0) funcion_1=1; else funcion_1=0;
}
while(funcion_1==1)
{
printf(lcd_putc,"\f");
printf(lcd_putc,"\f INDICADOR
");
printf(lcd_putc,"\n CUENTA-PIEZAS ");
delay_ms(2000);
printf(lcd_putc,"\f");
while(funcion_1==1)
{
Calculo_Peso();
tara=kilogramos;
CAPCONT = 200/captura;
while(funcion_1==1)
{
Calculo_Peso();
kilogramos = kilogramos - tara;
CONTPIEZA = (CAPCONT * kilogramos)/200;
if(kilogramos<199)
{
lcd_gotoxy(1,1);
printf(lcd_putc," CUENTA PIEZAS: \n");
printf(lcd_putc," %01.0g
",CONTPIEZA);
output_low(pin_c3);
output_low(pin_c4);
}
else
{
lcd_gotoxy(1,1);
printf(lcd_putc," ADVERTENCIA! ");
printf(lcd_putc,"\n EXCESO DE PESO ");
output_high(pin_c4);
output_high(pin_c3);
delay_ms(100);
output_low(pin_c3);
}
if (input(pin_d0)==0)
{
delay_ms(20);
while(input(pin_d0)==0);
if (funcion_1==0) funcion_1=1; else funcion_1=0;
}
}
}
}
if(funcion_1==0)
{
Calculo_Peso();
if (input(pin_d1)==0)
{
delay_ms(20);
while(input(pin_d1)==0);
if (formato==0) formato=1; else formato=0;
}
if (input(pin_d2)==0)
{
delay_ms(20);
while(input(pin_d2)==0);
flag_tara=1;
tara=kilogramos;
output_high(pin_c0);
output_high(pin_c4);
delay_ms(50);
output_low(pin_c4);
delay_ms(50);
}
if (flag_tara==1) kilogramos = kilogramos - tara;
",kilogramos);
",libras);
Calculo_Peso()
{
set_adc_channel(0);
delay_us(50);
peso_real=read_adc();
peso_real=peso_real * 0.0048828 * 40;
kilogramos=peso_real;
}