Microdot - pols horloge LED patroon uurwerk (2 / 7 stap)

Stap 2: Programmering en Micro selectie


ik ben behoorlijk vertrouwd met de programmering en PIC 16F88 en had een paar rondslingeren van andere projecten. Het leek een evidente keuze op te slaan met het leren van een nieuwe instructieset of een nieuwe partij van onchip randapparatuur. Dit apparaat heeft twee poorten A, B een selectie van dingen zoals een seriële i / f, A/D converter, een mooie comfortabele 8kb Flash rom en scads van geheugen... geheel 368 bytes ram. Een ding dat ook handig was was dat het pinnen voor een onboard oscillator die kan worden aangesloten op een gemeenschappelijke 32.768khz horloge kristal voor tijdwaarneming en energiebesparende modi. De tijdwaarneming oscillator kunt uitvoeren zelfs wanneer het apparaat in de modus voor laag stroomverbruik. Tot slot kan het wakker wanneer het een wijziging op een aantal van de pins (pinnen 4-7/portb hebben wake op de verandering van staat vermogen) gevonden.

Omdat dit zo klein mogelijk moest gebruikte ik een 20pin SOIP 16F88. Dit was een 300MIL brede versie, Microchip hebben een 150mil SSOIP (mager, kleine omtrek pakket), maar gezien het feit dat het apparaat was om hand prototyped, ik wilde gebruiken een grotere gemakkelijker om chip.

Uiteraard een SOIP pakket gewoon passen in een programmeur zodat ik moest gebruiken ICSP... wat in een heleboel verdriet resulteerde! ICSP is een manier van de programmering van de microcontroller, terwijl het nog in een circuit. ICSP staat voor In Circuit Serial programmeren en wordt vaak gebruikt om program 'lege' boards, of bijwerken van software zonder unsoldering/socketing van de microcontroller.

Ten eerste las ik niet genoeg over ICSP toe te voegen het juiste circuit voor het afhandelen van ICSP in mijn eerste prototype. Dan lees ik niet het gegevensblad van de microchip met betrekking tot een aantal extra pinnen op de 20pin 16F88SOIP. Deze pinnen zijn de AVss en AVdd pinnen. Zij bieden gewoonlijk de spanningen van de verwijzing voor de A/D converter.

Ik nam een tijdje om erachter te komen dat deze pinnen moeten worden aangesloten (ik verbonden met GND/Vdd) voor ICSP te werken.

Ook is belangrijk om een juiste reset circuit om de pincode van de Picssoftware. Dit is zeer belangrijk, dus het ICSP programma de microcontroller herstellen kunt, voorafgaand aan het doen zijn programmering.

Zie de belangrijkste figuur in deze sectie. Het toont de Picssoftware pin verbonden met Vss via een pullup weerstand en een diode. De pullup is nodig, omdat voor ICSP om te werken u echt de Picssoftware die is geconfigureerd als een resetpin, eerder dan een invoer pin (meer hierover later moet). De diode wordt voorkomen dat de Vpp-spanning van de ICSP programmeur die kan rond 13V beschadigen van de rest van het circuit.
De afbeelding toont ook de aansluitingen voor Vdd en AVdd met elkaar verbonden zijn wat betreft de GND/AVss.

Verwijzen naar de Eagle schematische bestanden voor volledige schema (of in de volgende sectie), maar let op de kleine 'X' vormige symbolen in het hoofdbeeld. Dit zijn de SMD pads, er zijn geen connectors in dit apparaat dus SMD pads worden gebruikt om te solderen stroomaansluitingen en de ICSP verbinding. De ICSP pinnen zijn gerangschikt op het bord op een locatie vlakbij. Korte lengtes van draad sluit aan op een 10pin IDC header (vrij standaard voor ICSP programmeurs). De sub-foto toont deze regeling.

