Sari la conținut
ELFORUM - Forumul electronistilor

convertor A/D pic 16f877a


Vizitator tutumarian

Postări Recomandate

  • Răspunsuri 7
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Yoshiro

    4

Top autori în acest subiect

Nu m-am uitat in datasheet.

 

In primul rand trebuie sa creezi o functie de initializare, nu stiu daca ai creat-o, nu stiu ce Fosc ai.

 

void ADC_Init(){//setezi registrii ADCON0, ADCON1 vezi datasheetADCON0=0b10000001; // frecventa de conversie Fosc/32, selectat AN0 canal ADCADCON1=0b00001110;// Fosc/32, rezultatul e left justified adica cei mai importanti 8 biti vor fi in ADRESH, AN0 -analogic, restul digital, Vdd, Vss referinte.// daca nu ai setat inca TRIS-urile in main poti sa o faci aici}unsigned char Read_ADC(){ADCON0bits.GO_DONE=1;//activeaza conversiawhile(ADCON0bits.GO_DONE==1);//sta cat timp convertestereturn ADRESH;//returneaza cei mai importanti 8 biti, pentru ultimii 2 folosesti ADRESL}

Testeaza si vezi, nu stiu daca merge in hi-tech. S-ar putea in loc de GO_DONE sa fie GODONE etc.

Link spre comentariu
Vizitator tutumarian

am facut, nu imi da eroare la compilare doar ca in proteus nu imi merge simularea, imi da o eroare de genu: "ADC conversion clock period((2.5e-7) spre exemplu la 8mhz si Fosc/32) is less than min TAd=1.6us and is possibly inalid for device clock frequency". Eroare asta mi-o da indiferent de ce frecventa de conversie aleg, la oricare frecventa a microcontrolerului.am facut un calcul si ar trebui sa fie 4e-6 la 8mhz si Fosc/32 ceeia ce ar trebui sa fie suficient.

Link spre comentariu

pai depinde si in program cum ai setat clockul,sa incercam Fosc/16 atunci, adica:ADCON0=0b01000001; // bitul 7 si 6ADCON1=0b01001110; // bitul 6ca sa mai incerci alte variante: (primul bit reprezinta bitul 6 din adcon1 si urmatorii 2 bitii 7 si 6 din adcon0)0 00 FOSC/20 01 FOSC/80 10 FOSC/320 11 FRC (clock derived from the internal A/D RC oscillator)1 00 FOSC/41 01 FOSC/161 10 FOSC/641 11 FRC (clock derived from the internal A/D RC oscillator)

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări