Grundläggande analog och digitalteknik Studiehandledning



Relevanta dokument
D/A- och A/D-omvandlarmodul MOD687-31

Mät spänning med en multimeter

Laboration 2 Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska Högskola (BTH)

En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.

Op-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning.

6. Likströmskretsar. 6.1 Elektrisk ström, I

4:7 Dioden och likriktning.

TENTAMENSUPPGIFTER I ELEKTROTEKNIK

ELLÄRA. Denna power point är gjord för att du ska få en inblick i elektricitet. Vad är spänning, ström? Var kommer det ifrån? Varför lyser lampan?

Laborationer i miljöfysik. Solcellen

Systemkonstruktion SERIEKOMMUNIKATION

Utökning av mätområdet på ett mätinstrument med LED

Elektriska kretsar - Likström och trefas växelström

Häftiga hästskolampan Hanna

Mätningar på transistorkopplingar

F5 Introduktion till digitalteknik

Skräddarsydda hörapparater Insio binax Bruksanvisning. Life sounds brilliant.

Användarhandbok för trådlöst headset (HS-11W) Utgåva 1

EMK och inre resistans - tvåpolen

Kom igång med din SMART Board. Det praktiska

En handledning för studerande på Högskolan Kristianstad

Härliga hörselskydden Hilma

Trassliga trådspelet Troja

Registrera din produkt och få support på. SDV7220/12. Användarhandbok

William Sandqvist

Bruksanvisning: för Warmup tempo digital programmerbar termostat En del av Elementserien Inledning

Proloquo4Text Skriv. Tala. Kommunicera.

Elektriska kretsar - Likström och trefas växelström

Användarhandbok för trådlöst headset (HDW-3) Utgåva 1

RTD Calibrator. Instruktionsblad. Inledning

Tekniska fakta. Telia Andi PLUS, revisionsläge R2 Terminaladapter för ISDN. Bruksanvisning

Nucleus CP810 ljudprocessor och Nucleus CR110 Remote Assistant Handbok för felsökning

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Elektro och Informationsteknik LTH Laboration 4 Tidsplan, frekvensplan och impedanser

Nokia Bluetooth-headset BH-200 Användarhandbok

BRUKSANVISNING APPlicator

HP Photosmart 6220 Digital Camera Dock Användarhandbok

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

Trådlöst tangentbord Bruksanvisning CECH-ZKB1

Snabbguide AlphaSmart NEO2

KOMPONENTER. Klocka. Klockan. Öppning av armband. Kontakt för batteriladdning. ON/OFF Magnet. Elektronikenhet. Laddnings- indikator

TMT-918 Fjärrkontroll med timer. Säkerhet. Tekniska data

K 185P. Bruksanvisning

Pure binax. Bruksanvisning. Livet låter fantastiskt.

4:4 Mätinstrument. Inledning

MASSAGEAPPARAT FÖR ÅTERUPPLIVAD ÖGONKONTUR

POLAR CS CADENCE SENSOR W.I.N.D. Bruksanvisning

LBST-604. NEXA LBST-604 Skymningsrelä. Säkerhet. Tekniska data. Uppdaterad: 23 feb av 7

Monteringsanvisning och Garanti

Användarhandbok Trådlös laddningsplatta DT-903

EM2050 RotoBolt Elektroniskt Svängregellås. BRUKSANVISNING för ANVÄNDARE och MANAGER_EL1+9/S (EM2050) Att Öppna: Exempel: jjjjjj.

Portabelt Bluetooth Ljudsystem Med PLL FM Radio TRA-800BT. Svensk Instruktions Manual

Predator Digital 3D. Predator Digital 3D. Bruksanvisning. Version 1.0

LBST-609. NEXA LBST-609 Skymningsrelä. Säkerhet. Tekniska data

Bruksanvisning. Bestic software version Äthjälpmedel. Internet:

PEDAGOGISK PLANERING för ELEKTRICITET och MAGNETISM

PCI ETHERNET CARD 100 MB

Energihantering Användarhandbok

STRIX Användarhandbok

TRUST 120V WIRELESS DVD & VIDEO VIEWER

Instruktioner för dig som ska söka till Mattekollo 2016

ELEKTRICITET. Vad använder vi elektricitet till? Hur man använder elektricitet?

TORKEL 840 /860. g GE Energy Services Programma Products. Batteriurladdare TORKEL 840/860

Editering, Kompilering och Exekvering av Javaprogram

DATORTEKNIK. Tangentbord, knappsatser och deras avkodning

BRUKSANVISNING VE ISO

Digitala Projekt (EITF11)

Din manual SUUNTO MEMORY BELT

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

Laboration Kombinatoriska kretsar

Flaxande fjärilen Frida

Instruktionsmanual. Instruktionsmanual för FMH Inledning

LEGO MINDSTORMS Education EV3

Tack för att du köpt vår digitala MP3-spelare. Innan du använder spelaren, läs igenom den här användarhandboken så att du vet hur spelaren fungerar.

Referenshandbok Expansionsenhet för HP Notebook-dator

BRUKSANVISNING. TapeKing. Talande måttband med vinkelmätare och vattenpass

Ovanliga Tips till ett Smalare Liv av Seif Fendukly Alla rättigheter förbehålls.

Instruktioner för att använda MathackareN

HF0010. Introduktionskurs i datateknik 1,5 hp

CANDY4 HD II

Trådlös Rök Detektor SD14

För support videos, webinstruktioner och mer information besök oss på

Installationsinstruktioner

Bruksanvisning TP329

Bruksanvisning. Trådlöst kopplingsuttag FS20ST

ViTex snabbguide. 1. Inläsning till ViTex från scanner eller PDF Läs in text via scanner Läs in text från en JPEG-bild eller ett PDF-dokument

Installationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.

SOUNDSTICKS WIRELESS. Installationsguide

SafetyMOB. Installations och användarmanual för. trådlöst nödstopp - dödmansgrepp. SafePort Marine. Dokument: SM_UM_sv Version:

Datorsystem Laboration 2: Minnesmappade bussar

Installation av fjärrströmbrytare HE842, HE843 och HE862(2).

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?

SMARTBOX. Användarmanual

4 Laboration 4. Brus och termo-emk

Krypande kaninen Karin

Installations- och felsökningsguide för trygghetstelefoner i eget boende

ceti Bluetooth stereo headset Användarhandbok Owner s manual ILD International AB 2010 V1.0

FM/MW BORDSRADIO RETROSTIL I TRÄ HRA1500N SVENSK MANUAL

Transkript:

Grundläggande analog och digitalteknik Studiehandledning VERSION 1.3

