rendered paste body#include <16f88.h>
int ones_digit=0, tens_digit=0, total=0;
char num[10]={0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#use delay(clock=8000000)
#INT_EXT
void ext_isr(void)
{
ones_digit++;
total++;
}
void main(void)
{
set_tris_a(0x00); // Port A: All outputs
set_tris_b(0x03); // Port B: B0 input
enable_interrupts(global);
while(true)
{
if(ones_digit == 10) //Check for ones digit carry over
{
tens_digit++;
ones_digit=0;
}
if(tens_digit == 10) //Check for tens digit carry over
{
tens_digit=0;
}
if(total > 10 && total < 30) //Turn fan 1 on
output_bit(PIN_B3, 1);
if(total > 30 && total < 60) //Turn fan 2 on
output_bit(PIN_B4, 1);
if(total > 60 && total < 99) //Turn fan 3 on
output_bit(PIN_B5, 1);
output_a(num[ones_digit]);
output_bit(PIN_B1, 1);
delay_ms(5);
output_bit(PIN_B1, 0);
output_a(num[tens_digit]);
output_bit(PIN_B2, 1);
delay_ms(5);
output_bit(PIN_B2, 0);
}
}