Leuk met de vergadering van de PIC - aflevering 8 (3 / 3 stap)

Stap 3: Software

Hieronder staan de links van de software. Ik heb ook degenen voor zowel de 12F683 als de 16F688. De verschillen zijn meestal in een paar register namen samen met de verwachte verschillen in de PIC-versie (lijst =) en het INCLUDE-bestand regel en de __CONFIG-lijn.

Zoals eerder opgemerkt, is de software basislijn enerzijds die hebben we in aflevering 7 voor de perioden van de lange slaap gebruikt. Daarnaast, werd de EEPROM schrijven code van aflevering 6 toegevoegd. In de versie van de 12F683 de lijn is "BCF-EECON1, EEPGD" uitgecommentarieerd omdat het alleen van toepassing op de 16F688. Die regel wordt niet gebruikt in de code 12F683 omdat de EEPGD bit niet aanwezig in het register van de EECON1 is. De 12F683 kunt u alleen schrijft EEPROM en niet programmageheugen. Meeste van de rest van de nieuwe code behandelt de A/D converter setup en het gebruik. Zodra de juiste registers zijn ingesteld in de Init-code, vereist de conversie alleen een paar vlaggen worden ingesteld. Dat gebeurt allemaal binnenkant van de interrupt handler als de PIC wakker. U kunt ook de punten waar de macht in- en uitschakelen is ingeschakeld voor de temperatuursensor en de potmeter Vref zien. Er is ook een eindeloze lus in het laatste deel van de Init routine als de pin van de inschakelen in de Hardware stap beschreven is niet geaard. Dat voorkomt dat de EEPROM worden overschreven wanneer het zit in de Pickit3-programmeur.

Een nieuwe draai in de code is het gebruik van een uitgebreide opzoektabel op een opgegeven adres om te vertalen van de A/D waarden in temperatuur waarden. Bij het gebruik van de opzoektabellen uitzien moet u om ervoor te zorgen dat de grens van de tabel een pagina grenzen niet overschrijden. Pagina's worden gedefinieerd als elke 256 bytes (100 hex) beginnen. In dit voorbeeld beginnen we met opzet de code van de tabel opzoeken op de grens van een hoge page (700 hex). Oog op de berekening van het adres van de oproep voor deze code kopiëren we de bovenste bits van het adres van de tabel in register PCLATH. Die stukjes adres dan wennen door de foto bij de berekening van de locatie van de code van de tabel opzoeken. Dat is iets wat die u niet hoeft te maken over bij het gebruik van een high-level taal als C omdat de compiler automatisch de benodigde instructies voor u toegevoegd. Het is ook iets die u normaal niet hoeft te maken over bij het gebruik van microcontrollers of microprocessors die de mogelijkheid van een volledige 16-bits adres hebben.

Er zijn twee andere dingen op te merken over de opzoektabel. Aangezien we onze temperatuur uitlezingen tot twee cijfers voor het gemak beperken zijn, de cijfers van 100 tot 109 graden een ASCII "A" worden gebruikt voor het decimale equivalent van "10". Het andere ding om in gedachten te houden is dat elke vermelding in de tabel twee bytes van het geheugen neemt. Een byte is voor de RETLW-instructie en één byte is voor de geretourneerde waarde. Binnen de grenzen van onze pagina van 255 bytes, zodat overschrijden we niet 127 posten.

OK, dus we krijgen alles gebouwd en uitgevoerd, maar hoe krijgen we de logboekgegevens uit de PIC? Met de 16F688 die we kunnen toevoegen een seriële interface of zelfs de Bluetooth-interface die zijn beschreven in een eerdere aflevering. Voor dit project zullen we Houd het simpel en gewoon gebruik maken van de mogelijkheden van onze Pickit3-programmeur en de X MPLAB IDE. Wij zijn al vertrouwd met de knop om te downloaden (programma) de software in de PIC, maar direct naast die knop is een voor het uploaden van de foto. Als u op de pijl naast deze knop klikt kunt u de opties voor welke delen van het geheugen dat u wilt ophalen. De onderste optie is voor de EEPROM. Wanneer u voort welk tikken, zal op knal opwaarts een venster waarin u de naam en de bestemming van het hex bestand te bepalen. Het bestand dat is gemaakt kan worden gelezen met behulp van Windows Kladblok en is opgemaakt zoals dit:

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

De waarden van de werkelijke gegevens geregistreerd start op lijn 2. Er zijn in totaal 32 lijnen met 8 gegevens op elke regel. De eerste waarde op elke regel begint op positie 8. De gegevens worden geregistreerd als 16-bits waarden, maar de twee voorloopnullen zijn niet van toepassing omdat de EEPROM, alleen 8-bits is breed. De laatste vier getallen op elke regel gegevens zijn een checksum en kunnen worden genegeerd. De opzoektabel in de software stelt specifiek de waarden met de kennis dat het hex bestand naar ASCII converteren zal. In het bovenstaande voorbeeld zijn de temperaturen opgenomen op de eerste regel 73, 72, 73, 72, enz. Nou, dat is het voor aflevering 8 van "Fun met PIC vergadering". Stay tuned voor meer afleveringen.

Gerelateerde Artikelen

Leuk met de vergadering van de PIC - aflevering 4

Leuk met de vergadering van de PIC - aflevering 4

