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

Stap 3: Software

Hieronder vindt u de link van de software. Terwijl het wordt gericht voor de 16F688, is het gemakkelijk ported aan andere versies van de PIC. U zult moeten veranderen de regel waarmee de PIC-versie (lijst =) en het INCLUDE-bestand, maar die zijn intuïtieve veranderingen. De __CONFIG lijn wellicht ook tweaken alleen maar omdat een of twee van de gebruikte etiketten zijn anders gespeld in sommige van de INCLUDE-bestanden. Zorg enkel ervoor dat de foto die u een PIN-code waarmee een externe Interrupt invoer heeft (meestal het label EXT of INT).

De software van de basislijn gekopieerd rechtstreeks van wat werd gebruikt in aflevering 2 met de LCD-routines verwijderd en de kleine wijzigingen aangebracht voor de 16F688 ter vervanging van de 12F683. De nieuwe software die bespaart was toegevoegd alle vier bytes van de IR-code ontvangen en daarna loopt door een eenvoudige set van logica om te bepalen of het een geldige opdracht. Elke routine "indrukken van een toets" schakelt een uitvoerregel van hoog naar laag voor 50 MS te simuleren een voorpaneel toets drukt. De vertragingstijd van 50 MS was willekeurig pakte omdat de meeste microprocessoren beslissen zal dat er een geldige toets drukt als de input waarde (stuiterde) niet is gewijzigd voor zo lang. U kunt het verlengen van die tijd, indien nodig, maar ik zou niet het verkorten.

In aflevering 2 we gewoon elke byte ontvangen naar de LCD gestuurd en had geen behoefte om op te slaan van de gehele vier bytevolgorde. In deze toepassing, echter wij slaan van alle vier en parse hen vervolgens voor geldige gegevens. Ziet u in de sectie variabelen declareren dat ik heb gedefinieerd, Byte1, Byte2, Byte3 en Byte4. Hoewel we kunnen gewoon het toevoegen van code om te bepalen welke byte die wij hebben ontvangen en vervolgens naar de juiste variabele schrijven, is het meer code efficiënt inspelen op de vier bytes als een matrix in C. De foto laat ons toe om dit te doen door het verstrekken van een aantal registers (FSR en INDF) indirecte adressering uit te voeren. U kunt zien hoe dat gebeurt in de "Save_Byte" routine. In dit geval weten we dat we zullen niet worden overschrijding van een pagina-einde (256 bytes) zodat we alleen hoeft te maken over het opzetten van de lagere 8 bits van het adres gegevens. Een ander ding om op te merken in deze routine is dat we wachten om te "Byte_Count" te verhogen tot nadat we het gebruiken als een adres-index. Dat komt omdat de index moet 0-3 voor onze gegevens terwijl "Byte_Count" gaat vanaf 1-4 terwijl tot nu toe ontvangen IR bytes.

Zoals ik al eerder zei, heeft het versterker-vak een microprocessor in die wat bepaalt te doen voor elke toetsaanslag. Ik vond dat het doet een paar eigenzinnige dingen dat ik niet graag dus deel van de software is toegevoegd om te "corrigeren" die
eigenaardigheden. Een van de dingen die het doet is aan de macht op vanuit de Standby-modus wanneer een toets wordt ingedrukt, niet alleen de / uit-toets. Dat lijkt misschien als een ok ding, maar het daadwerkelijk enkele complicaties veroorzaakt wanneer ik de software aan het schrijven was. Om dingen te vereenvoudigen, voegde ik een controle van de "Power_Up"-vlag in de decodering routine om te slaan met de opdracht alles anders dan het vermogen op sleutel decoderen als het versterker-vak nog steeds in standby-modus is.

Het vak versterker kan ook worden ingesteld voor 2.1 (stereo) modus of 5.1 (surround)-modus. Ik ben het met behulp van een enkele set luidsprekers rijden, dus ik wil het altijd in de 2.1-modus. Helaas, de microprocessor in het vak versterker wordt ingesteld op de modus 5.1 elke keer dat het vak vanuit stand-by gaat naar op of op een tijdstip dat de audio-ingangsbron wordt gewijzigd. Routine "Mode_2_1" wordt aangeroepen op de overgang vanuit stand-by om op en schakelt u de spreker kanalen terug naar 2.1. Ik vond dat ik nodig had over een 1 tweede vertraging na macht op voordat de spreker kanalen opdracht in werking zouden treden. Ook voegde ik de code te "Source_Sw" om te schakelen terug naar de 2.1 modus na het veranderen van de audio-ingangsbron maar dat vereist een kortere vertraging voordat de tweede opdracht kon worden gegeven.

Nou, dat is het voor 10 van de aflevering 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 8

Leuk met de vergadering van de PIC - aflevering 8

Ik heb enkele interessante temperatuurveranderingen meegemaakt in mijn leven met inbegrip van slechts een paar jaar geleden waar wij Stel een recordhoogte eendaagse en stel vervolgens een recordminimum de volgende dag. De meest interessante ervoer ik
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