Laboration D164. ELEKTRONIK Digitalteknik. Digitalteknik med enchipsdatorer

Storlek: px
Starta visningen från sidan:

Download "Laboration D164. ELEKTRONIK Digitalteknik. Digitalteknik med enchipsdatorer"

Transkript

1 UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg v 1.1 ELEKTRONIK Digitalteknik Laboration D164 Digitalteknik med enchipsdatorer Namn... Personnummer... Studieprogram... Epostadress... Datum för visad koppling (signerad)... Datum för inlämning.

2 2 Innehåll Innehåll... 2 INLEDNING... 3 Referenser... 3 UTRUSTNING... 3 TALSYSTEM... 4 LOGISK ALGEBRA (BOOELSK ALGEBRA)... 5 NOT-funktionen... 6 AND-funktionen... 6 OR-funktionen... 6 Grind-symboler... 7 NOT-grinden... 7 AND-grinden... 7 OR-grinden... 7 REALISERING AV GRINDNÄT MED ENCHIPSPROCESSOR... 8 Först några fysiska (mekaniska) data... 8 MICROPROCESSORENHETER... 1 PROGRAMMERING AV KAPSEL OPERAND KOMMENTARER ASSEMBLERDIREKTIV PROGRAMEXEMPEL Editera Projektet: Assemblera koden Simulering Programmering av krets Inkoppling PROGRAMEXEMPEL Realisering av OR-funktionen ing NAND (Not AND) ing NAND ing NOR-grind ing NOR-grind Kombinatoriska kretsar. (Kombinatorik) EXOR EXNOR Källkodsbeskrivning Realisera en digital funktion med nedanstående sanningstabell En digital funktion beskrivs med booelsk algebra på följande sätt En digital krets har 5 st insignaler och en utsignal. Dess logiska funktion ska vara sådan att om exakt tre av insignalerna är höga ska utsignalen bli hög Ytterligare instruktioner för att underlätta källkodsskrivning Realisera nedanstående sanningstabell med hjälp av tabell Realisera en fyra-bitars kodomvandlare BIN - GRAY Realisera den digitala funktionen i uppgift Kodlås... 3 SEKVENSKRETSAR PROGRAMEXEMPEL Kopplingsschema Källkod Laborationsuppgift Laborationsuppgift Laborationsuppgift Laborationsuppgift... 37

3 3 INLEDNING Denna laboration är avsett att ge en inblick i hur grundläggande modern DIGITALTEKNIK kan förverkligas med en enkel mikroprocessor.. Introduktionen är traditionell, d.v s med terori för digital logik, men med enchipsdatorn som enda komponent för att realisera olika digitala funktioner. Det hittills vanligaste är att använda kretsar ur TTL och CMOS-familjerna. De huvudmoment som laborationen behandlar är följande: 1. KOMBINATORISKA KRETSAR 2. SEKVENSKRETSAR Referenser PIC c.pdf MPLAB manualer och programvara: UTRUSTNING Persondator typ IBM eller kompatibel. Kopplingsdäck med 5 volts matningsspänning 4 st lysdioder 4 st motstånd på ca 3-5 Ω 4 st motstånd på 2-5 kω (Ovanstående komponenter behövs inte om man har tillgång till labbdäck typ Heathkit el likn) Enchipskretsar av typ PIC16F84 Utvecklingsprogramvara:

4 4 TALSYSTEM Decimala talsystemet, som används i vår vardag, har tio tecken (symboler). Symbolerna,1,2,...,9 placeras sedan på ett speciellt sätt för att ange tal större än 9. Detta sätt kallas för positionssystem. Symbolens position anger dess värde eller vikt. I den talkultur vi växer upp i anger talet 11 "ett tiotal + ett ental". Barn i förskoleåldern kan lika gärna tolka 11 som 2 d.v.s =1x1 + 2x1 + x1 + 7x1 Positionernas vikt anges som ental, tiotal, hundratal, tusental o.s v. Matematiskt skrivs positionernas vikt som 1 n där n anger positionen.positionen noll () är den längst till höger alltså entalen. 1 = ental 1 1 = tiotal = hundratal o.s.v Binära talsystemet är i princip uppbyggt på likartat sätt. Bi betyder två, och anger att talsystemet har två symboler, nämligen och 1, Hur kan man då ange att ett tal är större än 1? Ja, på samma sätt som i det decimala talsystemet. Tecknens position i talet anger deras vikt. Positionsvikterna bestämmes på likartat sätt som i det decimala talsystemet. Matematiskt beskrivs positionsvikterna som 2 n. 2 = = = = = = = 1x8 + x4 + 1x2 + x1 = 12 1 De små siffrorna till höger om talen (så kallade index) anger vilket talsystem som använts. 2 resp. 1 kallas talsystemens baser. Digitaltekniken liksom datortekniken utnyttjar det binära talsystemet, då de digitala elektriska komponenterna endast entydigt kan tolka två tillstånd. Dessa tillstånd representeras ofta av 1 = till (eller hög nivå) = från (eller låg nivå) eller som i den logiska matematiken 1 = sant (eller ja) = falskt (eller nej)

5 5 LOGISK ALGEBRA (BOOELSK ALGEBRA) I den logiska algebran finns tre grundfunktioner nämligen: NOT (ICKE) AND (OCH) OR (ELLER) Dessa funktioner kan jämföras med den numeriska algebrans + addition - subtraktion x multiplikation o.s.v För att illustrera logisa funktioner användes bl.a sanningstabeller. (Jämför med multiplikationstabellen). Tänk dig följande exempel på sanningstabell: Du ska göra en smörgås och har tillgång till följande pålägg: Gurka: G Smör: S Ost: O Paprika: P Smörgås betecknas med M. För att illustrera hur många olika slags kombinationer av smörgåsar med pålägg som är tänkbara görs därför en tabell. I kolummerna står 1 för ja och för nej G S O P M I M-kolummen visas " sanningen ". Ettorna anger vilka påläggskombinationer som kan accepteras. (Du kan ju givetvis ha en helt annan uppfattning om påläggskombinationer!!)

6 6 NOT-funktionen Sanningstabell: a f 1 1 Tabellen ska läsas så att: om a = (falsk, från) så är f = 1 (sann, till) om a = 1 (sann,till) så är f = (falsk, från) Funktionen kan tecknas f = a (läses: funktionen f lika med NOT a) a kallas variabel och f funktion. Strecket ovanför a är beteckning för NOT-funktionen. AND-funktionen Sanningstabell Funktionen tecknas f a b f = a b Punkten är operatorsymbol för AND-funktionen OR-funktionen Sanningstabell Funktionen tecknas a b f f = a + b + -tecknet är operatorsymbol för OR-funktionen. I de funtioner som visats ovan har endast två variabler använts. Naturligtvis kan man ha ett godtyckligt antal variabler, men för att visa funktionernas egenskaper räcker det med att ta med två. Funktionerna NOT, AND och OR har, liksom en mängd andra digitala funktioner, egna symboler. Symbolen för funktionerna och dess elektriska motsvarighet kallas grind.

7 7 När man konstruerar en elektrisk krets som ska generera den logiska funktion säger man att funktionen realiseras. Grind-symboler NOT-grinden " NOT-ring" a 1 f a är insignal och, f utsignal. AND-grinden a b & f a och b insignaler, f utsignal. OR-grinden a b >1 f

