#include <18F4550.h>
#device adc=10
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOPBADEN,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#use fast_io(b)
#Byte PortB = 0xF81
int1 x = false;
#INT_EXT
void prueba()
{
x++;
}
void main()
{
port_b_pullups(false);
setup_adc_ports(AN0|VSS_VDD);//para escoger el canal cero y el vss y vdd
SETUP_ADC(ADC_CLOCK_INTERNAL);//la frecuencia de muestreo es 2-6us
SET_ADC_CHANNEL(0);
delay_ms(333);
disable_interrupts(Int_Ext);
disable_interrupts(GLOBAL);
Ext_Int_Edge(L_TO_H); // Inicialmente detectar interrupcion por flanco de subida.
Enable_Interrupts(Int_Ext); // Activar Interrupción Externa a traves de RB0.
Enable_Interrupts(GLOBAL); // Interrupciones Generales Activadas.
Set_Tris_B(0b00000011); // Puerto B todo entradas (sólo usamos las entradas RB0 y RB1).
while(true)
{
if(x)
output_high(PIN_C2);
else
output_low(PIN_C2);
}
}