////////////adc.c//////////////////////////// #include "adc.h" #include unsigned int volatile Ergebnis; void Adc_Init(void) { ADCSRA = 0xC0; //Durch das setzen von Bit ADEN schaltet Der AD-Umsetzer ein ADMUX = 0x03; //wählt der Kanal(ADC3) und setzt die Rferenzspannung auf 5v } unsigned int umsetzen_Spannung(void) { ADCSRA = 0xC6; //AD-Umsetzer Starten und Prescaler auswählen while ( ADCSRA & (1< #pragma interrupt_handler int_timer0:iv_TIMER0_OVF unsigned int volatile count=0; //void wait_10ms(unsigned char time) unsigned int volatile wait_10ms(unsigned int time) { count=0; TCNT0 = 173; //10ms SREG |= (1<<7); //SREG:Bit 7 – I: Global Interrupt Enable TIMSK = (1< #include "adc.h" #include "timer.h" //void int_timer0(void); //#pragma interrupt_handler int_timer0:iv_TIMER0_OVF unsigned int volatile Ergebnis1,Ergebnis2; //void get_sensor(void); unsigned int digital_wert,i; unsigned int volatile test[20]; //int Ergebnis; int Umrechnung(int Druck) { digital_wert =5.4894 * Druck; digital_wert = digital_wert + 57.294; return digital_wert; } void main() { Adc_Init(); DDRB=0x17; PORTB=0x00; //while(1) wait_10ms(25); for(i=0;i<20;i++) { test[i]= umsetzen_Spannung(); ADCSRA=0; wait_10ms(50); PORTB=0x00; wait_10ms(50); } while(1); }