8 8 REALISERING AV GRINDNÄT MED ENCHIPSPROCESSOR. Realisering av en logisk funktion betyder som tidigare nämnts att man konstruerar någonting som förverkligar det man i teorin har funderat ut. Detta kan göras på en mängd olika sätt: pneumatiskt, hydraliskt, mekaniskt, genetiskt, elektriskt för att nämna några exempel. I denna laboration ska vi använda en elektrisk komponent, som är mycket mångsidig. Enchipsprocessorn. Elektriska kretsar som realiserar digitala funktioner finns i en mängd varianter. Olika teknologier vid tillverkningen och deras speciella elektriska egenskaper har fått ge namn åt olika kretsfamiljer. TTL- (Transistor - Transistor - Logik) och HCMOS-komponenter (High Speed Complementary Metal Oxid Semiconduktor) är vanliga alternativ. En stor mängd olika funktioner finns i de så kallade TTL och HCMOS biblioteken. Enchipsprocessorer finns också i ett flertal varianter. De är programmerbara och kan därför användas till en mängd olika digitala funktioner. Den vi valt kallas PIC16F84 och tillverkas av Microchip En sådan kapsel kostar i dag (21) under 5 kr. Innan vi försöker använda den måste vi lära oss några viktiga saker om dess elektriska, fysiska egenskaper samt något om hur man programmerar den. Vi ska inte i detalj fördjupa oss i alla microprocessortermer utan enbart gå igenom de som är nödvändiga för denna kurs i digitalteknik. Först några fysiska (mekaniska) data. Kapseln har 18 ben, 9 på varje sida. Tretton ben används för kommunikation med omvärlden (I/O). Dessa tretton ben är uppdelade på två grupper; Port A med 5 ben och port B med 8 ben. Portarna kan man med enkla programmeringsinstruktioner själv bestämma om de ska vara digitala in- eller utgångar. Mycket praktiskt och användbart!! Fem ben (4, 5, 14, 15 & 16) används för processorns elektriska grundfunktioner. (Se fig. 1) Två ben (3, 6) har dubbla funktioner som både I/O och andra funktioner. En port är en grupp anslutningar som alla kan nås med en enda programinstruktion. Det finns även instruktioner som berör endast ett ben på en port. Portarna har beteckningarna RA och RB: Portarna har något olika elektriska egenskaper som vi ännu inte behöver sätta oss in i. Vi ska i huvudsak använda : PortB till Ingångar och PortA till Utgångar

9 9 För de inledande övningarna ska nedanstående grundkopplingsschema användas RA2 RA3 MCLR PIC16F84 RA1 RA R3 33 R4 33 R5 VCC 5Vdc 5 k C1 33n VCC 5Vdc 5 14 U4 6 RB 13 U3 7 RB RB RB3 1 R7 R7 R7 R6 47K 47K 47K 47K Endast fyra av PortB s anslutningar används inledningsvis. De ska programmeras till ingångar. Med switcharna SW - SW3 ska ingångarna RB-RB3 kunna - eller 1-ställas. Fyra av PortA s ben ska användas till utgångar. Lysdioder ska visa om utgångarna är höga (1-ställda) eller låga. (-ställda) Siffrorna utanför kapselsymbolen är bennummer.

10 1 MICROPROCESSORENHETER Internt i kapseln, på själva processorchipset finns ett flertal olika enheter. Här ska nu ges korta beskrivningar av några: Microprocessorenhet (CPU): Till varje instruktion hör ett microprogram som lagras i CPU. PIC16F84 har 35 olika instruktioner och varje instruktion kan dessutom ha ett antal s.k. adresseringsmoder. CPU innehåller alltså en mängd olika microprogram. Styrenhet (CPU-control): Allt arbete i microprocessorn måste samordnas tidsmässigt. Styrenheten synkroniserar med hjälp av systemklockan det interna arbetet i processorn. Beräkningsenhet (ALU): Register: Sköter numeriska och logiska beräkningar-dessa beräkningar sker alltid så att resultatet lagras i arbetsregistret. Tillfällig plats för lagring av olika data. t.e.x arbetsregistret W som används vid beräkningar, programräknaren PC som ordnar så att instruktionerna kommer i rätt ordning Datariktningsregister (DDR): Innehållet i dessa register styr om en anslutning ska vara in- eller utgång. RAM: Skriv/Läs-minne som används av programmet. Här kan tillfälliga resultat av olika operationer lagras. FLASHROM: Läsminne där programmet lagras. Här kan inte information lagras under programkörningen.

11 11 PROGRAMMERING AV KAPSEL För skrivning av program, (editering av källkod), konvertering av program till operator och binärkod (assemblering), testning av program (simulering) samt själva överföringen av kod till kapseln (programmering), finns en utvecklingsprogramvara som heter MPLAB. Källkoden måste skrivas efter bestämda regler (syntax) En källkodsrad ska se ut så här: LABEL: OPKOD OPERAND1,OPERAND2...;KOMMENTAR LABEL: Label är ett namn som refererar till en speciell rad i källkoden. Första positionen (tecknet) i raden är reserverat för LABEL-namnet. Man kan använda upp till sju tecken på LÄGESnamnet. Om inget lägesnamn ska anges eller namnet är kortare än sju tecken hoppar man ändå till den åttonde teckenpositionen för inskrivning av operatorkoden. Använd TABtangenten. OPKOD OPKOD eller operator är en microprocessorsinstruktion. Den består av tre till fem bokstäver konstruerade som ett slags förkortning för operationen. En sådan förkortning försöker vara ett stöd för minnet om vad instruktionen utför. Därför kallas opkoderna för MNEMONICS. Ett viktigt register som används i princip hela tiden är W, Working register. Det är ett 8 bitar stort lagringsområde där processorn snabbt och enkelt kan manipulera data. Resultatet av de flesta operationer lagras i W, ex vid addition, subtraktion, logiska operationer m.m. Här följer nu exempel på några vanliga instruktioner, med mnemonic och en kort beskrivning av instruktionen.. MOVLW k Move Literal k to W Laddar ett värde till W. Vilket värde som ska hämtas bestämmes av den efterföljande operanden. Exempel. MOVLW xff ;Lagrar värdet xff i W MOVWF f Move W to f Laddar värdet i W till register f Exempel MOVWF PORTA; Laddar det värde som finns i W till port A ANDLW k And literal k with W ANDar ihop värdet I W med k och resultatet hamnar i W Exempel ANDLW x5f ; fore operation: W = xa3 ;efter operation: W = x3 SUBWF f,d Subtract W from f

12 12 Subtraherar register f med värdet i W-registret. Reultatet läggs i W om d= eller i f om d=1 Exempel SUBWF REG1 ; före operation: REG1 = x6 W = X2 ;efter operation: REG1 = x4 W = x2 GOTO k Goto address k Programräknaren PC får det nya värdet k, dvs programmet hoppar till den instruktion som finns vid adressen k och börjar exekvera koden från det stället. K kan vara en adress i hexadecimal form eller en label. Exempel GOTO x ;Programmet startar om från adressen x eller GOTO HITVILLJAG ;Programmet hoppar till det ställe ;där etiketten HITVILLJAG finns ;och börjar exekvera koden från det ;stället. BTFSC f,b Bit test, skip if clear Testar bit b i register f. Om b = 1 Nästa instruktion verkställs b = Nästa instruktion hoppas över Exempel BTFSC STATUS,2 ;Testar bit 2 i STATUS-register BCF PORTA,2 ;Om bit 2, STATUS-registret ;verkställs denna instruktion, ;annars inte. BCF PORTA,3 ;Denna instruktion verkställs alltid BTFSS f,b Bit test, skip if set Testar bit b i register f. Om b = Nästa instruktion verkställs b = 1 Nästa instruktion hoppas över Exempel BTFSS STATUS,2 ;Testar bit 2 i STATUS-register BCF PORTA,2 ;Om bit 2, STATUS-registret ;verkställs denna instruktion, ;annars inte. BCF PORTA,3 ;Denna instruktion verkställs alltid De sex ovan nämnda instruktionerna är några av de vanligaste. Precis som i ett vanligt språk så utgör 1 % av dess ord 9% av språket. Totalt finns 35 olika instruktioner till PIC16F84 processorn. Med ovanstående instruktioner bör Du kunna skriva det mesta av programkoden

13 13 OPERAND Operanden kan vara av flera slag: 1. beskriver var data ska hämtas/lagras: i minnet, en fördefinierad variabel/konstant eller i ett register 2. den data som för tillfället ska hanteras. KOMMENTARER För att göra assemblerprogam enklare att följa och förstå skrivs efter varje rad en kort kommentar. Semikolon (;) inleder alltid en kommentar. Här är nu fem rader som exempel på programkod. START BSF PORTA, ;Ettställer bit på port A CALL wait ;Anropar subfunktion wait BCF PORTA, ;Nollställer bit på port A CALL wait ; Anropar subfunktion wait GOTO START ; Gå tillbaka till instruktionen vid START ;och fortsätt exekvera kod from den ;positionen ASSEMBLERDIREKTIV Förutom de 35 processorinstruktionerna finns ett antal ASSEMBLERDIREKTIV. Dessa direktiv måste finnas för att assemblerprogramvaran ska få viktig information som den behöver när källkoden ska översättas (konverteras) till kod för enchipsprocessorn. Assemblerdirektiven är lika oavsett vilken microprocessor som källkoden skrivs för. Tre viktiga assemblerdirektiv ska nämnas här. ORG Används för att assemblerprogrammet ska ge programkoden en viss adress. Exempel: ORG x1 ;Ger programkoden den ;hexadecimala adressen 1. ORG ska placeras som en instruktion i källkoden EQU Betyder lika med.ger namn åt ett tal, kod eller en adress. Exempel: KONST EQU xc ;hexkoden xc ges namnet KONST. Källkod inleds ofta med en lista där man ger namn åt ofta förekommande koder. Detta underlättar programkonstruktionen och gör källkoden mera lättläst. EQU placeras som instruktion i källkoden. END Anger att källkoden är slut. Placeras som instruktion i källkoden.