GARANTI Parallax, Inc. garanterar sina produkter mot felaktigheter i material och tillverkning under en period av 90 dagar. Om du upptäcker en defekt så kommer Parallax, att efter eget gottfinnande, antingen reparera, ersätta eller återbetala varans inköpssumma. Kontakta Parallax för att få ett Return Merchandise Authorization (RMA)-nummer, anteckna RMA-nummret på lådans utsida och returnera varan till Parallax. Vänligen ange ditt namn, telefonnummer, hemadress och en beskrivning av varans defekt. Vi kommer att återsända din vara, eller dess ersättning, med samma transportmedel som du använder för att skicka tillbaka varan till Parallax. 14 DAGARS RETURGARANTI PENGARNA TILLBAKA Om du, inom 14 dagar, finner att varan inte motsvarar dina krav, så kan du skicka tillbaka varan och få pengarna tillbaka. Parallax, Inc. kommer att återbetala hela varans inköpskostnad, excl. frakt och hantering. Detta gäller inte om varan på något sätt är ändrad, påverkad eller skadad. UPPHOVSRÄTT OCH VARUMÄRKEN Denna bok är upphovsrättsskyddad enligt copyright 2004 av Parallax, Inc. Genom att ladda ner eller erhålla en skriftlig kopia av dokumentationen eller programvaran så godkänner du att den används enbart till produkter från Parallax. All annan användning är otillåten och kan komma att bryta mot Parallax upphovsrätt och därmed också leda till åtal enligt upphovsrättslagar. All kopiering av denna dokumentation för kommersiell användning är uttryckligen förbjuden. Kopiering i utbildningssyfte är dock tillåten, i enlighet med vad som sägs i avsnittet Kopieringsregler. BASIC Stamp, Stamps in Class, och Board of Education är alla Parallax, Inc, registrerade varumärken. Om du planerar att använda namnen BASIC Stamp, Stamps in Class, och/eller Board of Education på din webbsida eller i tryckt material, så måste du specificera att "BASIC Stamp is a registered trademark of Parallax, Inc.," " Stamps in Class is a registered trademark of Parallax, Inc.," och/eller "Board of Education is a registered trademark of Parallax, Inc.," respektive, vid första förekomsten av varumärket. Andra varumärken eller produktnamn är varumärken eller registrerade varumärken av respektive ägare. ISBN 1-928982-04-2 DISCLAIMER OF LIABILITY - ANSVARSBEGRÄNSNING Parallax, Inc. is not responsible for special, incidental, or consequential damages resulting from any breach of warranty, or under any legal theory, including lost profits, downtime, goodwill, damage to or replacement of equipment or property, and any costs or recovering, reprogramming, or reproducing any data stored in or used with Parallax products. Parallax is also not responsible for any personal damage, including that to life and health, resulting from use of any of our products. You take full responsibility for your BASIC Stamp application, no matter how lifethreatening it may be..

WEB SITE OCH DISKUSSIONSLISTOR Parallax web site (www.parallax.com) innehåller en mängd material för nedladdning, såsom färdiga applikationer, information om produkter och kundapplikationer förutom on-line beställning av komponenterna som används i denna bok. Vi underhåller också ett flertal e-mail diskussionslistor för folk som är intresserade av att använda produkterna från Parallax. Dessa diskussionslistor kan nås från www.parallax.com via menyn Support/Discussion Groups. Nedan följer en lista över de diskussionslistor som vi erbjuder: BASIC Stamps Med över 2,500 prenumeranter så används denna diskussionslista av ingenjörer, hobbyanvändare och skolelever som delar med sig av sina BASIC Stampprojekt och ställer och besvarar frågor. Stamps in Class Denna diskussionslista, skapad för utbildare och elever, har 500 prenumeranter som diskuterar användningen av Stamps in Class utbildningsmaterialet och dess användning inom skol- och kursverksamhet. Listan ger också elever möjlighet till att ställa frågor direkt till utbildare. Parallax Educators Denna grupp av ca. 100 medlemmar består uteslutande av utbildare och sådana som bidrar till utvecklingen av Stamps in Class kursmaterial. Parallax skapade denna grupp för att få feedback på utvecklingen av sitt kursmaterial och för att erbjuda ett forum för utbildare att skapa Teacher s Guides - Lärarhandledningar. Parallax Translators Denna diskussionslista består av mindre än 10 personer och är avsedd till att skapa en kanal mellan Parallax och de som översätter vår dokumentation till andra språk än engelska. Parallax erbjuder editerbara Word dokument till sina översättare och försöker synkronisera och koordinera översättningarna med sina egna publikationer. Toddler Robot En kund skapade denna diskussionslista för att diskutera applikationer och programmering av Parallax Toddler robot. SX Tech Diskussioner om programmering av SX mikrocontroller med Parallax assemblerspråksverktyg och kompilatorer (BASIC och C). Ungefär 600 medlemmar. ERRATA Fastän stor möda läggs ner på att försäkra oss om att våra publikationer skall vara så korrekta som möjligt, så kan det hända att fel ändå smyger sig in. Om du hittar något fel, vänligen underrätta oss då om detta genom att skicka ett mail till editor@parallax.com. Vi strävar hela tiden efter att förbättra vårt utbildningsmaterial, och reviderar dem ofta. Då och då, publicerar vi ett erratablad med en lista over kända fel och rättelser till dessa för en specifik publikation. Dessa anslås på vår web site, www.parallax.com. Var vänlig och kontrollera om det finns något erratablad för varje individuell produkt på dess nedladdningssida.

Innehållsförteckning Page i Innehållsförteckning Förord...iii Kapitel #1: Analog spänning och binära tillstånd...1 Kapitel #2: Introduktion till bitmanipulering...19 Kapitel #3: Grundläggande analog/digitalomvandling...41 Kapitel #4: Grundläggande digital/analogomvandling...67 Kapitel #5: Tidsvarierande signaler...89 Kapitel #6: Inspelning av frekvensdata...109 Kapitel #7: Digital till analog enkelt med PWM...125 Kapitel #8: Ljusmätare med R/C-tidskonstanter...143 Appendix A: Komponentlistor och källor...159 Appendix B: Färgkoder för motstånd...163 Index...166

Förord Page iii Förord I och med persondatorns intåg har elektroniken i vardagen blivit mycket mer sofistikerad. Med datorn har vi tillgång till en oerhörd beräkningskapacitet, direkt på vårt skrivbord. Datorer arbetar bra ihopkopplade med varandra, och digitala data kan med stor tillförlitlighet skickas från en maskin till en annan. När man däremot behöver ansluta en digital dator till enheter i vår fysiska omgivning, (som t.ex. en vindmätare eller bränslemätare) så behöver man konstruera en krets som tillåter anslutning av en analog enhet till den digitala datorn. I många fall innebär detta konvertering av analog spänning till en digital representation av denna spänning. Detta urval av Stamps in Class experiment kommer att utforska ett flertal grundprinciper för anslutning av analoga enheter till digitala mikrocontrollers. Många gånger innebär detta att man utnyttjar befintliga lättanvända kommandon inbyggda direkt i Basic Stamp, medan det vid andra tillfällen kräver att man använder en analog-tilldigitalomvandlare. Varför skall vi intressera oss för konvertering från analog till digitalt format? Många olika aspekter i vårt liv är beroende av denna konverteringsprocess. Somliga, som t.ex. CD spelaren, telefonsystemet och musiken är inte kritiska för vår överlevnad, medan andra däremot är det. Medicinsk utrustning och sensorer kräver ofta analog-till-digital och digital-till-analogomvandling Läroplanen i Basic Analog and Digital (Grundläggande analog och digitalteknik) kommer kontinuerligt att uppdateras på grundval av feedback från elever och lärare. Om ni skulle vara intresserade av att bidra till ytterligare material till denna läroplan, eller har idéer till förbättringar eller tillägg så sänd dem alltid till stampsinclass@parallax.com. Vi kommer göra vårt bästa för att försöka integrera era idéer och i möjligaste mån vara er behjälplig oavsett om det gäller teknik, försäljning eller på-platsen utbildning.

