int main() {

	int tmren = 0;

	ini_lcd();
	InitADC();
	timer1_init();
	cli();
	
	CLR_BIT(DDRA, 1);
	
	puts_lcd2("I:----  AVG:----");
	pos_lcd(1, 0);
	puts_lcd2("Mi:----  Ma:----");
	
	while(1) {
		wait_btn();
		if(tmren) {
			cli();
			tmren = 0;
		}
		else {
			sei();
			tmren = 1;
		}
		
	}
}
Example #2
0
void update_lcd(void) {
	if (mode == 1) { // Show first 32 supported Service 1 PIDs 
		sprintf(buf0, "%02X %02X %02X %02X %02X", (unsigned int)(s1pid00[0] & 0xFF), (unsigned int)(s1pid00[1] & 0xFF), (unsigned int)(s1pid00[2] & 0xFF),
				(unsigned int)(s1pid00[3] & 0xFF), (unsigned int)(s1pid00[4] & 0xFF));
		sprintf(buf1, "%02X %02X %02X %02X %02X", (unsigned int)(s1pid00[5] & 0xFF), (unsigned int)(s1pid00[6] & 0xFF), (unsigned int)(s1pid00[7] & 0xFF),
				(unsigned int)(s1pid00[8] & 0xFF), (unsigned int)(s1pid00[9] & 0xFF));
	}
	else if (page == 0) { // Show first page: RPM and speed
		sprintf(buf0, "RPM: %i", rpm);
		sprintf(buf1, "KM/H: %i", speed);
	}
	else { // Show second page: Engine load and engine coolant temperature
		sprintf(buf0, "Load: %i", load);
		sprintf(buf1, "Temp: %i", temperature);
	}
	
	clr_lcd();
	pos_lcd(0, 0);
	puts_lcd2(buf0);
	pos_lcd(1, 0);
	puts_lcd2(buf1);
}
int main(void)
{
	ini_lcd();
	clr_lcd();
	int ca = 0;
	int cb = 0;
	int aa=0;
	int ab=0;
	int ma=0;
	int mb=0;
	int mina=0;
	int minb=0;
	//ADMUX |= 71;
	//SET_BIT(ADMUX,6);
	//ADCSRA|=135;
	//SET_BIT(ADCSRA)
	//ADMUX=(1<<REFS0); // For Aref=AVcc;
	SET_BIT(ADMUX,6);
	//ADCSRA=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); //Prescalar div factor =128
	ADCSRA|=135;
	
	//wait_avr(50000);
	//uint8_t ch=ch&0b00000111;
	
	//ADMUX|=ch;
	//ADCSRA|=(1<<ADSC);

	//ADCSRA|=(1<<ADEN);
	
	
    while(1)
    {
        //TODO:: Please write your application code 
		pos_lcd(0,0);
		sprintf(beg,"A:Start Sampling");
		puts_lcd2(beg);
		pos_lcd(1, 0);
		sprintf(beg,"B:reset");
		puts_lcd2(beg);
		if(key_pressed(0, 7))
		{
			while(1)
			{
				if(key_pressed(1, 7))
				{
					result = 1;
					max=0;
					min=9999;
					average=0;
					total=0;
					count=0;
					clr_lcd();
					break;
				}
				get_adc();
				clr_lcd();
				pos_lcd(0, 0);
				//int a,b;
				ca = result / 100;
				cb = result % 100;
				aa=average/100;
				ab=average%100;
				ma=max/100;
				mb=max%100;
				mina=min/100;
				minb=min%100;
				sprintf(beg,"Cr:%01d.%02d Mx:%01d.%02d",ca,cb,ma,mb);//(adc/1023)*5
				puts_lcd2(beg);
				pos_lcd(1, 0);
				sprintf(beg,"Avg:%01d.%02d Mn:%01d.%02d",aa,ab,mina,minb);
				puts_lcd2(beg);
				wait_avr(500);
			}
		}
		

			
    }
}