14 14 PROGRAMEXEMPEL 1 Nu följer ett exempel där vi med hjälp av enchipsprocessorn ska realisera funktionen hos en TVÅ INGÅNGARS AND-grind. I detta exempel ska varje moment i hela arbetsgången gås igenom. 1. SPECIFICERA UPPGIFTEN Realisera en två-ingångars AND-grind. a b & f 2. RITA ETT FULLSTÄNDIGT KOPPLINGSSCHEMA RA2 RA3 MCLR PIC16F84 RA1 RA R3 33 R4 33 R5 VCC 5Vdc 5 k C1 33n VCC 5Vdc 5 14 U4 6 RB 13 U3 7 RB RB RB3 1 R7 R7 R7 R6 47K 47K 47K 47K I samtliga exempel och övningar kopplas utsignalerna via lysdioder till jord. I ett kopplingsschema behöver endast de anslutningar som används i uppgiften redovisas.

15 15 3. SKRIV KÄLLKOD Här följer ett exempel på hur utvecklingsprogrammet MPLAB används. Följ exemplet punkt för punkt så kommer Du att möta de delar du främst behöver av detta utveckligshjälpmedel. 1. Skapa en katalog där du vill ha dina filer 2. Starta MPLAB. START/PROGRAM/Microchip MPLAB/MPLAB. 3. Välj Options/Development Mode//Tools, stall in MPLAB SIM, PIC16F84 och tryck på Apply och sedan på OK. 4. Välj Project/New Project, bläddra till din katalog, skriv UPPGIFT1.PJT i File Name, tryck OK, OK. 5. Editorn är en ordbehandlare,med speciella egenskaper, som kan accepteras av assemblerprogrammet. Det finns en mängd finesser såsom förgmärkning av reserverade ord och debughjälp. Välj File/New och mata in följande kod i editor fönstret: LIST P=16F84 #INCLUDE P16F84.INC ORG ;Väljer processor ;Inkluderar en fil som innehåller alla vanliga ;registerdefinitioner (EQU). Bl.a. definieras att ;PORTA ligger på adress x5. ;Include-filen kan uteslutas men då måste ;definiera all använda "registernamn" själv eller ;använda den rätta adressen i koden. ;Startar på vid reset BSF STATUS, RP ;Väljer minnesbank 1 CLRF TRISA ;Hela Port A utgång MOVLW xff MOVWF TRISB ;Hela Port B ingång BCF STATUS,RP ;Åter till Bank ;Huvudprogram MAIN MOVLW x3 ;Ladda W med x3 SUBWF PORTB, W ;Subtrahera PORTB med W:s innehåll X3 BTFSC STATUS,2 ;Testa om result eller 1 GOTO ETTST ;Om testet gav 1 => Ettställ PortA, bit BCF PORTA, ;Om testet gav => Nollställ PortA, bit GOTO MAIN ;Kolla en gång till ETTST BSF PORTA, ;Ettställ PortA, bit GOTO MAIN ;Kolla en gång till END

16 16 6. Välj File/Save as, bläddra fram till din katalog (Borde vara där redan), fyll I UPPGIFT1.ASM i rutan File Name, OK. Några kommentarer till källkoden på föregående sida. x betyder att data är skrivet som hexadecimal kod LIST P=16F84 Väljer processor #INCLUDE P16F84.INCInkluderar en fil som innehåller alla vanliga registerdefinitioner (EQU). Bl.a. definieras att PORTA ligger på adress x5. Include-filen kan uteslutas men då måste definiera all använda "registernamn" själv eller använda den rätta adressen i koden. ORG Programkoden programmeras in i kapseln med start på adressen efter ORG dvs x. Det är praktiskt att göra så eftersom resetvektor(något som pekar dit där processorn ska börja köra efter ett uppehåll) pekar på -adressen BSF STATUS, RP Väljer minnesbank 1 där porta s datariktningsregister finns. BCF STATUS,RP Åter till bank där det mesta vi behöver finns ;Huvudprogram MAIN * * ;programkod * GOTO MAIN END Detta skapar en evig slinga som processorn kör i all evinnerlig tid (till vi stänger av den) Måste finnas i slutet i varje källkodsfil. Editera Projektet: Här sätter man parametrar för projektet; Vilken processor, vilka källkodsfiler ska ingå osv 7. Välj Project/Edit Project, tryck på Uppgift1(.hex) I rutan Project Files, klicka på Add Node och markera UPPGIFT1.ASM, OK 8. I Development Mode ska det stå MPLAB-SIM, 16F84, om inte, tryck på Change och ändra det. 9. Tryck OK i Edit Project -fönstret. Assemblera koden Assemblering kallas det steg då vi gör om assemblerkoden till 1:or och :or som datorn kan förstå. Dessutom bestäms var olika delar såsom programkod, funktioner och variabler ska läggas i minnet. 1. Verktygsknappen längst till vänster används för att bläddra mellan olika verktygslådor. Blädra fram simuleringsverktygen (kännetecknas av att näst sista knappen har glasögon).

17 Tryck på Grön tratt som det rinner blått ur (sista knappen) för att assemblera koden. Om allt är bra ska du få en varning som ber dig kontrollera att Banks bits are correct. Om du i Build results -fönstret dubbelklickar på en varning eller felmeddelande så hamnar man i källkoden på den rad som genererade felmeddelandet. Om du fick ett felmeddelande, dubbelklicka på det och korrigera ffelet i källkoden och tryck på trattknappen igen. Simulering Simulering kallas det när man testkör programmet i datorn. 12. Ingångarnas nivåer kan styras med Debug/Simulator stimulus/asyncronous Stimuli. Då får man upp ett fönster med 12 knappar. För att kunna använda en knapp måste man först definiera vad den ska göra genom att högerklicka på den och välja vilken ingång den ska påverka och vad som ska göras med den ingången. Definiera upp två knappar för att sätta RB och RB1 höga, samt två knappar till för att sätta dem låga. 13. Ett tyck på SFR verktyget öppnar ett fönster som visar registren. 14. Ett tryck på reset-verktyget (Bild av kretsen) återställer programmet. 15. Ett tryck på steg-verktyget (två skosulor) utför en instruktion i programmet. I editor-fönstret syns vilken instruktion som står näst i tur att utföras. Stega igenom programmet och studera hur W och portarna ändras vid olika värden på RB och RB1. Observera också hur programpekaren PC pekar på nästa instruktion som ska verktällas. Vi ska använda PC senare så det är viktigt att ni förstår dess funktion. Programmering av krets 16. Anslut programmeraren till en serieport på datorn, samt spänning. 17. Sätt in en 16F84 i hållaren på programmeraren. OBS! Var noga med att placera den rätt och vända den så att pin 1 vid gropen på kreten placeras vid 12 på programmeraren! 18. Välj Picstart plus/enable programmer så söker MPLAB kontakt med programmeraren. 19. Justera följande: 2. Device 16F Oscillator(Vanligen RC) 22. Watchdog timer (vanligen OFF) 23. Power up timer(säkrast med ON) 24. Code Protect (OFF) 25. Tryck på program -knappen 26. Ta loss kapseln, koppla upp och testkör. Inkoppling +5 Volt till Vdd och MCLR (Kolla MCLR i databladet sid 41). Volt till Vss 47 el. 5 kω motstånd mellan Osc1 och Vdd. När man kommit igenom alla stegen en första gång utan att misslyckas med något så känner man sig väldigt nöjd. Diverse misslyckanden i början hör till vanligheterna vid programmering. Utvecklingsprogrammet MPLAB förenklar dock felsökning och ändring av källkoden.

