Hur man ska tolka riktningen av rotation från en digital rotary switch med en PIC (4 / 5 steg)

Steg 4: Programvara teori om Operation



Den rutin som sluta sig till rotationsriktningen är avbrott driven. Mikrokontroller som du väljer måste vara kan avbryta när det sker en förändring på något av (åtminstone) två stift när avbrottet är aktiverat. Detta kallas PORTB förändring avbrott på PIC16F877A. När växeln vrids, mikrokontroller avbryts och programkörningen kommer att skickas till avbryta tjänsten rutin (ISR). ISR kommer snabbt räkna ut vilken väg växeln var roterat, ange en flagga på lämpligt sätt och snabbt gå tillbaka till huvudprogrammet. Vi behöver detta ske snabbt ifall användaren roterar växeln mycket snabbt.

Vi vet grå kodade AB mönstret upprepas varje fyra positioner så om vi gör rutinarbete för övergångar mellan dessa fyra positioner det kommer fungera för alla andra. Observera att fyra placera i en cykel, det finns fyra kanter. En stigande kant och en fallande kant för A in samt B ingång. Mikroprocessorn avbryts varje gång det finns en kant vilket innebär att mikrokontroller avbryts när ratten vrids. Som ett resultat, måste ISR att räkna ut vilken väg vredet vändes. Att hjälpa oss att lista ut hur man gör detta, vänder vi oss till vågformen för medurs rotation.

Märke att någon tid A har en kant, dess nya värdet är alltid för B. När vredet går från position 1 till 2 och en övergångar från logik-0 till logik-1. B är fortfarande 0 för denna övergång och matchar inte det nya värdet av A. När vredet går från position 3 till 4, har A en fallande kant medan B förblir logik-1. Märka igen, att B och det nya värdet av A är olika. Rätt nu, vi kan se att helst A orsakar avbrottet under Medsols rotation, dess nya värde för B. Låt oss kolla B för att se vad som händer. B har en stigande kanten när växeln övergångar från position 2 till 3. Här, det nya värdet av B är samma som A. söker på det sista återstående kanten för Medsols rotation, B har en fallande kant flytta från position 4 till 5. (Position 5 är samma som position 1.) Det nya värdet av B är samma som en här! Nu kan vi göra några avdrag! Om A orsakar mellanjobbet och det nya värdet av A är olika än B, var rotation medurs. Dessutom, om B orsakar mellanjobbet och det nya värdet av B är samma som A, var sedan rotationen medurs.

Låt oss snabbt undersöka fallet av moturs rotation. Precis som Medsols rotation moturs rotation kommer att orsaka fyra avbrott i en cykel: två för input A och två för ingång B. ingång A har en stigande kanten när vredet flyttas från 4 till 3 plats och en fallande kant flytta från position 2 till 1. När vredet flyttar från position 4 till 3, är det nya värdet av A samma som värdet av B. Observera att när ett drag från position 2 till 1 dess nytt värde är samma som för B också. Nu kan vi se att när A orsakar mellanjobbet och dess nya värdet matchar B rotation var motsols. Snabbt, ska vi titta på input B att kontrollera allt. B kommer att orsaka ett avbrott när vredet flyttar från position 5 (som är samma som 1) 4 och när ratten rör sig från position 3 till 2. I båda fallen, det nya värdet av B matchar inte det befintliga värdet för en som är den motsatsen för fall när B orsakar avbrottet för Medsols rotation. Detta är goda nyheter. Allt checkar ut som det ska.

För att sammanfatta, om en orsaker mellanjobbet och dess nya värde matchar inte värdet av B eller om B orsakar mellanjobbet och det nya värdet av B matchar värdet av A vet vi var det medsols rotation. Vi kan kontrollera de andra fallen för moturs rotation i programvara eller kan vi anta att eftersom det inte var Medsols rotation det var moturs. Min rutin helt enkelt gjort antagandet.

Se Steg
Relaterade Ämnen

Hur man ska tolka diabetiker lab resultat (diabetes gjorde enkla)