Sida iv Basic Analog and Digital LÄSEKRETS OCH LÄRARHANDLEDNING Tilltänkt läsekrets för denna bok är från ålder 17 år och uppåt. Användarhandledningen kan användas som ett komplett dokument för att introducera grundläggande analoga och digitala begrepp i klassrummet eller som referensinformation till detaljerade förklaringar om hårdvara och tekniker som används i andra Stamps in Class Studiehandledningar. Lösningarna till experimenten borde inte skapa några oöverstigliga eller svåra hinder och borde kunna lösas med lite tålamod. Lärare och instruktörer kan delta i Educator s Forum för att få hjälp eller använda sig av Teacher s Guides om sådana är tillgängliga. KOPIERINGSREGLER Parallax tillåter användaren att ladda ner, kopiera och distribuera denna bok utan särskilt tillstånd från Parallax. Förbehåll: boken, hela eller delar av det, får inte kopieras för kommersiell användning; den får enbart kopieras för utbildningsändamål och användas tillsammans med produkter från Parallax, och enbart kostnader direkt relaterade till kopieringen av materialet får utkrävas av eleven. Denna bok finns tillgängligt i tryckt format från Parallax, Inc. Eftersom vi trycker dokumentation i stora volymer så är kostnaden för förtryckta kopior ofta mindre än kostnaden för vanlig kopiering. UTLÄNDSKA ÖVERSÄTTNINGAR Parallax utbildningsböcker får översättas till andra språk efter erhållande av vårt godkännande (e-mail stampsinclass@parallax.com). Om du planerar att göra några översättningar så kontakta oss så vi kan tillhandahålla de korrekt formaterade MS Word originaldokumenten, -bilderna, etc. Vi underhåller också en diskussionsgrupp för Parallax översättare som du kan delta i. Detta säkerställer att du kan hålla dig informerad om nya versioner av våra dokument. SPECIELLA BIDRAGSGIVARE Version 1.0 av denna bok skrevs i huvudsak av Andy Lindsay baserat på ett manuskript inlämnat av Matt Gilliland, ursprunglig författare till What's a Microcontroller? och den alltid så populära Microcontroller Application Cookbooks. Andy skrev boken under sitt sista år vid California State University, Sacramento, där han studerade Electrical and Electronic Engineering. Detta var hans första, av tre Stamps in Class-böcker som han har

Förord Page v reviderat och/eller skrivit om. Andy är också en bidragande författare till många artiklar som behandlar om ämnet mikrocontrollers vilka används vid inledande ingenjörsstudier. När han inte skriver utbildningsmaterial, så arbetar han som produktingenjör hos Parallax.

Kapitel 1: Analog spänning och binära tillstånd Sida 1 Kapitel #1: Analog spänning och binära tillstånd Denna serie experiment introducerar analog and digital elektronik. Vad innebär detta? I What s a Microcontroller? lärde vi oss att analog innebär ett kontinuerligt variabelt värde. Ett annat sätt att se på det är att analog elektronik är analog i sin natur. Det finns en stor mängd av kontinuerligt variabla värden i naturen, såsom rörelse, ljus och ljud. Positionen på en dörr som öppnas är ett bra exempel på ett kontinuerligt variabelt värde. När dörren rör sig från helt stängt läge till helt öppet, så passerar den alla värden häremellan. Vid ett tillfälle under dess rörelse är den 1/3 öppen. Vid ett annat tillfälle är den halvöppen, och så vidare. INTRODUKTION TILL ANALOG OCH DIGITALTEKNIK Digital innebär representerad av tal - siffror. Jämför med hur ofta dagligen du finner analoga värden representerade av siffror. Temperaturen är 22.4 grader. Hastighetsgränsen är 90 km/tim, etc. Inte så förvånande, digital elektronik representerar värden via tal/siffror. Termen digital används också för att beskriva binära apparater som t.ex. kretsarna som bygger upp en kalkylator, mikroprocessorn i en dator, och Basic Stamp mikrocontrollern. Dessa är alla digitala apparater. Binära apparater är digitala apparater som använder sig av enbart två tal, 0 och 1. Experimenten i What s a Microcontroller? introducerade ett flertal tekniker för att ansluta sig mot, interfaca, mot omvärlden och andra apparater. Dessa interface var mestadels binära. Denna experimentserie utökar ytterligare möjligheterna till interfacing genom att introducera flera analoga komponentinterface och flera tekniker för att koppla sig mot analoga komponenter. I detta vårt första experiment, kommer vi att bygga en krets som producerar en analog utspänning. Kom ihåg att analoga spänningar är kontinuerligt variabla. Kretsen kommer att kunna justeras till att producera en spänning allt emellan 0 och 5 volt. Vi kommer också att bygga en krets som kallas för spänningsföljare, som kommer att använda denna analoga spänning till att driva en lysdiod, LED.

Sida 2 Grundläggande analog och digitalteknik Spänning/Volt: Volt är en grundläggande enhet för mätning av elektrisk spänning, uppkallad efter 1700-tals fysikern Allesandro Volta. De flesta känner igen denna enhet från då vi köper batterier, som t.ex. 9 volt (likspänning DC) batteriet som kan användas för att driva Board of Education. Inne i batteriet pågår två kemiska reaktioner, avskiljda från varandra av en barriär. En av reaktionerna skapar ett överskott av elektroner och den andra skapar ett underskott Sidan med överskott av elektroner är kopplad till den negativa polen på batteriet och sidan med underskott av elektroner är kopplad till den positiva polen. Om elektronerna får en transportväg runt barriären har de potential till att utföra arbete genom att ta sig från den negativa till den positiva polen. Spänningen, uttryckt i volt, är ett mått på dess potential till att utföra arbete. Denna spänning, uttryckt i volt, kallas även för batteriets elektriska potential. Den analoga spänningen kommer också att kopplas till en av BASIC Stamps I/O pinnar, konfigurerad som ingång. Denna binära ingång kan faktiskt användas till att mäta små variationer på den analoga spänningen. PBASIC kommer att användas till att programmera BASIC Stamp till att driva en binär Ledkrets, vilken kommer att indikera när dessa variationer detekterats. Debug Terminalen är också ett användbart verktyg för att visa data som BASIC Stamp hämtar och skickar. Den kommer att användas till att visa det binära värde som ingången tar emot när det analoga värdet varieras. Nödvändiga delar Till varje experiment kommer du att behöva en BASIC Stamp 2 och en Board of Education ansluten till en IBM-kompatibel PC med Win95/98/NT4.0. Du kommer att behöva installera BASIC Stamp Editor v 2.0 eller högre, som du kan ladda ner kostnadsfritt från www.parallax.com eller som finns på Parallax CD daterad May 2003 eller senare. I tillägg behöver du följande delar för experimentet: (2) 470 Ω motstånd (2) Röda LED (1) 100 kω potentiometer. (6) Kopplingstrådar. (1) LM358 op-förstärkare Genomgående i hela serien av experiment så kommer vi att bygga kretsar utifrån kopplingsscheman.

Kapitel 1: Analog spänning och binära tillstånd Sida 3 En av nycklarna till att lära sig hur man läser ett kopplingsschema är att lära sig vad de olika symbolerna betyder. Det är också viktigt att lära sig hur en del av komponenterna från komponentsatsen, Analog and Digital Parts Kit, ansluts till Board of Education baserat på dess kretssymbol i kopplingsschemat. Kopplingsschema eller kretsschema: Kallas ofta enbart för schema, är en karta eller ritning som använder symboler för att visa komponenterna i en krets och hur de är sammankopplade. Komponenterna representeras av symboler såsom den som representerar LED:en i Figur 1-1. Figur 1-1 visar en komponentritning av en lysdiod, (LED som vi hädanefter kommer att kalla den), från komponentsatsen överst och under denna visas kretssymbolen. Bilden visar också hur anslutningsbenen på LED:en motsvaras av anslutningarna på kretssymbolen. Platt märke på plasthöljet på LED:en indikerar katoden. Figur 1-1 LED Fysisk komponentritning jämförd med kretssymbolen _ + LED Figur 1-2 visar en ritning på ett motstånd och ovanför visas dess kretssymbol. Kretssymbolen har oftast motståndsvärdet angivet under eller strax intill den. De färgade ringarna på komponentritningen under symbolen anger dess värde som mäts i ohm. Omegasymbolen (Ω) används för att symbolisera ohm. Appendix B kan användas för att konvertera färgkoderna på motstånden till dess motståndsvärden. 470 Ω Figur 1-2 Motstånd Kretssymbol och dess motsvarande ritning