18 18 AND-funktionen som microprocessorinstruktion. Maskning I kopplingsschemat anslöts RB2 RB7 till noll (jord) för att signaler från dessa inte skulle störa signaler från RB och RB1 när vi skulle göra en jämförelse med % 11. (OBS! de binära bitarna grupperas fyra och fyra för att göra binärkoden mera lättläst). Ett annat sätt att sålla bort ointressanta signaler är att maskera dem. Vid denna maskering används den digitala funktionen AND. Antag att W innehåller och man vill nollställa fyra bitar längst till vänster och ha de fyra bitarna längst till höger orörda.. En AND-operation med 1111 kan ordna detta. I ett räkneschema (algoritm) kan det se ut så här: W före ANDLW 1111 ANDLW med W efter ANDLW 11 För varje position utföres AND-operationen. Endast där det finns två ettor i samma position kommer det nya accumulatorinnehållet att bli en etta. Ett praktiskt sätt att nollställa signaler som för tillfället är ointressanta, som fått ett eget namn: Maskning.

19 19 PROGRAMEXEMPEL 2 Nu återstår att pröva ytterligare digitala funktioner. Realisering av OR-funktionen. Sanningstabell a b f Kopplingsschema. (Symbolschema) RA2 RA3 MCLR PIC16F84 RA1 RA R3 33 R4 33 R5 VCC 5Vdc 5 k C1 33n VCC 5Vdc 5 14 U4 6 RB 13 U3 U3 7 8 RB1 RB U3 9 RB3 1 R7 R7 R7 R6 47K 47K 47K 47K

20 2 Här följer nu källkoden för en 2-ing OR-grind. LIST P=16F84 #INCLUDE P16F84.INC ORG ;Väljer processor ;Inkluderar en fil som innehåller alla vanliga ;registerdefinitioner (EQU). Bl.a. definieras att ;PORTA ligger på adress x5. ;Include-filen kan uteslutas men då måste ;definiera all använda "registernamn" själv eller ;använda den rätta adressen i koden. ;Startar på vid reset BSF STATUS, RP ;Väljer minnesbank 1 CLRF TRISA ;Hela Port A utgång MOVLW xff MOVWF TRISB ;Hela Port B ingång BCF STATUS,RP ;Åter till Bank ;Huvudprogram MAIN MOVF PORTB, ;Flytta portb's innehåll till W-registret ANDLW X3 ;Maska fram de två bitarna vi är intresserade av MOVWF XE ;Flytta resultatet till adress xe MOVLW x ;Ladda W med x SUBWF xe, W ;Subtrahera det som tidigare låg på PORTB och nu ;ligger på xe med W:s innehåll x BTFSS STATUS,2 ;Testa om result eller 1 GOTO ETTST ;Om testet gav 1 => Ettställ PortA, bit BCF PORTA, ;Om testet gav => Nollställ PortA, bit GOTO MAIN ;Kolla en gång till ETTST BSF PORTA, ;Ettställ PortA, bit GOTO MAIN ;Kolla en gång till END Pröva gärna att ettställa övriga ingångar på RB. Funktionen ska inte påverkas då vi maskat bort dessa bitar

21 21 Laborationsuppgifter 1. 2-ing NAND (Not AND) Sanningstabell a b f Kopplingsschema a b & f Komplettera kopplingsschemat med bennummer och genomför samtliga led fram till testning av funktionen ing NAND Sanningstabell a b c f Kopplingsschema a b c & f Komplettera kopplingsschema, skriv källkod och simulera.

22 ing NOR-grind Sanningstabell a b f Kopplingsschema Komplettera kopplingsschema. Skriv källkod och simulera ing NOR-grind Sanningstabell a b c f Kopplingsschema. a b c > 1 f Välj lämpliga ben för anslutning av signalerna a,b,c och f. Komplettera kopplingsschemat, skriv källkod och simulera..

23 23 Kombinatoriska kretsar. (Kombinatorik) Digitala system är ofta sådana att funktionen inte kan beskrivas med enkla AND,NAND, OR, NOR-grindar, utan man måste kombinera ett flertal grindar. En del av dessa enkla, vanligt förekommande, digitala system har fått egna namn och symboler. EXOR oxh EXNOR är sådana digitala funktioner. EXOR. Sanningstabell a b f Symbol a b =1 f Det boolska funktionsuttrycket blir f = ab + ab "Ettorna" i tabellens funktionsuttryck plockas ut och bildar en summa av produkter. Första tillfället där f=1 ser vi att a= och b=1. Detta skrivs som ab. EXOR-grinden är så vanlig att den har fått en egen operatorsymbol. f = ab + ab skrivs som f = a b är en icke Booelsk operator., det vill säga de logiska lagarna gäller i allmännhet inte för EXOR-funktionen.

24 24 EXNOR EXNOR (XNOR) är den inverterande EXOR (XOR)-funktionen Sanningstabell Symbol a b f a b =1 f Realisering av EXOR Kopplingsschema RA2 RA3 MCLR PIC16F84 RA1 RA R3 33 R4 33 R5 VCC 5Vdc 5 k C1 33n VCC 5Vdc 5 14 U4 6 RB 13 U3 U3 7 8 RB1 RB U3 9 RB3 1 R7 R7 R7 R6 47K 47K 47K 47K

25 25 Källkod LIST P=16F84 #INCLUDE P16F84.INC ORG ;Väljer processor ;Startar på vid reset BSF STATUS, RP ;Väljer minnesbank 1 CLRF TRISA ;Hela Port A utgång MOVLW x1f MOVWF TRISB ;Hela Port B ingång BCF STATUS,RP ;Åter till Bank ;Huvudprogram MAIN MOVLW x1 ;Ladda W med x1 SUBWF PORTB, W ;Subtrahera PORTB med W:s innehåll X1 BTFSC STATUS,2 ;Testa om result eller 1 GOTO ETTST ;Om testet gav 1 => Ettställ PortA, bit MOVLW x2 ;Ladda W med x2 (1) SUBWF PORTB, W ;Subtrahera PORTB med W:s innehåll X1 BTFSC STATUS,2 ;Testa om result eller 1 GOTO ETTST ;Om testet gav 1 => Ettställ PortA, bit BCF PORTA, ;Om testet gav => Nollställ PortA, bit GOTO MAIN ;Kolla en gång till ETTST BSF PORTA, ;Ettställ PortA, bit GOTO MAIN ;Kolla en gång till END Källkodsbeskrivning Här jämför vi med de insignalskombinationer som ska ge en etta ut. När vi jämfört med alla signaler som ska ge ett ut och inte hittar någon kombination som medför uthopp till SET så ska PB nollställas. OBS!! I koden finns ingen maskning av insignalerna. Infoga själv maskning i källkoden ovan 5. Realisera en digital funktion med nedanstående sanningstabell. Rita fullständigt kopplingsschema, skriv källkod och simulera. a b c f

26 26 Utsignalen kopplas via en lysdiod till jord. 6. En digital funktion beskrivs med booelsk algebra på följande sätt f = abc + ab c + ab c Realisera med PIC16F84. Rita kopplingsschema, skriv källkod, simulera och koppla upp. 7. En digital krets har 5 st insignaler och en utsignal. Dess logiska funktion ska vara sådan att om exakt tre av insignalerna är höga ska utsignalen bli hög. Beskriv med sanningstabell, rita kopplingsschema, skriv källkod, simulera och koppla upp.

27 27 Ytterligare instruktioner för att underlätta källkodsskrivning. SUBRUTIN Vad menas med SUBRUTIN? Väldigt ofta behöver man samma programrutin vid flera tillfällen. Vid assemblerprogrammering finns, liksom i övrig programmering, möjlighet att anropa programrutiner genom att använda särskilda hopp -instruktioner. De instruktioner som används är: CALL k ;JUMP TO SUBROUTINE k Då görs ett uthopp i programmet till det ställe som anges efter CALL. Exempel CALL RUTIN1 Subrutinen måste då ges namnet RUTIN1 och skall avslutas med RETURN RETURN ;RETURN FROM SUBROUTINE Denna instruktion medför ett återhopp till instruktionen efter uthoppsinstruktionen. Exempel RUTIN1 MOVWF PORTA ;Lägg ut utsignalen på port A RETURN Man kan anropa subrutiner i subrutiner i subrutiner -Detta kallas nästlade subrutinanrop I många processorer är det tillgängligt minne som begränsar antalet nästlade subrutinanrop. I PIC16F84 är det dock begränsat till åtta nästlade anrop. Ett exempel på nästlade anrop i två nivåer: 1 2 RUTIN1 PROGRAMKOD * CALL RUTIN1 * 4 PROGRAMKOD * * CALL RUTIN2 * RETURN 3 RUTIN2 PROGRAMKOD * * RETURN Observera att CALL inte kan ersättas av GOTO. Vid instruktionen CALL lagras nämligen återhoppsadressen i ett register, så att programmet kan hitta tillbaka vid RETURN. Vid GOTO lagras ingen återhoppsadress, så programmet kan inte hitta tillbaka.