detta är inte din typisk instructable som det inte visa dig hur man gör något eller fixa något. I stället är detta instructable utformad för att informera människor som inte kanske har en fast förståelse på följande material. Typ två Diabetes (vuxen...

Hur man ska uppnå det "Matt Look" i Photoshop CS3 upp till Photoshop CC.

Hur man ska uppnå det "Matt Look" i Photoshop CS3 upp till Photoshop CC.Steg 1:1. börja med bilden öppnas i Photoshop.2. Välj elliptisk markeringsram och dra en cirkel runt motivet.3. Högerklicka inuti markeringen (marscherande myror) och välj F...

Hur man ska packa 5 Singer symaskiner

hantverk-mas har kommit tidigt i år tack vare våra underbara vänner på sångaren! Jag visade upp i morse för att upptäcka 5 lådor fulla av symaskiner bara sitter där, väntar på att packas upp. Jag visste inte vad jag ska göra! Jag har aldrig packat up...

Hur man ska polera marmorgolv

Marmor golv, monument, eldstäder, bänkskivor är en stil uttalande för rika arkitektur. Marmor fade dess lyster över tiden och behöver korrekt underhåll vare sig för golv eller bänkskivor.Följande steg visar hur man ska polera marmorgolv:Steg 1: Marmo...

Hur man ska socialisera din sällskapsdjur

Monique från noseprints.net diskuterar hur man ska socialisera din sällskapsdjur och varför det är så viktigt....

Hur man bygger en 8 x 8 x 8 LED cube och styra med en Arduino

det finns en hel del LED kuber på Instructables, så varför göra en annan? De flesta är för små kuber som består av 27 eller 64 lysdioder, sällan större eftersom de är begränsade till antalet utgångar på mikrokontroller. Denna kub blir 512 lysdioder,...

Hur man ska svinga en golfklubba

The Golf Swing kan vara en komplicerad sak. Så är här enkla steg om hur man kan svinga en golfklubba.Steg 1: grepp Hitta ett bekvämt grepp klubben, allmänt du interlock pekfingret i en hand och pinky finger i andra handen, men det är viktigare att du...

Hur man ska polera en Lexan vindruta för under $4

Hej,Jag rider en stor cruiser motorcykel, och den har en Lexan varumärke vindrutan på den. Jag har undersökt online, och det visar sig kan jag bara hitta människor som kommer att polska och reparera akryl vindskydd. De säger Lexan vindrutan måste byt...

Hur man ska bekämpa trångsynthet i ditt närområde

för en vecka sedan ett team av hatar mongers gick igenom nieghborhood passerar ut yard skyltar för proposition 8. Detta är en taktik för att dela vår gemenskap kring frågor om varandra. De bryr sig inte eftersom de inte bor här.Proposition 8 syftar t...

Hur man ska gå på bio

en steg för steg handledning om deltar filmiska nöjen utan att orsaka människor nära dig att vilja slå du bakhuvudet.Steg 1: Köpa några biljetter För att lagligt komma in till en biograf eller cineplex, måste du köpa en biljett. Biljetter kan köpas i...

Hur man ska avsluta sömmar vackert utan en Serger!

Om du vill lära dig att avsluta ditt plagg vackert, rayon söm bindande är ett fantastiskt sätt att gå! För enbart pennies en gård, kan du innesluta dina råa kanter med vackra färgade rayon. Detta är så mycket billigare och enklare än att köpa en serg...

Hur man ska gå från att vara ett genomsnitt till konkurrenskraftiga bordtennisspelare

det finns gott om tutorials om hur man spelar bordtennis som fokuserar på grundläggande play eller mycket avancerad spela, men det finns knappast någon som hjälper spelare gå från grundläggande nivå till att vara konkurrenskraftiga. De avsedda målgru...

Hur man ska spela Zombie Dice

Äta hjärna. Inte får shotgunned.Zombie Dice är ett spel som snabbt växer med popularitet. Det är snabbt, tar ca 10-15 minuter, lätt att lära sig, och kan spelas med 2 eller fler spelare nästan var som helst på grund av dess lätt-bogsera fördel. Zombi...

Hur man ska spela The Legend of Zelda: Ocarina of Time på datorn

Välkommen, jag är TheGameBoy, detta är min första tutorial så behaga bli slag :)Detta är hur man spelar TLOZ OOT på din PC, UC?Steg 1: Steg 1 Ok, detta är ganska enkel. Öppna upp din web Browser och gå till GoogleSteg 2: Steg 2Skriv "Doperoms" o...

Hur man ska gå till en Drive-In film i stil

Drive-in filmer är sällsynta i denna dag och ålder, men lyckligtvis finns det en i närheten. Teatern West vind Solano är ett bra ställe för en enhet i filmen. Vi såg Iron Man 1 & 2 det och såg Spider-man 3, Kung Fu Panda, hur man tränar din drake, Th...

Hur man ska anpassa gemensamma ortopedisk käpp för självförsvar stealthly

detta Instructable kommer att beskriva hur du ändrar en generisk ortopedisk käpp så det kan bli mycket effektivare som en personlig försvar enhet. För mig var detta gjorde en nödvändighet efter att jag hade hade höftoperation och behövs för att använ...

Hur man ska anpassa en NES klon controller till bluetooth

jag köpte en trådlös Bluetooth RS232 TTL Transceiver modul från DX (SKU: 80711) och undrar vad jag kan göra med den.Så, jag är verkligen nostalgisk och beslutade att bygga en NES klon crontoller till bluetooth-adapter, eftersom, av detta sätt jag kun...

Hur man ska bekämpa en enkel version

Hej im göra detta beror instructable 1. jag kan kämpa bra 2. i ville instructables står det hur man slåss jag tror inte att id vara en mycket bra fighter utan min kampsport! sjuk lära dig hur jag kämpa på min lektioner theres ett blått bälte cos im e...

Hur man ska spela och tjäna pengar i kungariket av avsky.

Detta instructable kommer att visa människor hur man skapar en karaktär och hur man gör kött (spelets valuta)__________________________________________________________________________Tre skäl varför detta spel är bra:-A DnD (dungeons n' drakar) parod...