Sida 4 Grundläggande analog och digitalteknik Ström/Ampere: Ström uppstår då elektroner flyttar sig från punkt A till punkt B. Likström uppstår när överskottselektronerna i den negativa polen på ett batteri via t.ex. en ledning får en transportväg till den positiva polen. Ampere är enheten på hur många elektroner per sekund som färdas genom ledningen. Resistans/Ohm: Resistans är en egenskap hos ett material av transportvägen där elektronerna färdas. Ju svårare det är för elektronerna att ta sig från en ända på transportvägen till den andra, desto större är resistansen. Ett motstånd är ett exempel en sådan transportväg, och dess resistans (motstånd) mäts i ohm (Ω). Ohm's Lag: När ett motstånd används som transportväg mellan den negativa och positiva polen på ett batteri, så har en elektrisk krets skapats med spänning, resistans och ström. Ohm s lag relaterar de tre storheterna enligt: V = I x R V är spänningen mätt i volt, I är strömmen mätt i Ampere, och R är resistansen (motståndet) mätt i Ohm. Dom Andra Grabbarna: Har du någon gång undrat var orden volt, ampere och ohm kommer från? Dessa enheter är alla namngivna efter några av de människor som gjort betydelsefulla upptäckter om elektricitet. Vi vet redan var volt kommer ifrån; men vilka var de andra grabbarna? Ampere kommer ifrån 1700-tals fysikern André Marie Ampère. Ohm kommer från 1800-tals fysikern Georg Simon Ohm. Potentiometern En källa till variabel spänning Potentiometern (poten) har 3 anslutningar på sin undersida som pluggas in i Board of Education. På ovansidan finns en ratt som man kan vrida på för att justera den. I detta experiment kommer vi använda en variabel resistans för att skapa en varierande spänning. Figur 1-3 visar hur anslutningarna på undersidan av potentiometern från komponentsatsen motsvaras av kretssymbolen.

Kapitel 1: Analog spänning och binära tillstånd Sida 5 Pot Figur 1-3 Potentiometern Kretssymbol och dess motsvarande komponentritning Figur 1-4 visar vad som händer inne i potentiometern när den justeras. Den veckade linjen representerar en resistivt bana, normalt gjort av kol. En ända av den resistiva banan ansluts till Vdd på Board of Education, och den andra ändan ansluts till Vss. Den mellersta av de tre anslutningarna är ansluten till glidkontakten, och det är här spänningen mäts. Glidkontakten har hela tiden kontakt mot kolbanan när potentiometern justeras. Ju närmre Vdd glidkontakten kommer, desto närmre Vdd, som är 5 volt, kommer spänningen uppmätt på glidkontaktens anslutning att bli. På motsvarande sätt, när glidkontakten närmar sig Vss, kommer spänningen uppmätt på glidkontaktens anslutning, närma sig Vss, som är 0 volt. Allt eftersom glidkontakten rör sig mellan Vdd och Vss, kommer spänningen uppmätt på glidkontaktens anslutning variera mellan dessa två värden, på ett sätt som är analogt med en dörr som öppnas och stängs. Vdd Vss + 0-100 kω Pot Figur 1-4 Potentiometerns glidkontakt Visar hur glidkontakten i en potentiometer rör sig över ytan på den resistiva banan allt eftersom den justeras. LM358 Op-förstärkare En op-förstärkare (operational amplifier op-amp - operationsförstärkare) är ett byggblock som är vanligt i analoga kretsar. Figur 1-5 visar kretssymbolen och blockdiagrammet för op-förstärkaren LM358, som används i detta experiment. Opförstärkarkopplingen som används i detta experiment kallas för en spänningsföljare eftersom samma spänning som kommer ut på utgången kommer in på ingången. Med

Sida 6 Grundläggande analog och digitalteknik andra ord, så följer utgångsspänningen ingångsspänningen. Anledningen till att spänningsföljaren används i kretsen i detta experiment är att elektriskt separera potentiometerkretsen från Ledkretsen. Vi kommer att lära oss mer om användbarheten av en spänningsföljare i kapitel #4. Figur 1-5 LM358 op-förstärkare 1 2 A LM358 LM358 8 A 7 Kretssymbolen har siffror på alla sina anslutningar som korresponderar med siffror på blockdiagrammet. Blockdiagrammet är en vy ovanifrån på komponenten från din komponentsats med kretssymboler för de två opförstärkarna inritade. 3 4 B 6 5 Var noga med orienteringen av pin 1 och indexmarkeringen (det halvcirkelformade märket längst upp och till höger om pinne 1) när du ansluter komponenten till kopplingsdäcket. Felaktig anslutning kan skada en opförstärkare. VIKTIGT: Koppla bort Board of Educations spänningsmatning medan du bygger kretsen.

Kapitel 1: Analog spänning och binära tillstånd Sida 7 Board of Education Figur 1-6 visar de återstående kretssymbolerna som används i det första experimentet och va de kan återfinnas på Board of Education. Symbolen för Vdd motsvarar den positiva 5- voltmatningen för Basic Stamp och Board of Education. Det finns 4 anslutningshål längs ovansidan på kopplingsdäcket till vänster, för anslutning till Vdd. Jordsymbolen används för Vss. Detta är referenspunkten för mätningar, and anses som 0 volt jämfört mot alla andra spänningar på Board of Education. De fyra anslutningshålen för anslutning till Vss finns längs ovansidan på kopplingsdäcket till höger. Det finns en rad med femton anslutningshål längs vänster sida av kopplingsdäcket för anslutning till BASIC Stamp s I/O pinnar (In/Ut anslutningar - pin). Varje I/O pinne har sin egen utmärkning. I/O pinne P0 är ansluten till det nedre vänstra anslutningshålet. Pinne P1 är nästa anslutningshål ovanför, och ovanför denna finns anslutningen till pinne P2 och så vidare till och med pinne P15 längst upp i vänstra raden. X3 X4 P15 P14 P13 P12 P11 P10 P9 P8 P7 P6 P5 P4 P3 P2 P1 P0 Figur 1-6 Board of Education Kretssymboler och var de finns på Board of Education. Dessutom kan man se hur varje rad av 5 anslutningshål är elektriskt sammanbundna på undersidan. Figur 1-6 visar också prov på, 5 anslutningshål breda, rader som är elektriskt förbundna på undersidan av kopplingsdäcket. Det finns 34 uppsättningar av dessa, 5 anslutningshål breda, rader arrangerade i två kolumner på ömse sida om mitten på kopplingsdäcket. Om man vill ansluta två kopplingstrådar med varandra så ansluter man dem till samma rad av 5 anslutningshål, i samma kolumn av 5 anslutningshål (på samma sida av mitten på kopplingsdäcket). Trådarna blir på detta sätt elektriskt sammanbundna. På samma sätt, om man vill ansluta en eller flera kopplingstrådar till ett anslutningsben på en komponent, så ansluts kopplingstrådarna till samma rad på kopplingsdäcket som komponentens anslutningsben är kopplat till.

Sida 8 Grundläggande analog och digitalteknik Bygge av den analoga och digitala komparatorn (jämföraren) Bygg kretsen enligt schemat i Figur 1-7. Schemat är som en lista över anslutningar mellan kretssymboler. Försök använda listan för att bygga kretsen. Här följer en del av listan över anslutningarna som visas i schemat: Glidkontaktens anslutningsben på 100 kω potentiometern kopplas till pinne 3 på LM358 op-förstärkaren. Pinne 2 på LM358 kopplas till pin 1 på LM358. Pinne P7 på BASIC Stamp kopplas till glidkontaktens anslutningsben på potentiometern. Pinne 8 på LM358 kopplas till Vdd på Board of Education. Pinne 4 på LM358 kopplas till Vss på Board of Education. Fortsätt följa schemat som en lista så kommer du ha byggt kretsen i ett nafs.