28 28 GOTO används bara när man vill flytta till ett annat ställe i koden och fortsätta exekvera koden på det nya stället som om inget har hänt. SÖKA VÄRDEN I EN TABELL MED HJÄLP AV INDEX Ett vanligt sätt att hitta värden för en funktion är att samla dem i en tabell. När man vill hämta värden ur en sådan tabell till W-registret kallas det för att man laddar W-registret indexerat. Att söka värden i en i förväg upprättad tabell med data, är mycket vanligt rutin för en microprocessor. I många processorer finns ett speciellt register, indexregistret, som används för hitta rätt värde i den tabell man upprättat. Hos PIC16F84 finns dock inget sådant register så man måste hitta ett annat sätt att lösa det hela. Vi använder ett indirekt sätt att indexera genom att påverka programpekaren PC. Vi använder den ngt speciella instruktionen RETLW k ;Return with Literal k in W som används så här: CALL TABLE ;W contains table offset value ;W now has table value TABLE ADDWF PC ;W = offset RETLW k1 ;Begin table RETLW k2 ; RETLW k3 ; RETLW k4 ; RETLW kn ; End of table 1. Vi anropar TABLE någonstans I vårt huvudprogram med ett bestämt värde i i W-registret. Det är detta värde som vi senare ska använda som index i vår sökning i tabellen 2. Det första vi gör i TABLE är att vi adderar vårt index som finns i W-registret med programpekarens innehåll och lägger innehållet i PC. Hade vi tex siffran i=3 kommer pprogrampekaren nu att peka på RETLW k3 som kommer att återvända till huvudprogrammet med k3 s värde i W-registret Följande källkodsexempel som läser in ett tal på port B och lägger ut så många ett:or på port A visar på användningen av en tabell 1. läser av port B. 2. Anropar kodavsnittet vid TABLE 3. Återvänder från TABLE med värdet på den plats i tabellen som motsvarar värdet på port B i W-registret. 4. Skriver ut värdet på port A MAINTAB MOVF PORTB, ;1 CALL TABLE ;2 MOVWF PORTA ;4 GOTO MAINTAB TABLE ADDWF PCL ;W = offset RETLW x ;Begin table RETLW x1 ; RETLW x1 ; RETLW x2 ; RETLW x1 ; ;3

29 29 RETLW x2 ; RETLW x2 ; RETLW x3 ; END Här kan vi nu riktigt se den uppenbara fördelen med att använda enchipsprocessorn för att realisera digitala funktioner. Vi behöver endast en krets. Även om funktionen är mycket komplicerad klarar vi oss med en enda kapsel, nämligen enchipsdatorn. 8. Realisera nedanstående sanningstabell med hjälp av tabell c b a f4 f3 f2 f1 hexkod? 1 1 x a-c är insignaler, f4-f1 utsignaler. Tips: Skriv programmet så att bitarna f4-f1 behandlas som en enda 8-bitars port. Som ett förberedande led kan därför kolumnen hexkod fyllas i. Rita Komplett kopplingsschemat och skriv tabellen. Skriv källkod och simulera. 9. Realisera en fyra-bitars kodomvandlare BIN - GRAY. Rita ett fullständigt kopplingsschema, skriv källkod och simulera. BINÄR GRAY B3 B2 B1 B G3 G2 G1 G

30 Realisera den digitala funktionen i uppgift 5 med tekniken att använda tabell i källkoden. 11. Kodlås Realisera sista uppgiften i laboration D161 med en PIC16F84. Observera att du kanske måste växla och omdefiniera riktningarna på portarna.

31 31 SEKVENSKRETSAR En ofta förekommande digital konstruktion kallas för SEKVENSKRETS. De funktioner som vi hitintills lärt oss att realisera har också ett gemensamt namn nämligen KOMBINATORISKA. För dessa två grupper av digitala funktioner gäller följande definitioner: KOMBINATORISK KRETS : Utsignalerna bestämmes enbart av insignalernas värden SEKVENSKRETS : Utsignalerna bestämmes av insignalerna och kretsens tidigare tillstånd. De två typerna av funktioner kan illustreras med nedanstående bilder: KOMBINATORISK KRETS SEKVENSKRETS i1 i2 insignaler TORISK u1 u2 utsignaler In KOMBINA- Kombinatorisk Ut in KRETS un krets Minne för tidigare tillstånd

32 32 Tillståndsdiagram. (Automat, State Machine) För att illustrera och beskriva en sekvenskrets funktion används tillståndsdiagram. PROGRAMEXEMPEL 3 tillstånd med tillståndsbeteckning (tillstånds-) övergång S S1 S3 S2 Denna sekvenskrets har fyra tillstånd, S, S1, S2, S3. Tillståndsdiagrammet visar hur en övergång från ett tillstånd till ett annat kan ske. I detta exemp el finns inga egentliga insignaler eller utsignaler. En fullständigt meningslös funktion. Genom att komplettera diagrammet något kan en mera meningsfull sekvenskretsfunktion åstadkommas. S/Z S1/Z1 S3/Z3 S2/Z2 Z, Z1, Z2, Z3 anger vilka utsignaler som ska genereras av de olika tillstånden. Denna typ av tillståndsdiagram där utsignalerna är knutna till tillstånden kallas för en MOORE-automat.

33 33 Varje utsignalvariabel svarar mot en utsignalkod: Utsignal Kod Z 1 1 Z1 1 1 Z2 1 1 Z3 1 1 I detta exempel är ordningen på tillstånden given. Z, Z1, Z2, Z3,Z, Z1,Z2, o s v. Inga insignaler kan påverka ordningen Här följer kopplingsschema samt förslag på källkod. Observera att denna tillståndsmaskin inte klockas på vanligt sätt med en klockingång. Tillståndsmaskinen går själv mellan tillstånden med intervall som bestäms av en tidsfördröjningsrutin (WAIT). Tidsfördröjningen kan ändras genom att ändra några värden i WAITrutinen. Kopplingsschema RA2 RA3 PIC16F84 RA1 RA R3 33 R4 33 R5 VCC 5Vdc 5 k C1 4 MCLR 15 33n VCC 5Vdc RB 13 7 RB RB RB3 1 Utsignalerna på port A kopplas till lysdioder för att indikera utsignaler.

34 34 Källkod. LIST P=16F84 #INCLUDE P16F84.INC ;Väljer processor ;Inkluderar en fil som innehåller alla vanliga ;registerdefinitioner (EQU). Bl.a. definieras att ;PORTA ligger på adress x5. ;Include-filen kan uteslutas men då måste ;definiera all använda "registernamn" själv ;eller använda den rätta adressen i koden. VAR1 EQU xc VAR2 EQU xd VAR3 EQU xe TILLST EQU x3c ;Variabel för nuv. tillstånd att läggas ORG ;Startar på vid reset BSF STATUS, RP ;Väljer minnesbank 1 CLRF TRISA ;Hela Port A utgång MOVLW x1f MOVWF TRISB ;Hela Port B ingång BCF STATUS,RP ;Åter till Bank ;Huvudprogram MAIN S CALL WAIT ;Anropar subrutin WAIT CLRF TILLST ;Clearar variabeln TILLST som representerar tillståndet MOVF TILLST, ;Flyttar tillståndets värde till W-reg. CALL UT ;Anropar UT med nuv. tillståndet i W S1 CALL WAIT INCF TILLST ;Går till nästa tillstånd MOVF TILLST, CALL UT S2 CALL WAIT INCF TILLST MOVF TILLST, CALL UT S3 CALL WAIT INCF TILLST MOVF TILLST, CALL UT GOTO MAIN ; *** SUBRUTIN WAIT *** WAIT MOVLW X1 ;Ändra Literal för att få egna värden på fördröjningen MOVWF VAR3 ;Lagra W i VAR3 LOOP3 MOVLW x77 ;Ändra Literal för att få egna värden på fördröjningen MOVWF VAR2 ;Lagra W i VAR2 LOOP2 MOVLW xaa ;Ändra Literal för att få egna värden på fördröjningen MOVWF VAR1 ;Lagra W i VAR LOOP1 DECFSZ VAR1,1 ;Räkna ner VAR1 med ett till VAR1 =, då går vidare GOTO LOOP1 DECFSZ VAR2,1 ;Räkna ner VAR2 med ett till VAR2 =, då går vidare GOTO LOOP2 DECFSZ VAR3,1 ;Räkna ner VAR3 med ett till VAR3 =, då går vidare GOTO LOOP3

