Lär dig mer om mikrokontroller (15 / 18 steg)
Steg 15: Om du vill se ljuset, tryck på 1.
Nu när vi har ett sätt för Tiny2313 att upptäcka en knapp trycks, hur får vi programmet att svara?
Ta LED blinkande programmet från det sista steget och lägga i dessa två rader i konfigurationsavsnittet strax efter config port b utgång, linje:
Config PortD = ingång
Ställa PinD.5 "Aktivera Pull-up Resistor
Dessa rader kommer att ha Tiny2313 ställa in port D till en ingång, så att den kan känna av om det finns en hög (+ 5V), eller en låg (0V) på det klämmer fast. Den andra raden för att aktivera den inre pull-up resistor som vi diskuterade i föregående steg.
Nu när controller chip ställs upp på läsa indata är vi programmet reagerar på dessa indata. Lägg till en enda slinga strax efter början av huvudprogrammet, såhär:
Göra
Om Pind.5 = 0 då gå till Start
Loop
Och lägga en enda rad efter den nya slingan. Huvuddelen av ditt nya program bör se ut så här:
"Huvudprogrammet
Göra
Om Pind.5 = 0 då gå till Start
Loop
: Start
Göra
ställa in PortB.0
waitms 500
återställa PortB.0
waitms 500
Loop
Den: startlinjen börjar med ett kolon (:), detta säger BASCOM att raden är en etikett. BASCOM kommer att markera platsen för denna linje i den Tiny2313 minne, så att andra program uttalanden kan syfta på den linjen. Denna funktion används i en ny slinga. Den om uttalande i första slingan ovan kommer att göra den "2313 undersöka spänningsnivån på stift D.5. Om spänningen är hög (+ 5V) då om delen av meddelandet läses som falsk (med andra ord, den höga spänningen på pin D.5 är inte lika med 0.) I så fall den om uttalande kommer att ignorera de sedan del av uttrycket och går vidare till nästa uttalande. Endast när den om del av uttrycket är sant, med andra ord tryckknappen har tryckt, så att strömmen till flöde och ingångsstiftet att se en 0V (eller låg) kommer om... då uttalande köra den sedan delen av meddelandet, således kommer att skivbolaget Start.
Här alla låter komplicerat lite, men det är verkligen enkelt. Som vi diskuterade i det sista steget, när du har tryckknappen un-pressad, det finns ingen ström som passerar, och inmatningsraden "ser" en hög (+ 5V) genom pull-up resistor. Men när du trycker på knappen, nuvarande flöden genom växeln och sedan genom den inre pull-up resistorn och input "ser" en låg (0V.) Så den första öglan bara väntar, ständigt kontrollera inmatningsraden, tills tryckknappen trycks. När ingångsstiftet visar en 0, då om uttrycket är sant, och programmet hoppar ner till den: startlinjen, och fortsätter med den andra slingan.
Således väntar 2313 försöksledaren systemet tills du trycker på knappen och sedan går vidare till flash LED tills du aktivera systemet av eller Återställ ' 2313. Om du bara återställa systemet, kommer att programmet börja igen, vänta tills du trycker på knappen.
Nu, hur skulle du ändra detta att använda Stan1ey's ' kompatibel (från det sista steget)? Eftersom hans knapp är en normalt sluten switch, vilket innebär att kontakterna är stängda tills du trycker "handtaget" på kläder-stift, du kan bara ändra numret som den om uttalande är ute. Prova att ändra det i om uttalande och krok upp en av Stan1ey's växlar. Nu, ta en bit papper och placera den mellan stiften. som den andra bilden i Stan1ey's steg 7. När resa tråd drar papperet ur växeln kläder-pin, blinkar 2313 försöksledaren systemet lysdioden, varnar för inbrott.
Titta igenom andra Instructables att försöka hitta andra projekt som du kan ansluta till datorn 2313 försöksledaren. Kom ihåg att denna rätt nu, du kan bara använda en projektet linje att göra en enkel switch. Ta en titt på Mightymouses morsekod keyer ( Gemet, skruvar, brickor och muttrar och slingan kontakter utgör en annan normalt öppnas switch, som som på din 2313 försöksledaren System - hur skulle du ändra programmet så att du kunde använda keyer för morsekod? (Tips, har ditt program använder en enda slinga och har den program kontrollen om nr växeln är stängd, och om så, då ljus LED, annars, inaktivera LED.) Du kan också vara intresserad av Liams ' kompatibel ( och koppla in som till din 2313 försöksledaren System.
Detta är en annan vacker aspekt av utvecklingssystem. Det är enkelt att lägga till kretsar och enheter från andra projekt.