All pastes #270267 Raw Edit

Someone

public text v1 · immutable
·published 2006-12-07 06:08 UTC
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);
	}
}