Kul med PIC församling - Episode 8 (3 / 3 steg)

Steg 3: programvara

Länkarna listas nedan. Jag har tagit sådana för både 12F683 och 16F688. Skillnaderna är oftast i några registernamn tillsammans med de förväntade skillnaderna i PIC-versionen (lista =) och det inkludera filen och den __CONFIG linjen.

Som tidigare nämnts är programvara baslinjen den som vi används i Episode 7 för perioderna som lång sömn. Dessutom lades EEPROM skriva koden från avsnitt 6. I den 12F683 versionen raden är "BCF EECON1, EEPGD" kommenterade ut eftersom det endast gäller för 16F688. Den linjen används inte i den 12F683 koden eftersom den EEPGD biten inte finns i registret över EECON1. 12F683 kan endast skriver EEPROM och inte programminne. De flesta av resten av den nya koden behandlar A/D-omvandlare installation och användning. När rätt registren ställs in i Init koden, krävs omvandlingen bara ett par av flaggor som ska anges. Som är gjort i avbrottshanterare när PIC vaknar. Du kan också se de punkter där strömmen slås på och av för temperaturgivare och Vref potentiometern. Det finns också en oändlig loop i den sista delen av rutinen Init om aktivera PIN-koden beskrivs i hårdvara steg inte är jordad. Som hindrar EEPROM från att skrivas över när det sitter i Pickit3 programmeraren.

En ny twist i koden är användningen av en utökad uppslagstabell på en angiven adress att översätta A/D värdena till temperatur värden. När du använder uppslagstabeller såhär måste du se till att tabellen gränsen inte korsa en sidgränsen. Sidor är definierade start var 256 byte (100 hex). I det här exemplet börjar vi avsiktligt sökning tabell koden på en hög sidgränsen (700 hex). För att beräkna samtal adressen för denna kod kopiera vi de övre bitarna i tabell adress i registret PCLATH. Dessa adress bitar sedan vänja av PIC vid beräkning av platsen för sökning tabell koden. Det är något du inte behöver oroa dig när du använder ett högnivåspråk som C eftersom kompilatorn automatiskt läggs de nödvändiga instruktionerna för dig. Det är också något du normalt inte behöver oroa dig när du använder mikrokontroller eller mikroprocessorer som har en full 16-bitars adress förmåga.

Det finns två andra saker att notera om uppslagstabellen. Eftersom vi begränsar vår temperatur avläsning till två siffror för bekvämlighet, använda siffror från 100 till 109 grader en ASCII "A" för decimal motsvarigheten till "10". En annan sak att komma ihåg är att varje post i tabellen tar två byte minne. En byte är för RETLW undervisning och en byte är för det returnerade värdet. Vi får inte överstiga 127 inlägg för att hålla inom vår sida gräns på 255 byte.

OK, så vi få allt byggt och kör men hur får vi loggade data ur PIC? Med 16F688 kunde vi lägga till ett seriellt gränssnitt eller ens Bluetooth interface beskrev i ett tidigare avsnitt. För detta projekt kommer vi hålla det enkelt och bara använda funktionerna i våra Pickit3 programmerare och MPLAB X IDE. Vi känner redan till på knappen för att ladda ner (program) programvaran till PIC, men alldeles intill knappen är en för uppladdning från PIC. Om du klickar på pilen vid sidan av knappen kan du se alternativen för vilka delar av minne du vill hämta. Det nedersta alternativet är för EEPROM. När du klickar på det, dyker det upp ett fönster som låter dig bestämma namn och destination av hex filen. Den fil som skapas kan läsa Windows Anteckningar och formateras så här:

: 020000040000FA
: 10420000730073007200720072007200720072001C
: 104210007200720072007200720072007100710010
|
|
|
: 00000001FF

De verkliga datavärdena inloggad start på linje 2. Det finns sammanlagt 32 rader av data med 8 värden på varje rad. Det första värdet på varje rad börjar på 8 plats. Datainmatningarna loggas som 16-bitars värden men två nollor är inte tillämplig eftersom EEPROM är endast 8 bitar bred. Fyra sista siffrorna på varje data fodrar är en kontrollsumma och kan ignoreras. Uppslagstabellen i programvaran sätter särskilt värde med vetskap om att den hex filen kommer att konvertera dem till ASCII. I exemplet ovan temperaturerna registreras på första raden är 73, 72, 73, 72, etc. Tja, är det det för Episode 8 av "Kul med PIC församlingen". Håll ögonen öppna för ytterligare episoder.

Se Steg
Relaterade Ämnen

Kul med PIC församling - episod 18

Surr ord och slagord är alltid som genereras, mestadels i teknikområden eller politik. Även Dilbert fick i på trenden med "Buzzword Bingo" tillbaka i "90-tal. En av de för närvarande heta fraserna är "Internet saker (IoT)" så jag...

Kul med PIC församling - Episode 11

OK, jag är inte riktigt OCD men jag måste erkänna att ibland jag fastnar på ett tema. Förutom elektronik och programvara jag gillar att göra saker som träslöjd och, nyligen, koppar rör gården konst. Problemet med craft grejer är att jag bygga som en...

Kul med PIC församling - Episode 12

OK, så jag är en av de människor som är glad när jag äntligen något som fungerar men det gnager på mig om jag inte förstår detaljerna i varför det fungerar. Så är fallet med denna episod. Bakgrunden är att jag jobbar på ett litet projekt för en vän o...