Kapitel 1: Analog spänning och binära tillstånd Sida 9 Potentiometer med analog utgång från glidkontaktens anslutningsben Op-förstärkare spänningsföljarekrets Analog LED utgång Binär LED utgång Figur 1-7 Kopplingsschema. Kom ihåg att använda schemat som en lista över anslutningspunkter vid byggandet av kretsen. Fastän kretsen endast har ett fåtal komponenter, så består den av 4 separata underkretsar, alla med en särskild funktion enligt nedan. Vdd Vdd P12 P7 LED LED A 100k Ω Pot LM358 470 Ω 470 Ω Vss Vss Vss Vss Potentiometern är den som skapar den analoga utspänningen. Op-förstärkaren är kopplad som en spänningsföljare. Spänningsföljaren driver den analoga LED utgången. Till sist finns det en separat krets som använder en BASIC Stamp I/O pin till att driva en LED.

Sida 10 Grundläggande analog och digitalteknik Figur 1-8 visar ett exempel på hur kretskopplingen från schemat i Figur 1-7 kan se ut. För ytterligare tips på hur man bygger kretsar på kopplingsdäcket, se What s a Microcontroller? Figur 1-8 Kopplingsdäcksexempel X3 P15 P14 P13 P12 P11 P10 P9 P8 P7 P6 P5 P4 P3 P2 P1 P0 X2 LM358 Jämför detta kopplingsexempel med schemat i Figur 1-7. Är LM358 korrekt inkopplad? Är Vdd ansluten till pinne 8 och är Vss ansluten till pinne 4? Det visar sig att svaret på båda frågorna är ja. Vss är ansluten via en kopplingstråd till det vänstra anslutningsbenet på potentiometern. En annan kopplingstråd ansluter från det vänstra anslutningsbenet på potentiometern till pinne 4 på LM358. Eftersom man kan följa en kopplingstråd hela vägen från pinne 4 på LM358 till Vss anslutningshål, innebär detta i praktiken att pinne 4 på LM358 är direkt ansluten till Vss. VIKTIGT: Var noga med placeringen av LM358, så att indexmärket på komponenten är vänt uppåt, som visas på ovanstående kopplingsdäcksexempel. Om du vänder på komponenten 180 grader kommer op-förstärkaren att fördärvas när batteriet eller annan strömförsörjning ansluts till Board of Education. Programmering av projektet Programmet State_of_P7.bs2 visar hur PBASIC kan användas till att instruera BASIC Stamp att utföra flera uppgifter. Först övervakar BASIC Stamp nivån på pin P7, som är satt till att vara ingång. Kom ihåg att P7 är ansluten till glidkontakten på potentiometern. Beroende på den analoga spänningen på pinne P7, tolkar BASIC Stamp ingången som antingen låg eller hög (binärt 0 eller 1). Så snart ingången till P7 tar emot en hög signal skickar BASIC Stamp en hög signal till LED kretsen via pinne P12. När ingången är låg så skickas en låg signal till P12. Debug Terminalen används också till att övervaka nivån på pinne P7.

Kapitel 1: Analog spänning och binära tillstånd Sida 11 Skriv in programmet State_of_P7.bs2 i BASIC Stamp Editor, och spara det under ett passande namn, som t.ex. State_of_P7_1_1R0.bs2. Detta innebär programlistning 1.1 Revision 0. Kontrollera att programmeringskabeln är ordentligt ansluten till din Board of Education och till serieporten på din dator. Kontrollera också att ett batteri eller spänningsaggregat är korrekt anslutet och kör sedan programmet genom att välja Run i Menyn, eller använd tangentbordskommandot Ctrl-R. ' Basic Analog and Digital - State_of_P7.bs2 ' Check the state of P7 and show it on the Debug Terminal. ' {$STAMP BS2} ' {$PBASIC 2.5} DEBUG CLS INPUT 7 OUTPUT 12 DO OUT12 = IN7 DEBUG HOME, "The state of P7 is ", BIN IN7 LOOP Om programkoden Första raderna börjar med en apostrof. Detta innebär att de är kommentarer och inte PBASIC kommandon. Första raden påminner dig om boken och filnamnet, för framtida bruk. ' Basic Analog and Digital - State_of_P7.bs2 Den andra kommentaren är en beskrivning av programmet. Vad gör programmet? ' Check the state of P7 and show it on the Debug Terminal. De nästa två raderna är speciella kommentarer. Vi kallar dem kompilatordirektiv och dom används för att identifiera typen av Basic Stamp och vilken version av PBASIC som används. Till exempel, om du följer denna manual med hjälp av en BASIC Stamp 2 SX, borde du ersätta kompilatordirektivet '{$STAMP BS2} med '{$STAMP BS2SX}. ' {$STAMP BS2} ' {$PBASIC 2.5} En bra början vid användning av Debug Terminalen är att rensa den innan den används för att visa data. På det sättet undviker du att av misstag visa information från tidigare programkörningar som fanns i BASIC Stamp's minne. Debug Terminalen startar

Sida 12 Grundläggande analog och digitalteknik automatiskt första gången den påträffar DEBUG kommandot i ett PBASIC program. Följande DEBUG kommando rensar Debug Terminalen efter att den har öppnats: DEBUG CLS BASIC Stamp behöver veta hur den skall hantera I/O pinnarna som är anslutna till kretsen. De kan antingen sättas till att vara ingångar eller utgångar. Följande PBASIC kommando sätter BASIC Stamp I/O pinne P7 till att fungera som ingång: INPUT 7 På samma sätt sätts I/O pinne P12 till att fungera som utgång med hjälp av följande kommando: OUTPUT 12 Resten av programmet skall upprepas om och om igen, så här är en bra plats att placera en DO LOOP loop (snurra). Så, på det ställe där vi vill börja att upprepa kod, skriver vi: DO Senare i programmet, anges kommandot LOOP. Varje gång programmet kommer till LOOP kommandot så återgår det till DO och startar om exekveringen av instruktionerna igen. Nästa uppgift är att få LED:en ansluten till pinne P12 att tändas när spänningen på P7 är hög nog för att kvalificera sig som en binärt hög signal. Med andra ord, om ingångsvärdet mätt på P7 är en binär 1, då skall utgången på P12 sättas till binär 1. Även om det finns flera olika sätt att åstadkomma detta, så är det enklaste sättet att sätta det binära utgångsvärdet på pinne 12 till att vara samma som det binära ingångsvärdet på pinne P7. OUT12 = IN7 DEBUG kommandon kan användas till att visa signalnivån som tas emot på en I/O pinne, satt till att fungera som ingång, i Debug Terminalen. DEBUG kommandot nedan skriver ut tre olika värden. När mer än ett värde skall skrivas ut med ett DEBUG kommando, så skall de olika värdena alltid separeras med kommatecken. DEBUG HOME, "The state of P7 is ", BIN IN7 Första värdet som skrivs med DEBUG kommandot är HOME, vilket positionerar markören i översta vänstra "hempositionen" i Debug Terminalen. Notera hur HOME åtföljs av ett kommatecken för att avskilja det från nästa värde. Nästa värde är ett textmeddelande inom citationstecken: "The state of pin P7 is ". Närhelst ett textmeddelande skall skrivas, måste citationstecken användas runt texten. Tredje värdet är BIN IN7, som instruerar Debug Terminalen att skriva ut det binära ingångsvärdet uppmätt på pinne P7.