35 35 RETURN ; ; HÄR FÖLJER NU DEN SUBRUTIN SOM GER UTSIGNALER ; FÖR VARJE TILLSTÅND. UT CALL TABLE ;Se tidigare exempel MOVWF PORTA ;Lägg ut utsignalen på port A RETURN TABLE ADDWF PCL RETLW x3 RETLW x6 RETLW xc RETLW x9 ;Ger utsignalerna; 11, 11, 11 el 11 beroende på ;nuv. tillstånd. END Källkoden ovan behöver några förklaringar. Inledningen är som tidigare i huvudsak en standardstart. Några nya definitioner av namn har tillkommit: VAR1 EQU xc VAR2 EQU xd VAR3 EQU xe TILLST EQU x3c är minnesceller i den så kallade LÄS/SKRIV -delen av minnet Vi definierar en position(adress) i minnet som vi kan skriva till och läsa från. Perfekt om vi vill lagra undan värden i variabler och sedan kunna ändra när vi vill. Sedan ger vi alla dessa adresser en etikett så vi lätt kan hitta dessa. Ger lättare programmering. TILLST är en variabel som används i huvudprogrammet och VAR1, VAR2 och VAR3 används i en subrutin som kallas WAIT. Efter VAR1 EQU xc Hänvisar vi till adressen xc varje gång vi använder VAR1 Ex.vis är: MOVWF VAR3 och MOVWF xe exakt samma instruktion i vårt program (Flyttar värdet som finns i adressen xe till W-registret). Subrutinen WAIT Många av microprocessorns instruktioner har en exekveringstid på cirka 1 µs, det vill säga den tid det tar att utföra en instruktion. Med denna hastighet hinner vi aldrig med att se vad som händer med våra utsignaler. Frödröjningsrutiner skapas därför ofta med den enda funktionen att fördröja exekveringen. En eller flera minnesceller laddas med tal, för att sedan i så kallade nästlade loopar räknas ned till noll. Studera gärna mera i detalj hur WAIT-rutinen är konstruerad. Denna programrutin är en standardkonstruktion. OBSERVERA! Under utveckling och simulering av källkoden laddas minnescellerna med små tal, ofta ett (1). I annat fall blir simuleringstiden onödigt lång. Programkod simuleras nämligen inte lika snabbt som den exekveras i den riktiga microprocessorn. Huvudprogrammet är konstruerat så att i varje tillstånd anropas subrutiner för de uppgifter som ska utföras. Subrutinen UT kan i en tabell hämta värde på utsignal.

36 Laborationsuppgift. Ändra i exempelprogram 3 så att WAIT-subrutinen byts ut mot en CLOCK-subrutin, som läser av en ingång, RB. Varje gång en ny puls kommer på ingången ska tillståndsmaskinen gå vidare till nästa tillstånd. 13. Laborationsuppgift. Tillståndsdiagrammet nedan ska illustrera en hiss i en byggnad med fyra våningar. Utsignalerna (Z) beror enbart av det tillstånd (S) man befinner sig. Insignalerna (I) anger till vilken våning hissen ska. Rita kopplingsschema, skriv källkod och simulera.. I3 S3/Z3 I3 I2,I1,I S2/Z2 I2 I2,I3 I1,I S1/Z1 I1 I1,I2,I3 I S/Z I

37 Laborationsuppgift Realisera sista uppgiften i laboration D162 med en PIC16F Laborationsuppgift Denna uppgift är en variant på uppgift 13. Här ska ytterligare två utsignaler genereras. Den ena har beteckningen UPP och den andra NER. UPP ska genera 4 pulser med frekvensen 5 Hz på PB7 samt en hög nivå på PB6. NER ska generera samma pulsskur på PB7 men en låg nivå på PB6. Rita kopplingsschema, skriv källkod, simulera och koppla upp. I denna laboration kan en stegmotor och en stegmotor-drivkrets användas för att realisera en mera verklighetstorgen hissanordning. I3/Z3 S3/Z3 I3/UPP I2,I1,I/NER S2/Z2 I2/Z2 I2,I3/UPP I1,I/NER S1/Z1 I1/Z1 I1,12,13/UPP I/NER S/Z I/Z Redovisning skriftligt och praktiskt enligt examinationskraven för aktuell kurs. Normalt ska skriftlig redovisning innehålla: förarbete (nåt slags resonemang om avvägningar och beräkningar som ligger till grund för den lösning man väljer) inkl. kodning av in- och utsignaler Assembler-kod Simuleringsresultat med ett urval intressanta sekvenser (bl.a. komplett uppräkning och komplett nedräkning) och praktisk redovisning bestå av att visa upp en fungerande koppling för labhandledare.

38 38 I slutänden är det examinationsvillkoren för aktuell kurs som har sista avgörandet. För elektro HT21 redovisas uppgifterna 8 & 11 skriftligt och genom visad uppkoppling.

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84 UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg Håkan Joëlson 2007-11-22 v 2.3 DIGITALTEKNIK Laboration D164 Logiska funktioner med mikroprocessor Kombinatoriska funktioner

Läs mer

Programexempel 1 AND-funktionen

Programexempel 1 AND-funktionen Utdrag ur "Logiska funktioner med mikroprocessor" s.10 ff. Reviderat 121105 Håkan Joëlson... Programexempel 1 AND-funktionen Uppgift: Realisera en 2-ingångars AND-grind med PIC16F84A. I detta exempel ska

Läs mer

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010 STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB

Läs mer

Övningsuppgifter i Mikrodatorteknik för U2

Övningsuppgifter i Mikrodatorteknik för U2 i Mikrodatorteknik för U2 Skriv instruktioner som utför följande operationer (angivna tal antas givna i hexadecimal form om inget annat anges): 1. (0x20) + 25 (0x30) 2. (0x22) - (0x31) (0x25) 3. (w) +

Läs mer

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar

Läs mer

mikroprocessorer Elektronik DIGITALTEKNIK Logiska funktioner med

mikroprocessorer Elektronik DIGITALTEKNIK Logiska funktioner med UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg Björne Lindberg Håkan Joëlson --6 v. Elektronik DIGITALTEKNIK Logiska funktioner med mikroprocessorer Introduktion till utvecklingsprogamvaran

Läs mer

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar skall inlämnas.

Läs mer

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2003-09-15 v 2.1 DIGITALTEKNIK Laboration D163 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner

Läs mer

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS. 2008-01-24 v 2.1

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS. 2008-01-24 v 2.1 UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Christer Ardlin/Lars Wållberg/ Dan Weinehall/Håkan Joëlson 2008-01-24 v 2.1 ELEKTRONIK Digitalteknik Laboration D181 Kombinatoriska kretsar,

Läs mer

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg/Håkan Joëlson John Berge 2013 DIGITALTEKNIK I Laboration DE1 Kombinatoriska nät och kretsar Namn... Personnummer... Epost-adress...

Läs mer

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson, John Berge 203 DIGITALTEKNIK I Laboration DE2 Sekvensnät och sekvenskretsar Namn... Personnummer... Epost-adress... Datum för

Läs mer

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs: UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Håkan Joëlson 2001-03-01 v 1.5 ELEKTRONIK Digitalteknik Laboration D159 Sekvensnät beskrivna med VHDL och realiserade med PLD

Läs mer

DIGITALTEKNIK. Laboration D172

DIGITALTEKNIK. Laboration D172 UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2006-02-24 v 1.2 DIGITALTEKNIK Laboration D172 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner

Läs mer

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I Flervalsfrågor. A 2. C 3. B 4. D 5. A 6. B 7. C 8. D 9. C 0. B. B 2. C 3. A 4. C 5. A Problemuppgifter. Uttryckt i decimal form: A=28+32+8

