Gudinna Wiki VisaÄndraBifogaVersionerUppdateratSökKarta

Implementering av avläsning av PICmcu A/D omvandlare (ADC) i C

Grundläggande information

För att kunna göra en egen implementering i C för avläsning av PICmcu A/D omvandlare så måste den tekinska beskrivningen av A/D omvandlaren studeras. Microchip har varit snälla nog att lägga ut god teknisk dokumentation om sina PICmcu kretsar på deras hemsida.
http://www.microchip.com/1010/search/prodsel/index.htm - Sida för att hitta rätt teknisk specifikation för just din krets.
http://www.microchip.com/1010/pline/picmicro/category/embctrl/14kbytes/devices/16f876/index.htm - Teknisk specifikation för PIC16F876, ladda hem filen  
PIC16F873/4/6/7 Datasheet (30292c.pdf) och studera kapitel 11.0 som behandlar ADC enheten.

Rekommenderade förkunskaper för implementering i C

Kolla up hur din C kompilator representerar binära och hexadecimala tal.
Kolla up om din C kompilator kan skriva direkt till specifika minnes positioner i chippet. (Vissa C kompilatorer kräver att man gör all hårdvarunära programmering via färiga C funktioner som följer med kompilatorn. Vilka färdiga funktioner som följer med kompilatorn finns beskrivet i kompilatorns hjälp fil).
Öva gärna på bitvisa operationer i C (bitvis rotering, AND och OR operation). Om du känner att det är enkelt att flytt runt bitar i en byte eller mellan bytes så ska implementering i C gå lätt.
Kontrollera att det inte redan finns en färig implementerad funktion i din C kompilator för avläsning av ADC enheten vilket kan spara dig tid så att du slipper implementera avläsningen själv. Dom flesta färdigimplementerade funktioner för avläsning av ADC enheten gör att PIC processorn väntar medans ADC enheten gör omvandligen. Vill man kunna göra beräkningar undertiden ADC enheten arbetar så rekommenderas att man implementerar en egen asynkron avläsning av ADC enheten där man kontrollerar GO/DONE flaggan (bit2 i register ADCON0) i ADC enheten för att se om den är klar med sin avläsning.

Färdiga implementeringar


Referens till aktuell sida