Mikro - wrist watch LED mönster TIDMÄTARE (2 / 7 steg)

Steg 2: Programmering och Micro urval



jag är ganska bekant med programmering och PIC 16F88 och hade några liggande från andra projekt. Det verkade ett självklart val att spara lära sig en ny instruktionsuppsättning eller nya massa onchip kringutrustning. Enheten har två portar A, B ett utbud av saker som en följetong jag / f, A/D-omvandlare, en trevlig bekväma 8kb Flash-rom och massor av minne... hela 368 bytes ram. En sak som var också händig var att den hade för en ombord oscillator som kunde kopplas till en gemensam 32.768khz klockan kristall för tidtagning och låg effekt lägen. Tidtagning oscillatorn kan köra även när enheten var i lågenergiläge. Slutligen kunde det vakna när det upptäcktes en förändring på några av stiften (stift 4-7/portb har vakna på ändring av statligt kapacitet).

Eftersom detta var att vara så liten som möjligt använde jag en 20pin SOIP 16F88. Detta var en 300MIL bred version, mikrochip har en 150mil SSOIP (mager, small outline package), men med tanke på enheten var att vara hand prototyped, jag ville använda en större lättare att hantera chip.

Uppenbarligen en SOIP paketet brukar passa i en programmerare så jag hade gå använda ICSP... vilket resulterade i en hel del sorg! ICSP är ett sätt att programmera mikrokontroller, medan det är fortfarande i en krets. ICSP står för i Circuit Serial Programming och ofta används för att programmera "tomt" styrelser eller uppdatera programvara utan unsoldering/socketing mikrokontroller.

För det första har jag inte läst tillräckligt om ICSP att lägga i rätt kretsar för att hantera ICSP i min första prototyp. Sen läste jag inte mikrochip databladet när det gäller ett par extra stift på 20pin 16F88SOIP. Dessa stift är AVss och AVdd stiften. De ger normalt referens spänningar för A/D omvandlare.

Jag tog ett tag att lista ut att dessa stift måste anslutas (jag ansluten till GND/Vdd) för ICSP att arbeta.

Också är viktigt att ha en ordentlig reset krets för MCLR stift. Detta är mycket viktigt så ICSP programmet kan återställa mikrokontroller, innan du gör sin planering.

Se själva bilden i det här avsnittet. Det visar den MCLR pin ansluten till Vss via en pullup motstånd och en diod. Pullup är nödvändigt, eftersom ICSP till verk du verkligen har de MCLR som konfigurerats som en Återställ PIN-kod, snarare än en ingångsstift (mer om detta senare). Dioden förhindrar Vpp spänningen från ICSP programmeraren som kan vara runt 13V från att skada resten av kretsen.
Bilden visar anslutningarna för Vdd och AVdd sammankopplade som för GND/AVss.

Hänvisa till Eagle Schematisk filerna för full Schematisk (eller i nästa avsnitt) men notera lite "X" formade symbolerna i huvudbilden. Dessa är SMD kuddar, det finns inga kontakter i den här enheten så SMD kuddar används för att löda strömförsörjningar och ICSP anslutningen. ICSP stiften är ordnade i styrelsen i ett bekvämligheter läge. Korta längder av tråd att ansluta till ett 10pin IDC huvud (ganska standard för ICSP programmerare). Andrabildens visar detta arrangemang.