Zoals ik in aflevering 3, kocht ik een kleine verscheidenheid van modules voor interfacing naar foto's. Een daarvan is een Bluetooth-Module. In al die jaren dat ik over Bluetooth had geweten, had ik nooit echt het verhaal achter de naam uitgecheckt.
Leuk met de vergadering van de PIC - aflevering 13

Leuk met de vergadering van de PIC - aflevering 13

Een paar maanden geleden overwoog ik maken een capaciteit meter met behulp van de PIC. Ik deed wat onderzoek op het web en verschillende ontwerpen uitgecheckt. Dan maakte ik de fout van het controleren van eBay om te zien hoe veel zou kosten. De vers
Leuk met de vergadering van de PIC - aflevering 22

Leuk met de vergadering van de PIC - aflevering 22

De gemeenschappelijke zeggen is dat "noodzaak de moeder van uitvinding is". In werkelijkheid zijn er echter veel "mothers" van uitvinding. Mijn favoriet is "luiheid" maar soms dingen uitgevonden krijgt, alleen omdat het een l
Leuk met de vergadering van de PIC - aflevering 21

Leuk met de vergadering van de PIC - aflevering 21

Ik ben niet een wereldreiziger, maar ik heb al een aantal plaatsen die radicaal in temperatuur en vochtigheid verschillen. Me niet schelen wat iemand zegt, "droge hitte" betekent niets als de thermometer is boven de 110 graden. Evenzo is-40 grad
Leuk met de vergadering van de PIC - aflevering 18

Leuk met de vergadering van de PIC - aflevering 18

Buzz woorden en zinnen van de vangst worden altijd gegenereerd, vooral in de technologiegebieden of de politiek. Zelfs Dilbert kreeg in op de trend met "Buzzword Bingo" terug in de ' 90's. Een van de momenteel hot zinnen is "Internet van di
Leuk met de vergadering van de PIC - aflevering 1

Leuk met de vergadering van de PIC - aflevering 1

Terug in de olden dagen, wanneer mannen waren mannen en diskettes waren enorm, we geprogrammeerd de eerste microprocessor in assembler - en wij graag gezien dat die manier. Nu dat ik met pensioen ben besloten heb ik om opnieuw die dagen van yore en s
Leuk met de vergadering van de PIC - aflevering 16

Leuk met de vergadering van de PIC - aflevering 16

Tot nu toe heb ik verzette toe te voegen aan de miljoenen van "Een LED knipperen" projecten die op het web. Dat wil niet zeggen dat ik eigenlijk niet maken een project "Knipperen van een LED" toen ik voor het eerst begonnen te rommelen
Leuk met de vergadering van de PIC - aflevering 17

Leuk met de vergadering van de PIC - aflevering 17

Terug in de slechte oude dagen had ieder telefoonbedrijf een eigen interface en vaak verschillende interfaces voor verschillende telefoons in hun productlijn. Deze dagen, maar bijna elke telefoon een USB-interface gebruikt, net als veel andere appara
Leuk met de vergadering van de PIC - aflevering 12

Leuk met de vergadering van de PIC - aflevering 12

OK, dus ik ben een van die mensen die blij zijn als ik eindelijk iets werken, maar het gnaws bij me als ik niet volledig van de details begrijpen van waarom het werkt. Dit is het geval met deze aflevering. De achtergrond is dat ik ben bezig met een k
Leuk met de vergadering van de PIC - aflevering 14

Leuk met de vergadering van de PIC - aflevering 14

Zoals ik in een vorige aflevering, ik vrijwilliger bij een non-profit recyclingcentrum. Meestal we repareren computers en LCD-monitoren maar de laatste tijd ik heb genomen voor de taak op het krijgen van sommige oudere Dell 5650 subwoofer systemen ui
Leuk met de vergadering van de PIC - aflevering 15

Leuk met de vergadering van de PIC - aflevering 15

Een van mijn recente projecten betrokken de bouw van een kleine 2.1 versterker met behulp van wat TDA power versterker chips die ik scrounged van een afgekante elektronica bestuur. Aangezien ik was in staat om te beslissen hoe ik wilde dingen bepalen
Leuk met de vergadering van de PIC - aflevering 3

Leuk met de vergadering van de PIC - aflevering 3

Nadat ik had been playing rond met de foto's voor een tijdje toevallig ik te merken dat het web was vol met kleine interface boards dat allerlei interessante taken kon doen. Sterker nog, ze waren goedkoper dan proberen op te bouwen uw eigen kleine pl
Leuk met de vergadering van de PIC - aflevering 19

Leuk met de vergadering van de PIC - aflevering 19

Een van mijn favoriete zinnen is "het is gemakkelijk als je weet hoe." Ik ben niet zeker als ik pakte die ergens lang geleden of het zelf bedacht, maar er heel wat waarheid daarin is. Dat is soort van wat er gebeurde toen ik ging op zoek naar ee
Leuk met de vergadering van de PIC - aflevering 23

Leuk met de vergadering van de PIC - aflevering 23

Zoals ik in vorige afleveringen ik vrijwilliger bij het lokale non-profit recyclingcentrum. Sommigen van de elektronica-dingen die wordt afgezet soort maakt me voelen als een archeoloog technologie en ik heb een fantasie die the History Channel zal v