Kapitel 1: Analog spänning och binära tillstånd Sida 13 Vi vill att BASIC Stamp skall kontrollera spänningen på P7 gång på gång. Vi vill också att BASIC Stamp automatiskt skall uppdatera LED:en och Debug Terminalen med den senaste informationen från P7. Detta åstadkommes genom att gång på gång skicka tillbaka programmet till den loop vi skapade tidigare. För att dirigera tillbaka programmet till DO satsen, för att starta om processen från början igen, används kommandot: LOOP Felsökning Här är ett par tips på saker att kontrollera om ditt program inte fungerar som avsett. Det krävs ofta ett par försök för att hitta alla felkopplingar och programmeringsfel. Det vanligaste felet är fel vid editering av program. I vissa fall kommer BASIC Stamp Editor tala om för dig att något är fel. T.ex. om du stavat ett kommando fel, så kommer inte BASIC Stamp Editor att förstå det och kommer att tala om vilket ord den inte förstod, genom att framhäva ordet och visa ett kort felmeddelande. I andra fall kommer programmet att kunna köras trots att en kodrad är felaktigt skriven. T.ex. kan du ha skrivit in talet 13 medan du egentligen menade talet 12. Ett sådant misstag i vårt exempel, skulle få till följd att när du kör programmet, så kommer inte LED:en ansluten till P12 att tändas när du förväntar dig det, eftersom den höga signalen skickas till pinne P13 istället. Ett annat vanligt misstag är att ansluta en kopplingstråd i fel anslutningshål på kopplingsdäcket. Om en LED inte tänds eller släcks på det sätt som den borde, och inga programmeringsfel kan hittas, kontrollera kopplingarna. Kontrollera också att LED:ens katod och anod är anslutna till rätt ställen. Om en LED kopplas in omvänt, så kommer den inte att lysa. Om informationen i Debug Terminalen verkar omstuvad eller på annat sätt oförståelig, försök då att stänga Debug Terminalen och starta om programmet igen.

Sida 14 Grundläggande analog och digitalteknik Utsignalen När du justerar potentiometern, notera hur LED:en inkopplad efter spänningsföljaren varierar sin intensitet. Detta medan Ledkretsen som drivs av P12 antingen tänds eller släcks. Detta karaktäriserar skillnaden mellan analog spänning och digital (binär) spänning. Informationen som visas i Debug Terminalen bör likna det som visas i Figur 1-9. Nivån (state) på P7 kommer antingen att vara 0 eller 1. På samma sätt kommer Ledkretsen som drivs av P12 vara antingen av eller på. Figur 1-9 Debug Terminal utdata för programmet Justera potentiometern tills du har funnit tröskelspänningen. Du kommer veta när du funnit den eftersom Debug Terminalen kommer att indikera att state på P7 hoppar fram och tillbaka mellan 0 och 1, vid enbart en minimal justering av poten. Märk ut denna position på poten. När vi har byggt en voltmeter i kapitel #3, kan vi mäta hur nära den verkliga tröskelspänningen på en Basic Stamp I/O-pinne, konfigurerad som ingång, vi är vid denna inställning. Denna tröskelspänning bör vara ca 1.4 volt. Om komparatorn (jämföraren) Vi programmerade BASIC Stamp till att fungera som en komparator med hjälp av PBASIC. En komparator benämns på detta sätt för att det är en krets som jämför sin

Kapitel 1: Analog spänning och binära tillstånd Sida 15 ingångsspänning med en speciell spänning kallad tröskelspänningen. Om ingångsspänningen till komparatorn är högre än tröskelspänningen så genereras en hög signal på dess utgång. Om ingångsspänningen är lägre än tröskelspänningen så genereras en låg signal. I fallet med vår krets och vårt program, så innebär det att när den analoga spänningen på pinne P7 är under 1.4 volt så genererar BASIC Stamp en låg signal (0 volt) på pinne P12. När den analoga spänningen på pinne P7 är över 1.4 volt, blir spänningen på pinne P12 hög (5 volt). Som du kan se i Debug Terminalen så tolkar BASIC Stamp analoga inspänningar under 1.4 volt som låg (0) och inspänningar över 1.4 volt som hög (1). Att arbeta med komparatorn nära dess tröskelspänning är speciellt intressant eftersom en liten förändring på ingången till BASIC Stamp, t.ex. från 1.3 till 1.5 volt resulterar i en ganska stor förändring, från 0 till 5 volt på utgången.

Sida 16 Grundläggande analog och digitalteknik Vad lärde jag mig? Infoga korrekt ord, från listan till vänster, på raderna nedan för att komplettera meningarna. Kolbanan Op-förstärkare Analog Tröskelspänning Utspänning Kopplingsschema Kopplingsdäck Ett visar kretssymboler anslutna till varandra med linjer. Varje kretssymbol motsvaras av en komponent och linjerna som kopplar samman kretssymbolerna kan ses som en lista av anslutningar som kan användas som hjälp vid konstruktionen av en fungerande krets på ett. En är en analog byggsten som användes som en spänningsföljare i detta experiment. I detta experiment användes potentiometern som en källa till spänning. Spänningen på potentiometerns glidkontakt varierar beroende på var på som glidkontakten gör kontakt. En komparator är en krets som genererar en binär signal som beror på om den analoga ingången är över eller under en. En komparator kan reagera på en liten skillnad i inspänning med en i jämförelse stor skillnad i.

Kapitel 1: Analog spänning och binära tillstånd Sida 17 Frågor 1. Ringa in det ord som gör meningen sann: Ingången till spänningsföljaren är på den (inverterande/ icke inverterande) anslutningen på Op-förstärkaren i detta experiment. 2. Hur ser du skillnad på katoden och anoden på en LED från komponentsatsen? 3. Om tröskelspänningen för en komparator är 2.5 volt, och ingången är ansluten till 1.5 volt, vad kommer då utspänningen på utgången vara? 4. Förklara vad kommandot DEBUG HOME gör. Vad måste göras för att skriva ut mer än ett värde med bara ett enda DEBUG kommando? 5. Vilket kommando skulle du använda för att sätta pinne P8 till att fungera som ingång? Utmaning! 1. Addera ytterligare en LED till kretsen på Board of Education och använd P11 till att driva den, i inverterat läge. Med andra ord, när en LED är tänd, så är den andra släckt. Tips: Addera 1 till utgångsvärdet på P11 för att invertera det. 2. Modifiera programmet State_of_P7.bs2 så att LED:en blinkar när potentiometerns utspänning överskrider BASIC Stamps ingångströskelspänning. Tips: Du kan använda kommandot PAUSE 500 för att få programmet att göra ett uppehåll i en halv sekund. 3. Modifiera programmet State_of_P7.bs2 så att en LED tänds när inspänningen till pinne P7 överstiger tröskelspänningen och att den andra LED:en tänds när spänningen på pinne P7 är under tröskelspänningen. Varför lärde jag mig detta? I detta experiment jämförde vi en binär LED s utgång med en analog LED s utgång. Förutom att veta att spänningen på glidkontaktens anslutning just passerat tröskelspänningen, fanns ingen möjlighet till att påvisa potentiometerns position eller LED:ens ljusstyrka. Å andra sidan, i närheten av tröskelspänningen, kunde små variationer på analog spänning detekteras.

Sida 18 Grundläggande analog och digitalteknik Trots den begränsade mängd analog information som vi kan få från en binär ingång, kunde vi utveckla en apparat som kallas komparator, som kan användas vid många tillfällen i elektronisk konstruktion. Som vi kommer att se, i ett senare experiment, kan 555-timerkretsen, i komponentsatsen, utföra en del häpnadsväckande saker. Detta beror till stora delar på två mikroskopiska komparatorer i kretsen. Hur kan jag tillämpa detta? Vi kommer i senare experiment utnyttja tröskelspänningen till att mäta ljudfrekvens för både uppspelnings och inspelningsändamål. Vi kommer också att bygga en annan typ av analog till digital omvandlare med hjälp av en enkel krets, BASIC Stamp och konceptet tröskelspänning. Vi kommer dessutom att använda denna teknik för att mäta både ljusintensitet och värden på kondensatorer från komponentsats.

