Hola paisano, que tal...
Como bien te dicen Pocher y Elena lo ideal sería que pasases por el foro de C, allí estaría en el lugar correcto el mensaje, pero bueno no pasa nada, todos nos equivocamos y más cuando recién ingresamos en un foro.
En cuanto al programa, como bien te indica Pocher, cambiando esas lineas y algún que otro errorcito de por ahí, el programa compila...ahora, eso no quiere decir que esté bien... sólo he mirado los errores para poder compilarlo, no me he parado a buscarle un sentido al código, pruebalo y nos comentas vale?, y si es posible mejor en el hilo de C.
Codigo:
#include "16F876.h"
#device ADC=10
#use delay (clock=4000000)
#include <LCD.c>
#fuses HS,NOWDT,PUT,BROWNOUT,NOLVP,NOPROTECT,NOCPD,NOWRT
#byte PORTA=0x05
#byte PORTB=0X06
#byte PORTC=0x07
static int cont=0;
long int pto=0,pulse=0;
main()
{
set_tris_A(0b001010);
set_tris_B(0b11000000);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
setup_adc_ports(A_ANALOG_RA3_REF);
setup_adc(ADC_CLOCK_INTERNAL);
SET_ADC_CHANNEL(1);
lcd_init();
lcd_gotoxy(1,1);
lcd_putc("r.p.m.:");
while(TRUE)
{
portb=(0b00000001);
pulse=0;cont=0;pto=0;
set_timer1(3036);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
while(cont<10)
{
output_low(PIN_B1);
while((pto<160)&&(cont<10))
{
delay_us(5);
pto=read_adc();
}
printf(lcd_putc,"pto=%ld",pto);
output_high(PIN_B1);
while((pto>=155)&&(cont<10))
{
delay_us(5);
pto=read_adc();
}
pulse++;
}
pulse--;
pulse=pulse*12;
lcd_gotoxy(1,2);
printf(lcd_putc,"%ld",pulse);
setup_timer_1(T1_DISABLED);
}
}
#INT_TIMER1
interrupcion_timer1()
{
setup_timer_1(T1_DISABLED);
cont++;
set_timer1(3036);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
}
Entre los errores encontré dos bastante "graves" o por lo menos que llamasen la atencion (tampoco son tan graves), el primero fue no definir el stream de salida, si pones un #include<lcd.c> para incluir el driver del lcd, al escribir la orden printf debes decirle por que dispositivo vas a sacarlo "lcd_putc", y no dejarlo en blanco como has hecho que se suele utilizar para imprimir por el puerto serie. Otro fallo fué el poner el goto, no es que no funcione, pero no es una buena técnica de programación, mejor poner el while....
Ya nos contarás amigo, a ver si te funciona, de momento ya lo puedes compilar, ahora a probarlo......
Un saludo.