De används också att löda i titta på kristallen. I 16F88 är PGD och PGC stiften också T1OSO och T1OSI stiften som används för att ansluta en extern crystal till PIC T1 oscillatorn att göra en realtidsklocka. Lyckligtvis kan du också använda dessa vid programmering via ICSP också... om du är försiktig.
Om oscillator kommer när ICSP programmeraren försöker använda stiften, kommer ICSP programmerare att ha problem. Du måste lägga till en försening i början av ditt program. Kodfragmentet nedan visar det i handling. Observera jag också inaktivera den externa oscillatorn så snart som möjligt efter start bara för bra åtgärd:
void main)
{
unsigned char i.
osignerad korta nDelay;
t1con = 0; Inaktivera timer1 så snart vi återställa
osccon = 0x76; för interna 8MHz klocka
medan ((osccon & 0x04) == 0); och vänta på klockan för att bosätta sig och vara redo

setup kringutrustning
Porta = 0;
portb = 0;
cmcon = 0x07; avaktivera komparator utgång, gör nu för att ställa in en trisa
trisa = 0xff; Att sätta ingång vid start
trisb = 0xff; alla stift i portb inställd på ingång
Ansel = 0x00; ingen analog i denna cct... viktigt steg ofta glöms bort, jag gjorde!

delay_s(2); programmerare att hinna göra grejer... MYCKET VIKTIGT

Slutligen i huvudbilden not symbolen SMJ100 som är överbryggas i övre övre vänstra hörnet kallas SJ100. Detta skulle användas i en nödsituation om jag av misstag programmerade i en konfiguration som inaktiveras MCLR stiftet och kunde inte sluta titta på oscillatorn fyllning upp ICSP PGD/PGC stiften. Detta är en annan handly Eaglecad bibliotek del, en enkel SMD länk. Genom att överbrygga det på min bräda är det en bekvämligheter plats att unbridge om det behövs. Detta skulle vara nödvändigt i ovanstående situation. Normalt ansluter du bara MCLR PIN-koden (att återställa chip), GND pin (för referens) och PGD/PGC stift att använda ICSP. I praktiken programmeraren återställs chip, skicka magiska styrsignaler till processorn via PGD/PGC och få det att vara lyhörd för några nya data Lovin '.
Om processorn är upptagen med andra saker och kommer inte att svara på en återställning, du emellertid yank sin makt järnväg för att få sin uppmärksamhet. I detta fall måste den Vdd pin av ICSP programmeraren vara ansluten till kretsen. Jag skulle skära bron, Anslut en tråd till Vdd SMD pad (den lilla "X" symbolen i närheten) och ge processorn nya instruktioner. I slutet när jag hämtade skumma koden, drivs jag bara upp GTT från programmeraren utan att använda detta system. Om du hade en mer komplex eller makt hungriga krets du bör har några sätt att koppla processorn från kretsen driver järnväg och Anslut den till Vdd PIN-koden på din programmerare.

Så i Sammanfattning att göra framgångsrika ICSP minns:
-installera en ordentlig reset krets med skydd diod och pullup motstånd
-Anslut AVdd/AVss till power rälsen om du inte använder dem (och chip har dem, endast för 20pin 16F88... inte för andra versioner).
-i din layout, sätta ICSP anslutningarna någonstans förnuftiga och lätt att få på.
-har ett sätt att isolera processorkraft från cct makt och ansluta ICSP Vdd för nödsituationer
-undvika nödsituationer genom att säkerställa att PGD/PGC stiften är klar för användning så snart som möjligt efter en återställning.

Se Steg
Relaterade Ämnen

Pärlstav Wrist Watch Band

jag fick en bra idé att byta ut min gamla wrist watch läder band. Det är ett pärlstav wrist watch band med menyfliksområdet lås. Menyfliksområdet spännet gör att det ser så feminin. Håller ni med?Det finns 21 steg för att skapa detta pärlstav wrist w...

Skapa din egen wrist watch band

bryta din wrist watch band suger. Låt oss ta det problemet och få det att fungera för dig.Steg 1: Steg ett: material Allt du behöver är din klocka ansikte och en bit tunt material. Den här gången, använde jag en skrot bit blommig tryckt material från...

LED mönster med msp430 launchpad

detta är en enkel mikro-controller program där vi gör led's glöd i olika attraktiva mönster med msp430 launchpad. Jag upptäckte att det finns många instructables på arduino men mycket få finns befintliga för msp430, även om msp430 kan användas utan l...

DIY ClockBlock (en multipurpose uppladdningsbara TIDMÄTARE)

från ganska länge, jag alltid velat bygga en klocka för mig själv.Här i detta DIY presentera jag en multipurpose klocka som kan laddas igen.Klockan serverar de grundläggande funktionerna som datum, tid och alarm funktioner tillsammans med de grundläg...

FAUX LED FÖNSTER!

Min man och jag kommer snart avslutad vår källare. Det finns bara två små fönster där nere och det är mycket grottliknande. Jag har funderat på hur jag kunde lysa utrymmet och kom upp med idén om ett upplyst, faux fönster. Mitt första stopp var natur...

Christmas ändra färg LED fönster ljus

Jo det är den tiden på året igen och jag släpade ut dekorationer bara för att hitta en av mina fönster ljus var bruten. Efter att inte kunna hitta den exakta ersättare att matcha de som jag hade, anges I för att återuppbygga dem till något helt annat...

Avancerad LED mönster på LinkitONE

Detta projekt handlar om att skapa enkla mönster på lysdioder. Vi kommer att med hjälp av 5 lysdioder och att göra ett enkelt mönster, lyser upp, 2: a sedan en annan.Steg 1: Material som krävs för Vi använder 5 lysdioder, 1 bakbord och en LinkitONESt...

LED mönster Hat

detta är en (måttligt) enkla Arduino projekt som är en spektakulär uppvisning från lysdioder - som du kan bära på huvudet! Den använder också ett program som inte är intrikata alls, så du kan ändra den för olika mönster och cykler. Det är också en st...

6 wrist watch överlevnad hacks

Anger ingen för att gå vilse, men när det händer måste du göra det mesta av vad du har på hand... eller på din handled.Men ödmjuk armbandsur är något som många av oss kan ta för givet, visste du att det finns några trick upp ärmen med denna lilla klo...

LinkitONE LED mönster Generation

Hej vänner jag hoppas ni alla är intresserade av att göra elektroniska projekt. Du kan arbeta med enkla, grundläggande elektroniska prylar. Men har du någonsin hört talas om "LinkitONE". Vet du att hur förväg det är och hur bra det är att göra h...

Ful men funktionella Wrist Watch arrangör

jag fick detta skrivbord oranizer konstruerad för att ladda mobiltelefoner och iPods (hålen nära botten är för laddning sladdar) och jag slutade använda den för att lagra mina klockor. Problemet var att alla metall klockor klungade upp längst ner och...

OLIKA LED mönster av VINKA

Av Bernt, Saksham, Kevin och Divyansh -IEEE Student förgrena sig (Jaypee University Of Information och teknologi)...

Solur Watch: Den ursprungliga Smartwatch

Med alla dessa nymodig smartwatches kommer ut, kanske är det dags att komma tillbaka till grunderna. Solur klockan är den ursprungliga smartwatch, med plats specifika design som utnyttjar kraften i solen för att berätta tid. Inga batterier, inga apps...

En LED Tärning med en PIC 16F84 (eller 16F88)

Detta är ett nytt skriva ut ett projekt att jag gjort ett antal år sedan - jag trålning webben, och upptäckte att andra hade varit att göra det, så jag bestämde mig att sätta i detalj här på instructables.com - så att andra kan gynnas.Många Led tärni...

PICAXE - musik lyhörda, dimma producerar, LED Light Show och Audio förstärkare i ett

jagn detta instructable jag förklara och utföra processer som skärning och med olika utrustning, genom att imitera någon av processer i detta instructable du göra det på egen risk och följer du någon säkerhetsinformation för all utrustning som använd...

Designa en Multi nod LED PWM lampa

detta instructable visar hur jag designade en lysdiodlampa PWM controller. Flera lampor kan vara uppträdda tillsammans för att göra stora strängar av ljus.Alltid har varit att skapa några blinkande LED-lampor till jul på min önskelista. Förra julen j...

Super Quick & Easy LED Growlight

här är ett snabbt och enkelt sätt att ge din aquaponic, hydroponiska eller tidig start groddar lite extra fullt spektrum ljus kärlek!!!via den 5 till 10 minuters ställa in tid och total kostnad ca 7-10 dollar.Skott kommer att tacka dig!Steg 1: Prep m...

Kaleiduino: En batteridriven Arduino LED Kalejdoskop

Hej alla och Välkommen till min Instructable! Detta instructable kommer att visa dig hur jag gjorde först någonsin DIY Arduino kontrolleras "LED Kalejdoskop"!Vad är en LED Kalejdoskop? Ja, använde vår traditionella kaleidoscopes 3 speglar gick s...

LED Rave Solar Shopping Cart trehjuling

I detta instructable ska vi ta en plast kundvagn, fylla sin korg kontrollerbar lysdioder på anpassade tryckta PCB, Använd PIC18F4550 mikrokontroller för att visa text och ljud lyhörd mönster på lysdioderna, svetsa bättre hjul och en cykel på vagnen,...