Kapitel 2: Introduktion till bitmanipulering Page 19 Kapitel #2: Introduktion till bitmanipulering Ett viktigt steg i att lära sig hur BASIC Stamp kan hantera analoga data är att lära sig hur man kan få den att skicka och ta emot binära tal. Det är också viktigt att förstå hur binära tal fungerar och hur dessa kan konverteras till decimala tal. GRUNDLÄGGANDE KOMMUNIKATION Detta experiment kommer att införa några tekniker för att sända och ta emot binära tal med BASIC Stamp. I experimentet kommer vi att tillverka ett binärt tangentbord för att skicka binära tal till BASIC Stamp. BASIC Stamp kommer också att programmeras till att behandla och visa de binära tal den tar emot. Talen kommer att visas både på LED:ar och i Debug Terminalen. Debug Terminalen kommer också att vara användas till att visa de binära talen i decimal form. I What s a Microcontroller?, lärde vi oss att binärt är det talsystem som används av mikrocontrollers, och att det arbetar med två siffror, 0 och 1. BASIC Stamp är ett exempel på en stor grupp av digitala elektroniska apparater som kan tolka 0 volt som en binär 0 och 5 volt som en binär 1. Binär notering är användbar till att beskriva både tillstånd och tal. I termer av tillstånd, så kan de två binära talen (0 och 1) användas till att beskriva av/på, stängd/öppen, nej/ja etc. Kombinationer av binära tal kan användas till att beskriva värden. Till exempel, de binära talen 101, 110 och 111 beskriver de decimala talen 5, 6 och 7. Dessa tal kan i sin tur användas till att beskriva analog information, såsom en dörrs position, när den öppnas och stängs. Nödvändiga delar Ta fram nedanstående delar från komponentsatsen och låt oss komma igång. (2) 470 Ω motstånd (2) 220 Ω motstånd (2) 10 kω motstånd (2) Tryckströmbrytare (switchar) (2) Röda LED:ar (övr.) Kopplingstrådar

Sida 20 Grundläggande analog och digitalteknik Tryckströmbrytaren (switchen) Det är bara en ny del och kretssymbol som introduceras i detta experiment, switchen i Figur 2-1. Observera att varje anslutning på kretssymbolen, motsvaras av 2 anslutningsledningar på komponenten. Om du vill ansluta till en av anslutningarna som anges av symbolen, så kan du ansluta till vilken som helst (eller båda) av de motsvarande anslutningsledningarna på komponenten. Den öppna ytan, till höger om tryckknappen, i symbolen indikerar att switchen är normalt öppen. När de två anslutningarna till en switch inte är slutna, så räknas switchen som en öppen krets. Under normala förhållanden, (när switchen inte är intryckt) är kretsen öppen, därav namnet normalt öppen. Figur 2-1 Switchen Kretssymbol jämfört med komponentens kretsritning Bygge av kretsen Figur 2-2 visar schemat för detta experiment. Kom ihåg att tänka på schemat som en lista av komponenter och anslutningar. T.ex. anoden på den högra LED:en ansluts till P5 anslutningen på Board of Education via ett 470 Ω motstånd. D.v.s., ena anslutningsbenet på 470 Ω motståndet ansluts till P5 anslutningen på Board of Education. Andra anslutningsbenet på 470 Ω motståndet ansluts till LED:ens anod. LED:ens katod är ansluten till Vss-anslutningen på Board of Education, och så vidare. Följ schemat noggrant när du bygger kretsar.

Kapitel 2: Introduktion till bitmanipulering Page 21 Vdd Vdd P1 P0 220 Ω 10 kω 220 Ω 10 kω P5 P4 Vss Vss 470 Ω 470 Ω LED LED Vss Vss Figur 2-2 Schema som visar två switch-kretsar och två LED-kretsar. Innan vi konstruerar vårt PBASIC program som talar om för BASIC Stamp hur den skall interfaca mot denna krets så är det viktigt att förstå hur kretsen fungerar. LED:arna är ganska självklara. Sätt P4 hög och LED:en tänds; sätt P4 låg och LED:en släcks igen. LED:en ansluten till P5 fungerar på samma sätt. Hur är det med switcharna då? Låt oss se vad anslutning P0 ser när switchen trycks in och härefter släpps. När switchen är intryckt ansluts P0 direkt till Vdd som är 5 volt. P0 ser en hög signal. När switchen inte är intryckt är P0 ansluten till Vss (0 volt) genom 10 kω motståndet. Då ser P0 en låg signal. Detta koncept används för båda switcharna i Figur 2-2.

P15 P14 P13 P12 P11 P10 P9 P8 P7 P6 P5 P4 P3 P2 X3 P1 P0 X2 Vin Sida 22 Grundläggande analog och digitalteknik Figur 2-3 visar ett kopplingsdäcksexempel på kopplingsschemat. Av de två BASIC Stamp I/O-anslutningarna, som används som ingångar för switcharna så är den lägsta anslutningen (P0) ansluten till den högra switchen. På samma sätt är högra anslutningen (P1) ansluten till den vänstra switchen. Anledningen till att anslutningarna till switcharna är korsade beror på hur binära tal anges, vilket kommer att beskrivas senare i experimentet. Figur 2-3 Kopplingsdäcksexempel Vdd Vss Att ange binära tal på tangentbordet blir enklast om Board of Education kopplas, vridet som visat. Lägg märke till att vänster switch är ansluten till P1 och höger switch är ansluten till P0. Programlistningen 2.1 gör att den vänstra LED:en i Figur 2-3 tänds när den vänstra switchen är nedtryckt. På samma sätt tänds den högra LED:en när den högra switchen är nedtryckt. Programmet visar också resultatet på Debug Terminalen. Programmering av projektet Här kommer en mer detaljerad beskrivning av programspecifikationen för switcharna och LED:arna. När P0 tar emot en låg signal, då skall P5 skicka en låg signal. När P0 tar emot en hög signal, då skall P5 skicka en hög signal. När P1 tar emot en låg signal, då skall P4 skicka en låg signal. När P1 tar emot en hög signal, då skall P4 skicka en hög signal. Debug Terminalen kan användas till att visa vad BASIC Stamp tar emot på pinne P0 och P1. DEBUG används för att visa det binära värdena som BASIC Stamp tar emot, liksom de decimala motsvarigheterna i Debug Terminalen.

Kapitel 2: Introduktion till bitmanipulering Page 23 Låt oss se hur detta kan åstadkommas med PBASIC. Skriv in programmet, med hjälp av BASIC Stamp Editor, enligt listning 2.1 och spara det som PL2_1R0.bs2. Detta betyder program- listning 2.1 Revision 0. Säkerställ att Board of Education är ansluten till en strömkälla och att programmeringskabeln är korrekt ansluten och kör sedan programmet. ' Basic Analog and Digital - PL2_1R0.bs2 ' Programlistning 2.1 Revision 0. ' {$STAMP BS2} ' {$PBASIC 2.5} a VAR Bit b VAR Bit d VAR Nib INPUT 0 INPUT 1 OUTPUT 4 OUTPUT 5 DEBUG CLS DO a = IN0 b = IN1 OUT4 = b OUT5 = a d = (2*b) + (1*a) DEBUG HOME, "State of pin P0 is ", BIN a, CR DEBUG "State of pin P1 is ", BIN B, CR, CR DEBUG "2-bit binary number: ", CR DEBUG "P1 P0", CR DEBUG " ", BIN b, " ", BIN a, CR, CR DEBUG "Decimal equivalent: ", DEC1 d, CR LOOP Utdata Så här skall programmet fungera. När inga switchar är intryckta så skall Debug Terminalen visa i enlighet med Figur 2-4, och båda LED:arna skall vara släckta. Tryck in den högra switchen (i Figur 2-3). Tändes den högra LED:en? Ändrade sig tillståndet på P0 i Debug Terminalen till 1? Är den decimala motsvarigheten 1? I så fall så verkar det som din krets och ditt program fungerar bra, så långt.