Läs mer

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ 'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ / VQLQJDURFKNRPPHQWDUHU Program: Elektroteknik, mikrodatorsystem Datum: 99-11-02 Tid: 8:00-9:30 Lokal E448 Hjälpmedel: Bilagor: Examinator: Miniräknare, linjal Datablad för

Läs mer

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs: UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Christer Ardlin/Lars Wållberg/ Håkan Joëlson 2000-01-28 v 2.3 ELEKTRONIK Digitalteknik Laboration D151 Kombinatoriska kretsar, HCMOS Namn:

Läs mer

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik jörne Lindberg/Håkan Joëlson 2003-09-15 v 2.2 DIGITALTEKNIK Laboration D161 Kombinatoriska kretsar och nät Innehåll Uppgift 1...Grundläggande

Läs mer

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Dan Weinehall/ Håkan Joëlson 2010-05-06 v 1.7 ELEKTRONIK Digitalteknik Laboration D184 Sekvensnät beskrivna med VHDL och realiserade

Läs mer

Introduktion till syntesverktyget Altera Max+PlusII

Introduktion till syntesverktyget Altera Max+PlusII Lunds Universitet LTH Ingenjörshögskolan Ida, IEA Helsingborg Laboration nr 5 i digitala system, ht-12 Introduktion till syntesverktyget Altera Max+PlusII Beskrivning i VHDL och realisering av några enkla

Läs mer

CE_O3. Nios II. Inför lab nios2time

CE_O3. Nios II. Inför lab nios2time IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",

Läs mer

Laboration 3 i Digital- och Mikrodatorteknik. Utvecklingssystemet MPLAB IDE Grundläggande assemblerprogrammering för PIC

Laboration 3 i Digital- och Mikrodatorteknik. Utvecklingssystemet MPLAB IDE Grundläggande assemblerprogrammering för PIC Laboration 3 i Utvecklingssystemet MPLAB Grundläggande assemblerprogrammering för PIC Målet med laborationen är att få begrepp om Assemblerprogrammering med MPLAB Grundläggande assembler Enkel inmatning

Läs mer

Laboration 2 i Datorteknik- Assemblerprogrammering II

Laboration 2 i Datorteknik- Assemblerprogrammering II Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner

Läs mer

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC) Realtidsprogrammering En introduktion Implementering (med exempel från PIC) Utan timing Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast

Läs mer

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18 F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot

Läs mer

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog

Läs mer

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar Digitalteknik EIT020 Lecture 15: Design av digitala kretsar November 3, 2014 Digitalteknikens kopplingar mot andra områden Mjukvara Hårdvara Datorteknik Kretskonstruktion Digitalteknik Elektronik Figure:,

Läs mer

Laboration nr2 med enchipsdatorn PIC-16F877

Laboration nr2 med enchipsdatorn PIC-16F877 Laboration nr2 med enchipsdatorn PIC-16F877 Inledning Målet med laborationen är främst att bli bekant med skift-, villkorliga- och ovillkorligaoperationer samt hur man strukturerar enklare flödesscheman.

Läs mer

Föreläsningsanteckningar till Konstruktionsmetoder 981027

Föreläsningsanteckningar till Konstruktionsmetoder 981027 Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink,

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2011-08-26 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna hjälpmedel

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

Repetition och sammanfattning av syntes och analys av sekvensnät

Repetition och sammanfattning av syntes och analys av sekvensnät Repetition och sammanfattning av syntes och analys av sekvensnät Sekvensnät = ihopkoppling av sekvenskretsar Består i praktiken av - minnesdel (sekvenskretsar) - kombinatorisk del. Sekvenskretsar = kretsar

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 5 27-2-2 8.5 2. Naxos Demonstration av uartus programvara. Genomgång av uartus flödesschema. Detta dokument finns på kurshemsidan. http://www.idt.mdh.se/kurser/cl9/ VHDL-kod

Läs mer

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.

Läs mer

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data

Läs mer

T1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

T1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH T1-modulen Lektionerna 10-12 Radioamatörkurs OH6AG - 2011 Bearbetning och översättning: Thomas Anderssén, OH6NT Original: Heikki Lahtivirta, OH2LH 1 Logikkretsar Logikkretsarna är digitala mikrokretsar.

Läs mer

Laboration i digitalteknik Introduktion till digitalteknik

Laboration i digitalteknik Introduktion till digitalteknik Linköpings universitet Institutionen för systemteknik Laborationer i digitalteknik Datorteknik 6 Laboration i digitalteknik Introduktion till digitalteknik TSEA Digitalteknik D TSEA5 Digitalteknik Y TDDC75

Läs mer

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-08-31 Laborant(er): 1 Syfte Laborationen ska ge studenten möjlighet att genom assemblerinlägg

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-06-01 Skrivtid 9.00-14.00 (5 timmar) Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Digitala system EDI610 Elektro- och informationsteknik

Digitala system EDI610 Elektro- och informationsteknik Digitala system EDI610 Elektro- och informationsteknik Digitala System EDI610 Aktiv under hela första året, höst- och vår-termin Poäng 15.0 Godkännande; U,3,4,5 Under hösten i huvudsak Digitalteknik Under

Läs mer

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok. Namn: Laborationen godkänd: Laboration 3. Pipeline Laborationens syfte I laborationen ska du bekanta dig med pipelining. Genom laborationen fås kunskap om hur pipelines är konstruerade och hur de används.

Läs mer

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl Tentamen TSEA22 Digitalteknik 5 juni, 2015, kl. 08.00-12.00 Tillåtna hjälpmedel: Inga. Ansvarig lärare: Mattias Krysander Visning av skrivningen sker mellan 10.00-10.30 den 22 juni på Datorteknik. Totalt

Läs mer

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ CT3760 Mikrodatorteknik Föreläsning 1 Torsdag 2005-08-25 Upprop. Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ Kurslitteratur är Per Foyer Mikroprocessorteknik. Finns på bokhandeln.

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 3 27--29 8.5 2. My Talsystem Binära tal har basen 2 Exempel Det decimala talet 9 motsvarar 2 Den första ettan är MSB, Most Significant Bit, den andra ettan är LSB Least

Läs mer

Simulering med ModelSim En kort introduktion

Simulering med ModelSim En kort introduktion Linköpings universitet Institutionen för systemteknik Laborationer i digitalteknik Datorteknik 2017 Simulering med ModelSim En kort introduktion TSEA22 Digitalteknik D Linköpings universitet SE-581 83

Läs mer

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 04-01-09 Tid: 08:00-13:00 Lokal: E103 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas

Läs mer

LEU240 Mikrodatorsystem

LEU240 Mikrodatorsystem Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program

Läs mer

IE1204/IE1205 Digital Design

IE1204/IE1205 Digital Design TENTAMEN IE1204/IE1205 Digital Design 2012-12-13, 09.00-13.00 Inga hjälpmedel är tillåtna! Hjälpmedel Tentamen består av tre delar med sammanlagd tolv uppgifter, och totalt 30 poäng. Del A1 (Analys) innehåller

Läs mer

Tentamen i Digitalteknik 5p

Tentamen i Digitalteknik 5p Dan Weinehall Håkan Joëlson 007-0-09 ELEA5 Tentamen i Digitalteknik 5p Datum: 007-0-09 Tid: 09:00-5:00 Sal: Hjälpmedel: VHDL-kompendierna: Grunderna i VHDL, Strukturell VHDL och testbädd Labinstruktioner

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-08-27 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

Läs mer

2-14 Binära talsystemet-fördjupning Namn:

2-14 Binära talsystemet-fördjupning Namn: 2-14 Binära talsystemet-fördjupning Namn: Inledning I detta kapitel skall du få lära dig lite mer om det talsystem som datorerna arbetar med. Du skall lära dig att omvandla decimala tal till binära samt

Läs mer

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik Digitalteknik 3p, vt 01 Struktur: Elektroteknik A Kurslitteratur: "A First Course in Digital Systems Design - An Integrated Approach" Antal föreläsningar: 11 (2h) Antal laborationer: 4 (4h) Examinationsform:

Läs mer

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00. Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång

Läs mer

Laborationshandledning för mätteknik

Laborationshandledning för mätteknik Laborationshandledning för mätteknik - digitalteknik och konstruktion TNE094 LABORATION 2 Laborant: E-post: Kommentarer från lärare: Institutionen för Teknik och Naturvetenskap Campus Norrköping, augusti

