//------------------------------------------------------------------------- // Titel : Eingang_Analog //------------------------------------------------------------------------- // Funktion : // Schaltung : //------------------------------------------------------------------------- // Prozessor : ATmega8 // Takt : 3686400 Hz // Sprache : C // Datum : 1.2.2009 // Version : 1.0 // Autor : // Programmer: // Port : //------------------------------------------------------------------------- // created by myAVR-CodeWizard //------------------------------------------------------------------------- #define F_CPU 3686400 #include #include //------------------------------------------------------------------------ // Initialisierungen //------------------------------------------------------------------------ void init() { // Ports initialisieren sbi(DDRB,0); // PORTB0 auf Ausgang cbi(DDRC,0); // PORTC0 auf Eingang ohne PullUp cbi(DDRD,6); // PORTD6 auf Eingang ohne PullUp ADMUX=0xC0; // Port, interne Referenzspannung 2.65V und Auflösung 10 Bit ADCSRA=0xED; // Modus, Interrupt und Start sbi(SFIOR,3); // Multiplexer erlauben ADMUX=0x00; // Port einstellen ADMUX=0x4A; // interne Referenzspannung 1.23V, Interrupt //--- Interrupts erlauben --- sei(); } //-------------------------------------------------------------------- // ADC_vect - Interrupt bei ADC Wandlung komplett //-------------------------------------------------------------------- ISR(ADC_vect) { // Beginn der Ereignisbehandlung uint16_t wert=ADC; // Einlesen des Analogwertes Low+High-Teil //..... } //-------------------------------------------------------------------- // ANA_COMP_vect - Interrupt bei Anlog-Komparator //-------------------------------------------------------------------- ISR(ANA_COMP_vect) { // Beginn der Ereignisbehandlung //..... } ///////////////////////////////////////////////////////////////////////////// // Main-Funktion ///////////////////////////////////////////////////////////////////////////// main() { init(); // Initialisierungen while (true) // Mainloop-Begin { //... } // Mainloop-Ende } //---------------------------------------------------------------------------