Kul med PIC församling - Episode 14

Som jag nämnde i ett tidigare avsnitt, jag volontär på en ideell återvinningscentral. Vi fixa mestadels datorer och LCD-skärmar men nyligen jag har tagit på sig uppgiften att få vissa äldre Dell 5650 subwoofer system körs. Svåra var först räkna ut hu...

Kul med PIC församling - Episode 15

Ett av mina senaste projekt med byggnaden av en liten 2.1 förstärkare med några TDA power förstärkare marker som jag scrounged från en avgjutning av elektronik ombord. Eftersom jag var kunna avgöra hur jag ville styra saker, valde jag att använda ett...

Kul med PIC församling - Episode 17

Tillbaka i dåliga gamla dagar hade varje telefon företag en proprietära gränssnitt och ofta olika gränssnitt för olika telefoner i sin produktlinje. Dessa dagar, dock använder nästan varje telefon ett USB-gränssnitt, liksom många andra enheter. Genom...

Kul med PIC församling - Episode 20

Visa i Episode 19 jag nämnde i förbigående att det skulle vara ganska lätt att anpassa designen till de mer moderna 16F1837 som vi använde i episod 13 för grafiken. Som skulle få oss från att kopiera kommando och budskap strängar till begränsat RAM u...

Kul med PIC församling - episod 24

När jag var stationerad utomlands tillbaka i början av 1970's fanns två saker billigt finns det mest militära killar gillade: stereoutrustning och sprit. Nej, detta Instructable handlar inte om en PIC-driv hem distillery. Förlåt. Stereoutrustning var...

Kul med PIC församling - Episode 3

Efter att jag hade spelat runt med bilder ett tag råkade jag märka att webben var full av små gränssnitt styrelser som kunde göra en mängd intressanta uppgifter. Ännu bättre, de var billigare än att försöka bygga en egen liten styrelser. Ack, var de...

Kul med PIC församling - Episode 9

Fyrtio år sedan hade jag ett par vänner som fick mycket involverad med HO skala modelljärnvägar. Jag hade vuxit ur mitt intresse för tåg efter min gamla Lionel fick vidare till min yngre bror men jag fortfarande beundrade det arbete som mina vänner g...

Kul med PIC församling - Episode 13

För några månader sedan övervägde jag att göra en kapacitans mätare med PIC. Jag gjorde en del efterforskningar på nätet och kollat in olika mönster. Sedan gjorde jag misstaget att kolla eBay för att se hur mycket en skulle kosta. De inre styrelsen v...

Kul med PIC församling - Episode 1

Tillbaka i förr, när män var män och disketter var enorm, vi programmerade första mikroprocessorer i assembler - och vi gillade det så. Nu när jag är pensionerad bestämde jag mig att se över de forna dagarna och leka med den billiga PIC mikrokontroll...

Kul med PIC församling - episod 10

Har du någonsin tänkt på en bra lösning för ett problem som inte finns? På ett sätt som är vad de flesta av dessa PIC Instructables har handlat om. Som jag sade i den första, är de flesta av dessa bara potentiella byggstenar att hjälpa gnista idéer f...

Kul med PIC församling - episod 16

Hittills har jag stått emot att lägga till miljontals "Blinka an LED"-projekt som är ute på webben. Det är inte att säga att jag faktiskt inte gjorde ett "Blinka an LED" projekt när jag först började leka med PIC eftersom jag gjorde. T...

Kul med PIC församling - Episode 19

En av mina favorit fraser är "det är lätt om du vet hur." Jag är inte säker på om jag plockade upp någonstans som länge sedan eller myntade det själv men det finns en hel del sanning i det. Det är typ av vad som hände när jag letade efter ett sä...

Kul med PIC församling - Episode 2

Episode 1 var väl en medryckande framgång eftersom någon annan än mig faktiskt tittade på den. Så här går vi med Episode 2. I detta Instructable ser vi för vissa faktiska indata till 1602 LCD-displayen vi byggt i Episode 1. En snabb titt i gamla elek...

Kul med PIC församling - episod 21

Jag är inte en världsresenär men jag har varit på ett antal platser som skiljer sig radikalt i temperatur och luftfuktighet. Jag bryr mig inte vad någon säger, "torr värme" betyder ingenting när termometern är över 110 grader. På samma sätt-40 g...

Kul med PIC församling - Episode 22

Den gemensamma säger är att "nöden är uppfinningarnas moder". I verkligheten, men finns det massor av "mammor" uppfinning. Min favorit är "lathet" men ibland saker blir uppfann bara för att det är en rolig utmaning för att rä...

Kul med PIC församling - episod 23

Som jag nämnde i tidigare episoder jag volontär på den lokala ideella återvinningscentralen. Några av elektronik saker som blir tappade bort slags gör mig känns som en teknik arkeolog och jag har en fantasi som History Channel visar upp en dag vill g...

Kul med PIC församling - episod 4

Som jag nämnde i Episode 3, köpte jag en liten mängd moduler för gränssnitt till bilder. En av dem är en Bluetooth-modul. I alla dessa år som jag vetat om Bluetooth, hade jag faktiskt aldrig kollat upp historien bakom namnet. Det var tydligen uppkall...