Läs mer

Grundläggande Datorteknik Digital- och datorteknik

Grundläggande Datorteknik Digital- och datorteknik Grundläggande Datorteknik Digital- och datorteknik Kursens mål: Fatta hur en dator är uppbggd (HDW) Fatta hur du du programmerar den (SW) Fatta hur HDW o SW samverkar Digital teknik Dator teknik Grundläggande

Läs mer

Flödesschema som visar hur man använder Quartus II.

Flödesschema som visar hur man använder Quartus II. Flödesschema som visar hur man använder Quartus II. För att det skall bli lite enklare använder jag följande exempel: ut1

Läs mer

AVR 5. Styrning av trafikljus. Digitala system 15 p

AVR 5. Styrning av trafikljus. Digitala system 15 p Namn: Laborationen godkänd: Digitala system 15 p AVR 5 LTH Ingenjörshögskolan vid Campus Helsingborg Styrning av trafikljus. Syftet med laborationen är att styra en trafikkorsning med hjälp av en mikroprocessor.

Läs mer

Tentamen i Digital Design

Tentamen i Digital Design Kungliga Tekniska Högskolan Tentamen i Digital Design Kursnummer : Kursansvarig: 2B56 :e fo ingenjör Lars Hellberg tel 79 7795 Datum: 27-5-25 Tid: Kl 4. - 9. Tentamen rättad 27-6-5 Klagotiden utgår: 27-6-29

Läs mer

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Talsystem Teori. Vad är talsystem? Av Johan Johansson Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program

Läs mer

Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen)

Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen) MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga

Läs mer

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning... UMEÅ UNIVERSITET Tillämpad fysik och elektronik 2014 John Berge et al. DIGITAL ELEKTRONIK Laboration DE3 VHDL 1 Namn... Personnummer... Epost-adress... Datum för inlämning... Introduktion Syftet med denna

Läs mer

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1 Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1 Från Wikipedia: Sekvensnät Ett sekvensnäts utgångsvärde beror inte bara på indata, utan även i vilken ordning datan kommer (dess sekvens).

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Allmän information Exaator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204) Tentamensuppgifterna behöver

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL0090 Föreläsning 2 2007-0-25 08.5 2.00 Naos De logiska unktionerna implementeras i grindar. Här visas de vanligaste. Svenska IEC standard SS IEC 87-2 Amerikanska ANSI/IEEE Std.9.984

Läs mer

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn.

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn. Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg Laboration nr 4 i digitala system ht-15 Ett sekvensnät.. grupp.. namn. godkänd Laborationens syfte: att ge grundläggande kunskaper i att

Läs mer

Introduktion till digitalteknik

Introduktion till digitalteknik Inledning Introduktion till digitalteknik Stefan Gustavson 997, lätt uppdaterat 2004-09-06 Digitalteknik är grunden till alla moderna datorer. I datorernas barndom förekom visserligen så kallade analogimaskiner,

Läs mer

Styrenheten styrsignalsekvenser programflödeskontroll

Styrenheten styrsignalsekvenser programflödeskontroll Styrenheten styrsignalsekvenser programflödeskontroll Kontroll av programflöde Instruktionerna är ordnade sekventiellt i minnet och utförs normalt i denna ordning. Vissa programkonstruktioner kräver dock

Läs mer

Lathund. C för inbyggda system

Lathund. C för inbyggda system Lathund C för inbyggda system Revision 1 2000-09-21 Anders Arvidsson Jonny Martinsson Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 MPLAB...4

Läs mer

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen

Läs mer

Introduktion till logik

Introduktion till logik Introduktion till logik Av Johan Johansson Johan.johansson@guldstadsgymnasiet.se Logik sägs som många andra saker komma från de grekiska filosoferna, och ordet kommer också därifrån. Grekerna kallade det

Läs mer

Följddiagram för händelsestyrda rörelser

Följddiagram för händelsestyrda rörelser Följddiagram för händelsestyrda rörelser 2 STYROBJEKT UNIKA FASER Två arbetscylindrar ska röra sig i följande ordning. När man ger startkommando ska kolvstången i cylinder gå ut. När den har nått sitt

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Tentamensfrågor med lösningsförslag Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista

Läs mer

DIGITALA TAL OCH BOOLESK ALGEBRA

DIGITALA TAL OCH BOOLESK ALGEBRA DIGITALA TAL OCH BOOLESK ALGEBRA Innehåll Talsystem och koder Aritmetik för inära tal Grundläggande logiska operationer Logiska grindar Definitioner i Boolesk algera Räknelagar BINÄRA TALSYSTEMET Binärt

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2018-01-09 8.00-13.00 (förlängd 14.00) Uppgifterna i tentamen

Läs mer

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I. Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.. Uttryckt i decimal form: A=28+32+8 + 2 =70 B=59 C=7 A+B+C=246 2. Jag låter A' betyda "icke A" A'B'C'D'+ABC'D'+A'BCD'+AB'CD'=D'(A'(B'C'+BC)+A(BC'+B'C))=

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11 A basic -bit Select between various operations: OR, AND, XOR, and addition Full Adder Multiplexer Digitalteknik och Datorarkitektur hp Föreläsning : introduktion till MIPS-assembler - april 8 karlmarklund@ituuse

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar Moment 2 - Digital elektronik Föreläsning 1 Binära tal och logiska grindar Jan Thim 1 F1: Binära tal och logiska grindar Innehåll: Introduktion Talsystem och koder Räkna binärt Logiska grindar Boolesk

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad

Läs mer

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren

Läs mer

Tentamen i IE1204/5 Digital Design måndagen den 15/

Tentamen i IE1204/5 Digital Design måndagen den 15/ Tentamen i IE1204/5 Digital Design måndagen den 15/10 2012 9.00-13.00 Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204), Tentamensuppgifterna

Läs mer

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktionen beskriver grunderna för att använda programvaran Xilinx ISE WebPack 6.2.03 tillsammans med en CPLD (Complex Programmable Logic

Läs mer

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 03-08-17 Tid: 10:00-15:00 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas

Läs mer

"Crash Course in Programming"

Crash Course in Programming "Crash Course in Programming" Denna genomgång har fokus på programmering. Den följer PBasic-syntaxen för Basic Stamp II, men är i övrigt i stort sett frikopplad från BS2. Vissa aspekter som tas upp följer

Läs mer

Sekvensnät i VHDL del 2

Sekvensnät i VHDL del 2 Laboration 6 i digitala system ht-16 Sekvensnät i VHDL del 2 Realisering av Mealy och Moore i VHDL............................. Namn............................. Godkänd (datum/sign.) 2 Laborationens syfte

Läs mer

INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN

INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN Dagens föreläsning Inbyggnadsprocessorer - och programmering ❾ Översikt PIC-processorn ❿ Familj ❿ Flash / EPROM ❿ Introduktion: 16F84 ❾ ❿ Harvard / von Neumann ❿ CISC / RISC ❿ Pipelining ❾ Programmering

Läs mer

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System 1 TSIU05 Digitalteknik LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System Sammanställning september 2013 Läs detta först Läs igenom hela laborationen så du vet vad du skall göra på laborationspasset. Hela

Läs mer

IE1205 Digital Design: F9: Synkrona tillståndsautomater

IE1205 Digital Design: F9: Synkrona tillståndsautomater IE25 Digital Design: F9: Synkrona tillståndsautomater Moore och Mealy automater F8 introducerade vippor och vi konstruerade räknare, skift-register etc. F9-F skall vi titta på hur generella tillståndsmaskiner

Läs mer

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer

Läs mer

5:2 Digitalteknik Boolesk algebra. Inledning OCH-funktionen

5:2 Digitalteknik Boolesk algebra. Inledning OCH-funktionen 5:2 Digitalteknik Boolesk algebra. Inledning I en dator representeras det binära talsystemet med signaler i form av elektriska spänningar. 0 = 0 V (låg spänning), 1 = 5 V(hög spänning). Datorn kombinerar

Läs mer

Exempel på tentamensfrågor Digitalteknik

Exempel på tentamensfrågor Digitalteknik Exempel på tentamensfrågor Digitalteknik Till dessa frågor (som kommer från lite olika tidgare tentor) gällde förutsättningen: Hjälpmedel: Kurslitteratur, föreläsningsantecknigar lab. med mätresultat,

Läs mer