Sida 24 Grundläggande analog och digitalteknik Figur 2-4 Debug Terminalens utseende för programlistning 2.1 Så hur räknar vi från decimalt 0 till decimalt 3 med de binära switcharna? Tvåbitars binära motsvarigheten till decimalt-0 är 00. När ingen av switcharna är intryckta är det decimala utvärdet 0 i Debug Terminalen. När du trycker in den högra switchen så blir utvärdet 01, vars decimala motsvarighet är 1. När du trycker in den vänstra switchen blir utvärdet 10, vars decimala motsvarighet är 2. När du trycker in båda switcharna blir utvärdet 11,vars decimala motsvarighet är 3. Om programkoden På samma sätt som med programmet i det första kapitlet så börjar de först raderna med apostrofer, vilket innebär att dom är kommentarer och kompilatordirektiv och BASIC Stamp ignorerar dem. ' Basic Analog and Digital - PL2_1R0.bs2 ' Program Listing 2.1 Revision 0. ' {$STAMP BS2} ' {$PBASIC 2.5}

Kapitel 2: Introduktion till bitmanipulering Page 25 Härefter definieras tre variabler. Variabler används för att lagra värden medan programmet körs. Bokstäverna a och b definieras till att kunna lagra 1 bit vardera. Så variabel a kan lagra en enda binär siffra liksom variabel b. Bokstaven d är definierad till att vara en variabel som kan lagra en "nibble" av binär information. a VAR Bit b VAR Bit d VAR Nib Minne: En bit i ett minne kan lagra en binär siffra, antingen 0 eller 1. En nibble kan lagra 4 bitar. En byte (uttalas bajt) kan lagra 8 bitar. Ett word (ord) kan lagra 16 bitar. Nedanstående segment av programkod använder kommandon som introducerades i förra kapitlet. Till att börja med så definieras två I/O-pinnar till att vara ingångar och ytterligare två I/O-pinnar till att vara utgångar. Härefter öppnas och rensas Debug Terminalen. INPUT 0 INPUT 1 OUTPUT 4 OUTPUT 5 DEBUG CLS Vi vill att BASIC Stamp kontinuerligt skall kontrollera ingångarna. Vi vill också att BASIC Stamp automatiskt skall uppdatera LED:arna och Debug Terminalen med senaste information från switcharna. Ett sätt att göra detta på är att kontinuerligt upprepa programmet inuti en DO LOOP snurra. Vi definierar startpunkten på snurran med DO och för att skicka tillbaka programmet till denna punkt använder vi LOOP kommandot. DO Härefter behöver vi kontrollera tillståndet på switcharna genom att kontrollera ingångarna på pinnarna P0 och P1. Det första av nedanstående två kommandon sätter bitvariabeln a till att motsvara tillståndet mätt på pinne P0. Det andra kommandot sätter bitvariablen b till att motsvara tillståndet mätt på pinne P1. a = IN0 b = IN1

Sida 26 Grundläggande analog och digitalteknik Vidare behöver vi sätta utgången på pinne P4 att motsvara tillståndet på pinne P1. Den vänstra LED:en som är ansluten till P4 kommer att tändas när den vänstra switchen, som är kopplad till P1, är intryckt. På samma sätt behöver vi sätta utgången på pinne P5 till att motsvara tillståndet på ingången, till pinne P0. Eftersom invärdena tilldelades till variablerna a och b, så kan vi använda a och b till att styra utvärdena på pin P4 och P5. OUT4 = b OUT5 = a Vi skulle lika enkelt kunna ha använt kommandona OUT4=IN1 och OUT5=IN0. Att använda variabler som sparar värden i minnet har däremot fördelar allt eftersom programmen mer komplicerade. I nästa experiment kommer dat att vara nödvändigt att använda variabler för att spara värden. Anledningen till att vi använde variabler i detta program är att de kan manipuleras aritmetiskt och den nästa uppgiften är att konvertera från binärt till digitalt. För att göra detta multipliceras variabel b med 2 och variabel a med 1 och sedan adderas dessa samman. Nibble variabeln d används till att spara det nya värdet. På detta sätt konverteras ett 2-bitars binärt tal till ett decimalt tal. Nästa avdelning visar hur detta görs för ett binärt tal av godtycklig storlek. d = (2*b) + (1*a) BASIC Stamp Minne: RAM: BASIC Stamp har 26 bytes RAM (Random Access Memory) (flyktigt primärminne) som kan användas till att lagra värden. Ytterligare 6 byte RAM används för att koppla BASIC Stamp mot dess I/O pinnar. EEPROM: Electrically Erasable Programmable Read Only Memory, EEPROM (icke flyktigt sekundärminne) används primärt till att lagra PBASIC programmen. EEPROM kan också användas till att lagra datavärden som inte ändras så ofta. I den uträkning vi precis gjorde med PBASIC är parenteserna nödvändiga för att bibehålla den normala aritmetiska ordningen på ingående operationer. Detta beror på att BASIC Stamp utför sina matematiska operationer med strikt början till vänster. Den hanterar sedan varje operation från vänster till höger. Utan parenteserna skulle d blivit satt till att vara lika med värdet ((2 x b + 1) x a)

Kapitel 2: Introduktion till bitmanipulering Page 27 Eftersom det är i denna ordning operatorerna (+, -,*, /, etc.) anträffas. Däremot, när parenteser används så utför BASIC Stamp operationerna inom parenteser först, och först härefter utför den resterande operationer från vänster till höger. Sex DEBUG kommandon används för att visa alla uppmätta tillstånd och de kalkylerade binära värdena i Debug Terminalen. Första DEBUG kommandot nedan visar 4 separata informationsdelar. Kom ihåg att varje enskild del i ett DEBUG kommando måste åtskiljas med ett kommatecken. DEBUG HOME kommandot skickar markören till översta vänstra hempositionen i Debug Terminal. Notera att detta åtföljs av ett kommatecken för att åtskilja det från nästa informationsdel. Denna del är ett textmeddelande, inom citationstecken: "State of pin P1 is ". Närhelst man vill skriva textmeddelanden i Debug Terminal, används citationstecken runt meddelandetexten. Tredje informationsdelen är BIN a, som instruerar Debug Terminalen att visa det binära värdet av variabel a. Fjärde delen är CR (carriage return), vilket instruerar Debug Terminal att skriva ett radmatningstecken. DEBUG HOME, "State of pin P0 is ", BIN a, CR Ett liknande meddelande skrivs ut för variabel b, men utan HOME kommandot. HOME kommandot fungerar bra när det används en gång per programsnurra (loop). Kom ihåg att DEBUG HOME skickar markören till övre vänstra positionen av Debug Terminal. Om vi skulle använda HOME mer än en gång i loopen så skulle informationen efter första HOME kommandot bli överskrivet av informationen i det andra HOME kommandot. DEBUG "State of pin P1 is ", BIN B, CR, CR Härefter använder vi två DEBUG kommandon. Varje skriver ett textmeddelande, det första åtföljt av två radmatningar och det sista åtföljt av en radmatning. DEBUG "2-bit binary number: ", CR Sedan kommer ytterligare ett textmeddelande inom citationstecken åtföljt av en radmatning. DEBUG "P1 P0", CR I nästa kommando innehåller meddelandetexten tecknet mellanslag (space) inom citationstecknen. Första paret av citationstecken innehåller ett mellanslag. Härefter skrivs det binära värdet av variabel b ut åtföljt av ytterligare ett par citationstecken innehållande