criss Postat Mai 2, 2012 Partajează Postat Mai 2, 2012 Buna ziua, Doresc sa utilizez toate intrarile ADC (Adc0..ADC5) pt a masura tensiunea de pe intrerupatoare(intrerupatoarelel sunt mecanice si prin rezistenta vreau sa aflu starea lor, iar in functie de aceea actionez o iesire pe uC). Pana acuma nu am lucrat cu mai mult de o intrare ADC si nu stiu cum sa o rezolv. uCul este un Atmega 8 frecventa de 4Mhz(intern) #include <avr/io.h>#include <avr/interrupt.h> #include <inttypes.h>char s[7];#define OutON PORTB |= (1<<2)#define OutOFF PORTB &= ~(1<<2) void adc_init(void){ADCSRA |= (1 << ADPS0) | (1 << ADPS2); // Set ADC prescalar to 32 - 125KHz sample rate @ 4MHz ADMUX |= (1 << REFS0); // use AVcc as the reference ADMUX |= (1 << ADLAR); // Left adjust ADC result to allow easy 8 bit reading ADMUX |= (1 << MUX0);// ADC1 // ADMUX |= (1 << MUX1);// ADC2 ADCSRA |= (1 << ADFR); // Set ADC to Free-Running Mode ADCSRA |= (1 << ADEN); // Enable ADC ADCSRA |= (1 << ADSC); // Start A2D Conversions}int main(void){DDRB |= (1 << 2); // Set led as outputadc_init(); while (1) /* loop forever */ {cli();s=ADCH;sei();if (s <= 10){OutON;} else if (s >= 10){OutOFF;}}} Link spre comentariu
dexter_g800 Postat Mai 2, 2012 Partajează Postat Mai 2, 2012 salut. ma poti ajuta si pe mine cu programarea unui atmega 8? l am cumparat nopu si vreau sa i fac bootloader cu arduino . si ce peogramator folosesc si ce soft? Link spre comentariu
ratza Postat Mai 3, 2012 Partajează Postat Mai 3, 2012 Salut. Găseşti informaţii în datasheet. Din cîte mai ţin minte nu poate face sampling simultan pe toate intrările. Link spre comentariu
Vizitator andrianu Postat Mai 6, 2012 Partajează Postat Mai 6, 2012 Nu inteleg la ce-ti trebuie adc, ca sa controlezi daca butonul e inchis sau deschis? Oare asta nu corespunde inchis, "0" logic, adica caderea de tensiune pe el e nula, si deschis, "1" logic, unde caderea de tensiune e maxima. Poti folosi simplu o intrare digitala, pentru a controla asta.Dar daca totusi, vrei tare, //include stuffvoid InitADC(){ADMUX|=((1< Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum