Programmera mikrokontroller Propeller (3 / 7 steg)

Steg 3: Spin grunderna



"Tänk om BASIC och PASCAL hooked på bar tid och 9 månader senare dök ett nytt språk ut - Jo det är SPIN för dig." - Ben Heck

Spin är den vanligaste högnivåspråk för stöttan förmodligen eftersom det är (1) lätt, och (2) det är en spin tolk på stöttan. Det finns andra språk där ute, men jag tänkte att jag skulle tala om Spin eftersom det är den jag känner bäst.

FÖRSTA PROGRAMMET

Redo för din första program? Här är det:

Ta programmet ovan, sätta den i verktyget Propeller och slå F10. Det kommer snabbt kompilera och ladda in i propellern. Koden kommer att blinka en lysdiod ansluten till P0 varje annan sekund (1/2 Hertz) för evigt. Låt oss bryta ner varje rad att förstå vad den gör;

PUB huvudsakliga

Spin är organiserad i block;

PUB och PRI

Dessa 2 kvarter håller själva koden. Om du är bekant med php eller BASIC eller C, fungerar dessa mycket som funktioner. De har namn (namnet på detta block är "viktigaste"), och du kan skicka dem värden (function(passedval)).

De återstående block är inte nödvändiga för ett giltigt program;

CON

CON rymmer programmet konstanter. Om det finns en konstant som du använder i hela programmet, CON blocket kan du ändra det en gång och det kommer att återspeglas varje gång du använder den. Här är ett exempel på blinky ljus program använder ett CON block;

VAR
Blocket VAR rymmer programmet variabler. I programmet blinkande lampor, jag har inte använt några systemvariabler, men här är en version av blinkande lampor med hjälp av variabler

Det finns 2 fler block, DAT och OBJ, men vi hoppar över dem för nu - OBJ är användbart när någon annans kod, och DAT är ett annat ställe att hålla variabler, det är också där du sätter assemblerkod (om du vill använda det).

Anyway - tillbaka till vårt ursprungliga program. Nästa rad är:

Dira [0]: = 1

Varje stift på propellern kan anges till en ingång och en utgång. När stöttan stöveln upp, som varje stift som indata, så vi måste du ange P0 till en utgång.

Om du vill ange P0 som en utgång, ska vi ändra värdet av dira [0] till 1. Den: = är en tilldelning operatör i spinn. Kan du gissa hur du vill ange P10 till en utgång? Dira [10]: = 1. Du kan också ändra ett antal stift med ett enda kommando. Om du vill ändra P0, P1, P2 och P3, bara använda dira [0..3]: = 1.


Upprepa

repeat berättar propellern att köra ett block av kod flera gånger. Du kan ange ett återkommande tillstånd (upprepa jag från 1 till 100) eller bara upprepa för alltid genom att inte ange något annat. Detta upprepar block kommer att upprepa för evigt.

Koden upprepas avgränsas med tabbar. Notera de mjuka grå linjerna som upprepa blocket? Verktyget Propeller lagt de grå linjerna där för att visa dig vad koden är i upprepa slingan.

Outa [0]: = 1

Outa berättar propellern att ansluta pinnen till marken eller till V +. Outa fungerar precis som dira, du kan ställa in produktionen av en enda stift (outa [10]: = 1) eller en grupp av stift (outa [0..3]: = 1). Observera att outa endast är meningsfull om den PIN-kod slagits till en utgång med dira.

Dessutom använder propellern Tri-state logic. Varje stift kan vara ansluta marken, V +, eller ställa i en hög impedans.

En hög impedans kan pin känslan om det är ansluta till marken eller V + utan att ändra signalen. Det låter flera stift delar samma datakanal och göra saker som charlieplexing.

Anslut stiftet mot jord med:
Dira [pin]: = 1
Outa [pin]: = 0

Anslut den PIN-kod till V + med:
Dira [pin]: = 1
Outa [pin]: = 1

mening om PIN-koden är ansluten till en låg eller hög signal (hög impedans tillstånd):
Dira [pin]: = 0 (standard på stöveln)
pinstatus: = ina [pin]

Ina fungerar precis som outa och dira, förutom det är skrivskyddad. Om PIN-koden anges som indata, att ina hålla nuvarande indatavärdet.

Se Steg
Relaterade Ämnen

Bygga och kod en MONSTER musikaliska teslaspole med en mikrokontroller

besök min youtube sida för fler projekt: http://www.youtube.com/channel/UCksEFn8xaLP0z4rsiHa9zcA?feature=mheeNär vintern kommit, att många tvingas stanna inomhus... För många är innebär detta spelar Alfapet med mormor, titta på TV, gör pussel och sit...

PIC mikrokontroller volym Adjuster Program(Proteus 8 Stimulation)

Hej alla,Den viktiga aspekten av varje lärande är att framkalla nyfikenhet och göra något meningsfullt för att övertyga om att. Med hjälp av denna nyfikenhet, jag gör här en volym adjuster program som liknar samma i de flesta enheter men inte så myck...

Propeller plattform batteripack

visst, din elektronik projekt är awesome, men vore det inte svalare mer än 10 fot från ett eluttag?Jag designade detta tillägg batteripaketet eftersom jag programmera min Propeller plattform runt huset, och jag hatar att behöva dra en nätadapter över...