Ze worden ook gebruikt om te solderen in de horloge-kristal. In de 16F88 zijn de PGD en PGC pinnen ook de T1OSO en T1OSI pinnen die worden gebruikt voor een externe kristal verbinden met de PIC T1-oscillator te maken van een real timerklok. Gelukkig kunt u ook gebruiken dit tijdens het programmeren via ICSP alsook... als je voorzichtig bent.
Als de oscillator gaat wanneer de programmeur ICSP probeert te gebruiken van de pinnen, gaat de programmeur ICSP ondervindt. U moet een vertraging toevoegen aan het begin van uw programma. Het codefragment hieronder toont dit in actie. Opmerking dat ik ben ook het uitschakelen van de externe oscillator zo spoedig mogelijk na het opstarten gewoon voor goede maatregel:
void main()
{
unsigned char i;
niet-ondertekende korte nDelay;
T1CON = 0; uitschakelen van timer1 zodra we opnieuw instellen
osccon = 0x76; voor interne 8MHz klok instellen
terwijl ((osccon & 0x04) == 0); en wacht tot de klok te regelen en klaar

Setup randapparatuur
Porta = 0;
portb = 0;
cmcon = 0x07; uitschakelen van de uitgang van comperator, doen nu om trisa correct
trisa = 0xff; Helemaal klaar om in te voeren bij het opstarten
trisb = 0xff; alle pinnen in portb ingesteld op de ingang
Ansel = 0x00; geen analoge in deze cct... belangrijke stap vaak vergeten, ik deed!

delay_s(2); programmeur tijd om dingen te doen te geven... ZEER BELANGRIJK

Tot slot in het hoofdbeeld nota het symbool SMJ100 die wordt overbrugd in het bovenste linker bovenhoek genaamd SJ100. Dit moest worden gebruikt in een noodsituatie, indien ik geprogrammeerd per ongeluk in een configuratie die de Picssoftware pin uitgeschakeld en kon niet stoppen met de vulling van de pinnen ICSP PGD/PGC horloge-oscillator. Dit is een ander handly Eaglecad bibliotheek deel, een eenvoudige link met SMD. Door het overbruggen van het op mijn bord is een eenvoudig plek om te unbridge indien nodig. Dit zou in de bovenstaande situatie noodzakelijk. Normaal sluit u alleen de Picssoftware pin (de chip te resetten), de GND pin (voor verwijzing) en de pinnen van de PGD/PGC te gebruiken ICSP. In de praktijk de programmeur herstelt de chip, magische besturingsseinen verzenden met de processor via PGD/PGC en ertoe brengen om te worden ontvankelijk voor sommige gegevens van het nieuwe Lovin '.
Echter als de processor is bezig om andere dingen te doen en niet gaat om te reageren op een reset, moet u yank zijn macht spoor om haar aandacht te krijgen. In dit geval moet de Vdd pin van de ICSP programmeur worden aangesloten op het circuit. Ik zou snijden van de brug, sluit een draad aan op de Vdd SMD pad (de kleine 'X' symbool in de buurt) en de processor nieuwe instructies geven. Uiteindelijk toen ik het downloadde dodgy code, ik enkel aangedreven van het gemeenschappelijk douanetarief van de programmeur zonder gebruik te maken van dit systeem. Als u had een meer complexe of macht hongerige circuit u één of andere manier loskoppelen de processor van het circuit macht spoor en die aansluiten op de Vdd pin op uw programmeur.

Dus in samenvatting te doen succesvol ICSP onthouden:
-opstelling van een juiste reset circuit met bescherming diode en pullup weerstand
-AVdd/AVss verbinden met de macht rails, als u ze niet gebruikt (en de chip ze, alleen voor 20pin 16F88... niet voor andere versies heeft).
-in uw lay-out, zetten de ICSP verbindingen ergens zinvol en makkelijk te krijgen op.
-hebben een manier van het isoleren van de processorkracht van de macht van het gemeenschappelijk douanetarief en het aansluiten van ICSP Vdd voor noodgevallen
-vermijden van noodsituaties door ervoor te zorgen dat de pinnen van de PGD/PGC zo spoedig mogelijk na een reset klaar voor gebruik zijn.

Gerelateerde Artikelen

Maak je eigen pols horloge band

Maak je eigen pols horloge band

breken uw pols horloge band zuigt. Laten we dat probleem en maken het werk voor u.Stap 1: Stap 1: materialen Alles wat je nodig hebt is uw horloge gezicht en een stuk dun materiaal. Ditmaal gebruikte ik een stuk van schroot floral gedrukte materiaal
6 pols horloge overleving hacks

6 pols horloge overleving hacks

Niemand geeft om in te verdwalen, maar wanneer het gebeurt dat u wilt maken het meest van wat heb je aan de hand... of op je pols.Hoewel het bescheiden polshorloge iets dat velen van ons zou kunnen nemen is voor verleend, wist u dat er een paar trucj
LED patroon van opschoof LinkitONE

LED patroon van opschoof LinkitONE

Dit project gaat over het creëren van eenvoudige patronen van LEDs. Wij zullen met 5 LED's en het maken van een eenvoudige patronen, brandt, de 2e dan andere.Stap 1: Benodigde materialen We gebruiken 5 LEDs, 1 Breadboard en een LinkitONEStap 2: LEDs
LinkitONE LED-patroon generatie

LinkitONE LED-patroon generatie

Hallo vrienden ik hoop dat jullie allemaal zijn geïnteresseerd in het maken van de elektronische projecten. U werkt met eenvoudige, elementaire elektronische gadgets. Maar heb je ooit gehoord over "LinkitONE". Ken jij dat hoe vooruitgang is en h
Binaire pols-Band Watch

Binaire pols-Band Watch

Ik denk dat zijn vaak cool om te pronken met een retro Gadgets. Ik was van plan om een pols horloge met LCD-display, maar toen ik ben van gedachten veranderd en dit binaire horloge op het bord van een prototype gemaakt. Zelfs ik heb een micro-control
Jack: De alleen Arcade die op je pols past

Jack: De alleen Arcade die op je pols past

Welkom op mijn eerste Instructable. Het lange, langdradig, en bevat onderdelen die niet zelfs noodzakelijk, maar als u ongeveer $100.00 en 3 uren van uw tijd opofferen kunt, dan kunnen we een draagbare, verveling moord, weer gadget te vertellen. Als
LED Rave zonne-Shopping Cart driewieler

LED Rave zonne-Shopping Cart driewieler

In dit instructable we gonna nemen een kunststof winkelwagentje, vul de mand controleerbaar LEDs op aangepaste afgedrukt PCB's, PIC18F4550 microcontrollers te weergeven van tekst en geluid responsieve patronen op de LEDs, lassen van betere wielen en
3 x 3 LED kubus programmering tips (Arduino gebaseerd)

3 x 3 LED kubus programmering tips (Arduino gebaseerd)

hoe maak je dat kubus doen wat je wilt het!Mij volger naar de instructable hier en een 3 x 3 LED kubus geleid door een Arduino gebouwd. Ik was erg blij! Maar het kan alleen een routine. Opnieuw en opnieuw en opnieuw en opnieuw en opnieuw... Dus heb i
Magnetische fiets pols spiegel

Magnetische fiets pols spiegel

soms rijd ik in een echt stedelijke omgeving en ik wil zien wat er achter me maar ik niet draag een helm (ik weet) dus ik kan niet rijpaard een spiegel er, en ik die goofy kijkende lenzenvloeistof gemonteerd spiegels haat, en ik degene gemonteerd op
Armband horloge

Armband horloge

Dit instructable helpt u maken mooie en aantrekkelijke sieraden ketting voor uw horloge tegen lage kosten.Stap 1: Items nodigGrote witte kralenKleine gouden gekleurde kralenGouden gecoate draadGouden pols horloge vergrendelenHorloge wijzerplaatStap 2
4 x 4 x 4 LED kubus upgrade met Shift registreert (74hc595)

4 x 4 x 4 LED kubus upgrade met Shift registreert (74hc595)

dit project begon met een zak van LED's die ik had verwijderd uit zaklampen, converteren naar UV zaklampen. Ik wist dat ik zou vinden iets leuk om te gebruiken met, maar het was maanden voordat ik wat bedacht te doen met hen. Toen ik zag een LED kubu
Intel Edison en adresseerbare LEDs

Intel Edison en adresseerbare LEDs

Een van de eerste dingen die ik wil proberen als ik een nieuw bestuur voor ontwikkeling is om LEDs mee bezig! Ik begin met enkele eenzame LEDs en snel de voortgang naar programmeerbare LED strips en matrices.De Edison is een leuke boord vanwege zijn
WS2812 LEDs met chipKIT Max32

WS2812 LEDs met chipKIT Max32

U zult een voeding, een soort manier om een signaal (meestal een microcontroller) en methode voor het verbinden van de LED op uw systeem met alle LEDs... Toegegeven, dat soort uitleg is alles vrij vaag (zoals een beschrijving), dus in plaats daarvan
LED vakantie Tie

LED vakantie Tie

een LED vakantie binden voor de die speciale mens in uw leven deze kerst.  Het is gemakkelijk om het maken van leuke lichte patronen gemaakt Aniomagic van Sparkle Board, zelfs als u geen enige voorkennis van circuits of programmering.  Dit is een gro