LED LYT Meter: LED, PIC mikrokontroller och flytta genomsnittliga kod

Hej alla, tack för att kolla min första Instructable. Jag har njutit av att se dina skapelser under åren och älskar vad ni alla bidrar. Detta projekt är en spin off av en som jag nyligen såg här och jag måste ge en ropa ut till Bot1398 eftersom han v...

Multifunktions LED spelet med en ATmega32 mikrokontroller

Först är mina svar på tävlingen gör att lära:Vad gjorde du?Jag gjorde en multifunktionell LED Array Program, liksom min föregående med Arduino UNO, men denna gång gjorde jag det med en ATmega32 mikrokontroller. Jag använde vanlig C kod programmera de...

Hacka din Hasbro R2D2 med en IOIO mikrokontroller!

Min fru köpte mig en Hasbro interaktiva R2D2 astromechdroid på min födelsedag för några år sedan efter att jag sagt hur roligt det skulle vara att hacka den och jag har äntligen lyckats komma in och börja spela!Även de inbyggda röst kontrollfunktione...

Groovin' Grover: En mikrokontroller-baserade marionett

Groovin' Grover är en marionett som manipuleras av fyra hobby servon och en Pololu Maestro mikrokontroller-baserade servo controller. Du kan styra var och en av GroVers lemmar självständigt och göra honom promenad, våg och mest underhållande - göra h...

Förstå ICSP för PIC mikrokontroller

programmera mikrokontroller är inte svårt. Bygga en programmerare gör en bra första elektronik projekt. Målet med detta instructable är att förklara enkla 'i krets Seriell programmering' metod används med mikrochip bilder.Steg 1: Varför ICSP? Program...

Bygga din egen Micromite följeslagare minidator

Den Micromite följeslagare minidatorn är nästa generation i fickdator Mini-serien.Det är kombinationen av två Open Source system, Micromite programvara, en PIC32 skapelse av Geoff Graham och Parallax propellern, en nyligen "öppen källkod" chip a...

Persistens av vision

den ursprungliga idén till projektet kom från David Bjanes som har många projekt i hans Projektkön lysande sinne. Inspirationen kom när David såg en video av en liknande POV display på Youtube.com. Vi kontaktade Bruce Land, vår professor, för att dis...

PC Motion Gamepad

spela din favorit PC, Mac eller Linux spel bara genom att luta! Motion Gamepad översätter dina rörelser in i spelet åtgärder, som att vrida en ratt eller kasta en boll. Ett avancerat gränssnitt gör det enkelt att anpassa, och en 3-axlig, 2kHz acceler...

DIY Altoid DTMF Encoder/Generator!

Vi tar för givet i modern tid, men bara ett par decennier sedan (!), jag minns fortfarande livligt med min rotary telefon för att ringa ut. Någon gång i mellanstadiet, med tillkomsten av tre-vägs ringer, vår familj gått över till en tonvalstelefon te...

FLEXIBLA XBEE kontrollerade flygplan

Detta är en fjärrstyrda flygplan projekt bygger på Arduino och XBee moduler. Flygplanets rörelse styrs genom en borstlös likströmsmotor och tre servomotorer. Den har en XBee-baserade fjärrkontrollen i slutet sändare och luftfartyget Arduino-baserad m...

A Word Clock

**************************************************************************Stora uppdateringar - A mycket bättre kapsling för denna klocka har utformats, och en bättre kontroller använder en AtMega styrenhet nu finns. Kontrollera**********************...

Fyra bokstäver Word klocka med Akafugu ordet Generator och inspirerande fraser

Detta är min version av fyra brev ord klockan, en idé som har sitt ursprung tillbaka i 1970. Klockan visar en serie av fyra - brev ord som genereras från antingen en random ord generator algoritm eller från en databas med tillhörande fyra - brev ord....

200kW AC Motor Controller för elektriska bil

Elbilar är framtiden, och börjar ta fart idag. Men är de fortfarande ganska dyrt. En 3 fas AC-motor är absolut standard för företag när de gör en elbil. Tesla Roadster, Nissan Leaf, etc... Alla de stora pojkarna använder AC. Den har ett antal fördela...

En sjungande Tesla Coil - del 1/3 - spolen sig

I denna tutorial vill jag skriva ner och dela ett fantastiskt projekt vi gjort i vår skola, en tesla spole, som kan göra musik. Jag kommer att förklara varje steg i detalj, så folk som inte är erfarna med tesla spolar eller programmering. Jag delar d...

24 x 10 ledde matrisen (Arduino baserat)

Jag har sett en hel del instructables som visar hur man bygger ledde matriser, men jag skulle vilja belysa två av dem, eftersom detta bygga bygger på att två bygger.Göra en 24 X 6 ledde matrisen av Syst3mXochGör en giant LED-tecken! (24 x 8 matris) a...

Elektroniska LEGO DL-44 Blaster (ljus & ljud)

Uppdatering: detta projekt är nu tillgänglig på LEGO idéer --så säker att stödja det om du skulle vilja se det säljas i butiker en dag!Byggdes ursprungligen för Star Wars dag 2014, presentera jag ett projekt att jag har varit ständigt revidera och gö...