Oefeningen Interpretatie I Reeks 6 : Registermachines
|
|
- Saskia van den Berg
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren instructie voor instructie een beperkt aantal geheugenplaatsen of registers. Alhoewel de resulterende procesbeschrijvingen op traditionele machinetaal voor een microprocessor lijken, hebben we in de hoorcolleges in weze telkens een op maat gemaakte microprocessor ontworpen. In deze oefeningen zitting gaan we dit opnieuw doen maar nu met echte hardware. Deze is erg beperkt en ondersteund maar een minimale set van instructies. Microprocessor geheugen. Naast de registers die we gezien hebben in de hoorcolleges bevat deze microprocessor een geheugen. Dit geheugen wordt gebruikt voor een aantal dingen die we reeds gezien hebben, zo wordt bijvoorbeeld de stack en de constanten hierin bijgehouden. Het geheugen wordt echter ook gebruikt om te communiceren met de buitenwereld. Naar het geheugen schrijven doe je met de write operatie. Deze operatie verwacht twee argumenten, een register en een constante. Als de operatie uitgevoerd wordt de waarde in het register weggeschreven naar de locatie in het geheugen aangegeven door de constante. Een abstract voorbeeld van het schrijven van de waarde in het register reg_1 naar geheugen locatie C is hieronder weergegeven alsook het overeenkomstige data pad. Elke geheugen locatie is 8 bit waardoor de maximale waarde die je kan wegschrijven 255 is. (perform (op write) (reg reg_1) (const C)) REG_1 C Geheugen Write X C C Een analoge functie read laat het toe om een waarde te lezen van het geheugen. Communicatie met de buitenwereld. Een microprocessor heeft een aantal poorten net zoals je computer bijvoorbeeld een aantal usb poorten heeft. Elk van deze poorten heeft een aantal pinnen. De microcontroller die gebruikt wordt in de les laat het bovendien toe om deze pinnen te lezen of te schrijven. Daarom moeten we de controller eerst inlichten (door naar het geheugen te schrijven) voor welke functionaliteit we de individuele pinnen willen gebruiken. Elke poort is gelinkt in het geheugen met een aantal geheugen adressen die de functionaliteit van de poorten en de individuele pinnen manipuleert. Zulke geheugen adressen die gebruikt worden om poorten of andere functionaliteit
2 van de microcontroller te manipuleren worden vaak ook registers genoemd. Naar zulke registers kan je echter niet schrijven met de gebruikelijke assign zoals gezien in de hoorcolleges. Voor deze registers moet je de write operatie gebruiken zoals gezien in de eerste sectie. De twee geheugen adressen die we nodig zullen hebben in deze les zijn het data directie register (DDR) en het poort register (PORT). Het eerste register, DDR dient om aan te duiden of we een pin gaan gebruiken om te lezen of te schrijven. Terwijl het tweede register PORT gebruikt wordt om de pinnen een waarde toe te kennen. Elke bit in deze registers komt overeen met een pin. Voor het DDR register duidt een 1 aan dat de pin gebruikt wordt om te schrijven terwijl een 0 aanduidt dat de pin gebruikt zal worden om te lezen. In het PORT register duidt een 1 aan dat de pin op een hoog signaal gezet is terwijl een 0 aanduidt dat de pin op laag signaal staat. Communicatie in de praktijk Nu we gezien hebben hoe we poorten en pinnen kunnen manipuleren door te schrijven naar geheugen adressen kunnen we dit omzetten naar de praktijk door een ledje te doen branden. Tijdens de les krijgen jullie allemaal een ledje en wordt er uitgelegd hoe je het ledje moet verbinden met de microprocessor. Het ledje is verbonden op poort B met pin 13. Om poort B te manipuleren zijn er twee overeenkomstige registers om deze te controleren, DDRB en PORTB. In een eerste stap dienen we aan te duiden in het DDRB register dat we pin 13 als output wensen te gebruiken. Dit doen we door bit 5 in het DDRB register hoog te maken, i.e. we schrijven de waarde 32 naar het DDRB register (32 is binair ʻ ʼ). De tweede stap is om de pin zelf hoog te maken. Dit doen we analoog door de waarde 32 naar het PORT register te schrijven. Na uitvoering van deze instructie zal het ledje branden. De code en een diagram van de geheugen aderessen is hieronder weergegeven. DDRB PORTB pin 13 Led uit GND DDRB PORTB pin 13 Led uit GND DDRB PORTB pin 13 Led aan GND (perform (op write) (reg val_1) (const,ddrb)) (perform (op write) (reg val_1) (const,portb)) Door ander geheugen adressen te manipuleren is het ook mogelijk om karakters te versturen over usb naar de computer. De code om een enkel karakter door te sturen krijgen jullie en wordt uitgelegd in de opgave van de oefeningen.
3 De registermachine-assembler De op maat ontworpen registermachines programmaʼs kunnen getest worden in de hardware. De benodigde bestanden voor deze simulator vind je terug op point carré. De assembler wordt geladen door het bestand RMassembler.scm (uit het zip-archief) te evalueren in DrScheme v3.72. De procedure (assemble-and-run program) vertaalt het programma naar machine code voor de microcontroller en programmeert de microcontroller met het nieuwe programma. (assemble-and-run `((register val_1) (perform (op write) (reg val_1) (const,ddrb)) (perform (op write) (reg val_1) (const,portb)))) Gemeenschappelijke registermachinetaal-instructies Bovenstaande registermachine programma zal het ledje doen branden. Het registermachineprogramma doet hiervoor een beroep op de speciaal voorziene operatie write. Verder bestaat dit programma uit instructies die gedeeld worden met andere registermachineprogrammaʼs. De beschikbare instructies zijn: (register <register-name>) (assign <register-name> (reg <register-name>)) (assign <register-name> (const <constant-value>)) (assign <register-name> (op <operation-name>) <input1>... <inputn>) (perform (op <operation-name>) <input1>... <inputn>) (test (op <operation-name>) <input1>... <inputn>) (branch (label <label-name>)) (goto (label <label-name>)) (assign <register-name> (label <label-name>)) (goto (reg <register-name>)) (save <register-name>) (restore <register-name>) In het boek wordt uit de doeken gedaan hoe programmaʼs geschreven in deze taal een mogelijke hardware-implementatie van de registermachine beschrijven.
4 Registermachineprogrammaʼs Oefening 1 De enige vorm van communicatie van de microcontroller met de computer bestaat uit het printen van individuele karakters. Elke karakter heeft een numerieke waarde die je kan opzoeken in de ascii tabel (zie einde van dit document). Om een karakter door te sturen is er reeds code voorzien. Om bijvoorbeeld karakter met numerieke waarde 64 af te printen kan je bijvoorbeeld volgende code gebruiken. Transmit, verwacht de te printen waarde in het val_1 register en springt na het printen naar het label in het continue register. start " (assign val_1 (const 64)) (assign continue (label loop)) (goto (label transmit)) loop " (goto (label loop)) Oefening 2 Spijtig genoeg kan het arduino bordje geen getallen delen. Ontwerp een registermachine die het toelaat analoog aan volgende Scheme-procedure om de gehele deling van twee getallen uit te voeren: (define (start-divide val_1 val_2) " (define (divide-loop result val_1 val_2) " " (if (< val_1 val_2) " " " result " " " (divide-loop (+ result 1) (- val_1 val_2) val_2))) " (divide-loop 0 val_1 val_2)) Test je code met de volgende register machine code: start (assign val_1 (const 192)) (assign continue (label print)) (assign val_2 (const 3)) (goto (label start-divide)) print (assign val_1 (reg result)) (assign continue (label loop)) (goto (label transmit)) loop (goto (label loop)) Als je code correct is zal je zien dat er opnieuw geprint is:
5 " " Oefening 3 Ontwerp een registermachine die factorial analoog aan volgende iteratieve Scheme-procedure implementeert, gebruik de transmit operatie om je resultaat te printen: (define (factorial n) " (define (iter product counter) " " (if (< n counter) " " " product " " " (iter (* counter product) (+ counter 1)))) " (iter 1 1)) Oefening 4 Ontwerp een registermachine die machtsverheffing analoog aan volgende iteratieve Schemeprocedure implementeert, gebruik de transmit operatie om je resultaat te printen: (define (expt b n) " (define (expt-iter counter product) " " (if (= counter 0) " " " product " " " (expt-iter (- counter 1) (* b product)))) " (expt-iter n 1)) Oefening 5 Ontwerp een registermachine die de machtsverheffing analoog aan volgende recursieve Scheme-procedure implementeert, gebruik de transmit operatie om je resultaat te printen: (define (expt b n) " (if (= n 0) " " 1 " " (* b (expt b (- n 1))))) Oefening 6 Ontwerp een registermachine die de fibonacci analoog aan volgende recursieve Scheme-procedure implementeert, gebruik de transmit operatie van de vorige oefening om je resultaat te printen: (define (fib n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))))
6 Oefening 7 Ontwerp print-getal een subprogramma dat nummers print als karakters, de te printen waarde wordt verwacht in het val_1 register en na het printen wordt er naar het label in het continue register gesprongen. start " (assign val_1 (const 64)) (assign continue (label loop)) (goto (label print-getal)) loop " (goto (label loop)) > 64 Je kan inspiratie putten uit het volgende scheme programma, merk op dat de microcontroller geen deling operatie heeft. Gebruik dan ook de divide zoals je deze in oefening 2 hebt geïmplementeerd. (define (print-getal val_1) (define (print val_1 y tal) (if (< val_1 tal) (begin (transmit (+ y 48)) (if (< 1 tal) (print val_1 0 (/ tal 10)))) (print (- val_1 tal) (+ y 1) tal))) (print val_ ))
7 Ascii Tabel
Vrije Universiteit Brussel Faculteit van de Wetenschappen Vakgroep Informatica. Deel 2a: Ontwerp van register machines
Vrije Universiteit Brussel Faculteit van de Wetenschappen Vakgroep Informatica Deel 2a: Ontwerp van registermachines Interpretatie van Computerprogramma's I Theo D'Hondt p. 1 Register Machines registers
Nadere informatieSucces! Theo DʼHondt 13 juni 2010
Vrije Universiteit Brussel Faculteit Wetenschappen Vakgroep Computerwetenschappen Academiejaar 2009 2010: eerste examenzittijd Interpretatie van Computerprogrammaʼs I schriftelijke test Voorafgaandelijk:
Nadere informatieLet op dat de scoping regels gerespecteerd blijven; het volgende voorbeeld mag geen fout melden.
Vrije Universiteit Brussel Faculteit Wetenschappen Vakgroep Computerwetenschappen Academiejaar 2009 2010: tweede examenzittijd Interpretatie van Computerprogrammaʼs I schriftelijke test Voorafgaandelijk:
Nadere informatieOpgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files
Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files 1 Introductie In deze oefening zal je je LCD display leren aansturen. Je controleert deze display door er instructies naar te
Nadere informatieDe Arduino-microcontroller in de motorvoertuigentechniek (8)
De Arduino-microcontroller in de motorvoertuigentechniek (8) E. Gernaat (ISBN 978-90-79302-11-6) 1 Assembly (Assembleertaal) 1.1 Inleiding De Arduino kan ook in assembleertaal (assembly) worden geprogrammeerd.
Nadere informatieHoe werkt een computer precies?
Hoe werkt een computer precies? Met steun van stichting Edict Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Overview Introductie SIM-PL Simulatietool voor werking computer
Nadere informatieTweede workshop Arduino
Tweede workshop Arduino In deze workshop zal veel gewerkt worden met voorbeelden die meegeleverd worden met de Arduino IDE. Deze zijn te vinden onder het menu File >Examples. Oefening 1 - Seriële communicatie
Nadere informatieDe Arduino-microcontroller in de motorvoertuigentechniek (6)
De Arduino-microcontroller in de motorvoertuigentechniek (6) E. Gernaat (ISBN 978-90-79302-11-6) 1 De Arduino Programmeeromgeving (IDE) 1.1 Inleiding Als we naar de Arduino site gaan kunnen we daar de
Nadere informatieAntwoorden vragen en opgaven Basismodule
Antwoorden vragen en opgaven Basismodule Antwoorden van vragen en opgaven van hoofdstuk 1 1. Is elke combinatorische schakeling een digitale schakeling? Zo nee, waarom niet? Antwoord: Elke combinatorische
Nadere informatieDe Arduino-microcontroller in de motorvoertuigentechniek (4)
De Arduino-microcontroller in de motorvoertuigentechniek () E. Gernaat (ISBN 978-90-7930--6) De Atmel ATmega38/P microcontroller. Uitvoering De ATmega38 is een microprocessor van de Amerikaanse firma ATMEL
Nadere informatieProgrammeren met Arduino-software
Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en
Nadere informatieOpgave Tussentijdse Oefeningen Jaarproject I Reeks 3: Tijd, licht en warmte
Opgave Tussentijdse Oefeningen Jaarproject I Reeks 3: Tijd, licht en warmte Voor deze oefeningenles heb je de handleiding van de uitgedeelde ARM processor nodig. Je kan deze vinden op de website van het
Nadere informatieOefening 1 - Seriële communicatie via USB
Werkbladen voor Arduino workshop 2 In deze workshop zal gewerkt worden met de voorbeelden die meegeleverd worden met de Arduino IDE. Deze zijn te vinden onder het menu Bestand->Voorbeelden. Oefening 1
Nadere informatieES1 Project 1: Microcontrollers
ES1 Project 1: Microcontrollers Les 5: Timers/counters & Interrupts Timers/counters Hardware timers/counters worden in microcontrollers gebruikt om onafhankelijk van de CPU te tellen. Hierdoor kunnen andere
Nadere informatieGebruikershandleiding. robotcar.nl
Gebruikershandleiding robotcar.nl Inhoudsopgave 1 Introductie 2 2 Inventaris 3 3 Uno: een Arduino variant 4 3.1 De pinnen op het Uno board.................... 4 3.2 De Arduino software omgeving...................
Nadere informatie2 Algemene opbouw van een computersysteem
Procescomputer E. Gernaat 1 Microprocessoren algemeen Informatie-verwerking zoals behandeld is momenteel vrijwel geheel overgenomen door microprocessoren. Wanneer we voortborduren op het idee van combinatorische
Nadere informatieDe Arduino-microcontroller in de motorvoertuigentechniek (2)
De Arduino-microcontroller in de motorvoertuigentechniek (2) E. Gernaat (ISBN 978-90-79302-11-6) 1 Procescomputer 1.1 Microprocessoren algemeen De informatie-verwerking zoals is behandeld, is vrijwel geheel
Nadere informatieDe Arduino-microcontroller in de motorvoertuigentechniek (3)
De Arduino-microcontroller in de motorvoertuigentechniek (3) E. Gernaat (ISBN 978-90-79302-11-6) 1 In- en uitgangssignalen van microprocessoren 1.1 Overzicht signalen Informatie van en naar een microprocessor
Nadere informatieFaculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 17 november 2004, 9:00u-12:00u
achternaam : voorletters : identiteitsnummer : opleiding : Tijdens dit tentamen is het gebruik van rekenmachine of computer niet toegestaan. Vul je antwoorden in op dit formulier. Je dient dit formulier
Nadere informatieVBA voor Doe het Zelvers deel 20
VBA voor Doe het Zelvers deel 20 Handleiding van Auteur: leofact Augustus 2015 handleiding: VBA voor Doe het Zelvers deel 20 Vorige aflevering In het vorige deel werd besproken hoe je de structuur en vensteropbouw
Nadere informatie11011 Processor MMI Intro. Binaire representatie. Computer: Logische opbouw (Von Neumann) 3-input 1-hot detector.
NOT NOT NOT NOT NOT NOT 9-09-7 Intro MMI The Digital World 2 Peter van Kranenburg Vandaag: Terugblik vorige week Werking CPU Soorten instructies Werking CPU Cache Pipelining Digitale representatie Tekst
Nadere informatieComputerarchitectuur en netwerken. Memory management Assembler programmering
Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management
Nadere informatieHandleiding software USB PIC DEV. BOARD
Handleiding software USB PIC DEV. BOARD V2.0 M.F. van Lieshout & J.G.W. Carpaij 21-03-2006 Handleiding software USB PIC DEV. BOARD Algemene informatie Hier volgt eerst wat algemene informatie over het
Nadere informatieOefeningen Jaarproject I
Oefeningen Jaarproject I Deze oefeningenreeks behandelt de grafische Scheme bibliotheek die jullie mogen gebruiken voor de implementatie van het Pacman spel. De bibliotheek i is een evaluator voor Scheme
Nadere informatieDe AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)
De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012
Nadere informatieES1 Project 1: Microcontrollers
ES1 Project 1: Microcontrollers Les 3: Eenvoudige externe hardware & hardware programmeren in C Hardware programmeren in C Inmiddels ben je al aardig op gang gekomen met het programmeren van microcontrollers.
Nadere informatieDeel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,
Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt
Nadere informatieHoofdstuk 7. Computerarchitectuur
Hoofdstuk 7 Computerarchitectuur 1 controlebus CPU MEMORY I/O databus adresbus Figuur 71 Schematische opbouw van een computersysteem 8 Figuur 72 Een busverbinding Buslijn Out E A In Out E B In Out E C
Nadere informatieInhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation
2 Inhoudsopgave Optimalisatie van de mmips pc Sander Stuijk Veel gestelde vragen Hoe moet ik forwarding implementeren? Hoe moet ik clipping implementeren? Waarom is mijn simulatie zo traag? Hoe kan ik
Nadere informatieled 0 aan Opdracht: 1 Opdracht: 4
Opdracht: 1 Maak een set meetkabels zoals op foto blz.7 is aangegeven, lengte 60cm. Maak een programmeerkabel zoals op de foto van blz.5 is aangegeven. Houd je ook hier exact aan de kabel kleuren en posities
Nadere informatieDe AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3)
De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012
Nadere informatieES1 Project 1: Microcontrollers
ES1 Project 1: Microcontrollers Les 1: Installeren en verifiëren van de SDE Door Hugo Arends, augustus 2012 Microcontrollers Een microcontroller is een elektronische component dat gebruikt wordt om (complexe)
Nadere informatieLinux Assembly Uitwerkingen van de vragen en opdrachten
Linux Assembly Uitwerkingen van de vragen en opdrachten The choice of a GNU generation Hoofdstuk 3 1. (a) Een system call is een functie geleverd door de kernel (het operating system, een interface tussen
Nadere informatieIn- en uitgangssignalen van microprocessoren
In- en uitgangssignalen van microprocessoren E. Gernaat 1 Overzicht signalen Informatie van en naar een microprocessor kan parallel of seriëel gebeuren. Bij parallel-overdracht zal elke lijn (draad) een
Nadere informatie2 Elementaire bewerkingen
Hoofdstuk 2 Elementaire bewerkingen 19 2 Elementaire bewerkingen 1 BINAIRE GETALLEN In het vorige hoofdstuk heb je gezien dat rijen bits worden gebruikt om lettertekens, getallen, kleuren, geluid en video
Nadere informatieArduino[4KIDS] Maak je eigen muziekinstrument!
Arduino[4KIDS] Maak je eigen muziekinstrument! Wat is een Arduino? Open jullie doos! Hierin vind je: Wat is een Arduino? Er gaat slechts één 'programma' op Dit gaat via de USB ingang, met de USB kabel:
Nadere informatieComputertechniek vorige examens
Computertechniek vorige examens Examen 2009 Groep 1 1. Geef de 2 manieren waarop de adressen van de I/O-module in de adresruimte geïntegreerd kunnen zijn. (memory-mapped en isolated dus) 2. Wat is post-indexering?
Nadere informatieJava virtuele machine JVM
Implementatie Java Java virtuele machine JVM Java programma vertaald naar byte code instructies Byte code instructies uitgevoerd door JVM JVM is processor architectuur kan in principe in hardware worden
Nadere informatieMODBUS remote I/O-unit type MODBUS4S110
MODBUS remote I/O-unit type MODBUS4S110 Opvragen en aansturen van I/O via MODBUS RTU over RS232 of MODBUS IP of directe TCP/IP-socket. De MODBUS4S110 is een unit die als slave via MODBUS RTU (RS232) of
Nadere informatieComputerarchitectuur en netwerken. Memory management Assembler programmering
Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 12 september 2016 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management
Nadere informatieDe AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)
De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012
Nadere informatieAssembly en Assemblers. Processoren 5 januari 2015
Assembly en Assemblers Processoren 5 januari 2015 Doel van vandaag Ik heb al losse eindjes over assembly verteld en een voorbeeldprogramma doorlopen. vandaag: algemeen + systematisch overzicht Programmeertalen
Nadere informatieHand-out Introductieworkshop LED programmeren
Hand-out Introductieworkshop LED programmeren Inleiding Deze hand-out is bedoeld als naslag voor de introductie workshop LED programmeren. In deze handout vind je de uitleg over LEDs, Arduino s en LED
Nadere informatiescc = b) CD AB
Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,
Nadere informatieRecursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieProeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)
TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)
Nadere informatieSeriële bluetooth verbinding ATmega128
Opdracht2 Bij deze opdracht worden verschillende taken gemaakt. De taken communiceren onderling met elkaar via een message queue of synchroniseren met elkaar via semaforen. A: Maak een taak aan die de
Nadere informatieArduino CURSUS. door Willy - 09-juni-2017
Arduino CURSUS door Willy - w2@skynet.be, 09-juni-2017 OVERZICHT (1) OVERZICHT (2) Historiek Microcontroller (1) Microcontroller (2) Specificaties - Arduino UNO bord Specificaties - ATmega328P chip LET
Nadere informatieInhoud vandaag. Interrupts. Algemeen ARM7 AIC
Inhoud vandaag Interrupts Algemeen ARM7 AIC Interrupts Wat is een interrupt? Een interrupt is een onderbreking van de huidige bezigheden ten gevolge van een externe gebeurtenis, zodanig dat de bezigheden
Nadere informatieDDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie
www.arduino.cc Arduino en DDS DDS chips DDS = Direct Digital (frequency) Synthesis Output = sinusvormig signaal Maximum frequentie = ½ klokfrequentie Frequentie bepaald door tuning word Grootste fabrikant:
Nadere informatieWouter Geraedts Processen & Processoren
FACULTEIT DER NATUURWETENSCHAPPEN, WISKUNDE EN INFORMATICA Wouter Geraedts Overzicht Welkom op het 5 e werkcollege van Processen & Processoren! Uitwerkingen vorige opgavenserie Behandelen (oefen)opgaven
Nadere informatieInleiding Digitale Techniek
Inleiding Digitale Techniek Week 4 Binaire optellers, tellen, vermenigvuldigen, delen Jesse op den Brouw INLDIG/25-26 Optellen Optellen is één van meest gebruikte rekenkundige operatie in digitale systemen.
Nadere informatieHoe werkt een rekenmachine?
Hoe werkt een rekenmachine? Uit welke hardware-componenten bestaat een rekenmachine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachine I Constante getallen Instructies van het type
Nadere informatieSciento Robot Training Arm CS-113
Sciento Robot Training Arm CS-113 Versie: 1.0 Samengesteld door Rudi Niemeijer 1 Inleiding 1.1 Over de CS-113 De Sciento Robot Training Arm CS-113 ( de robotarm ) is een systeem dat is ontworpen om de
Nadere informatieVan Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam
Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly
Nadere informatieAccelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368
Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Handleiding bij het gebruik van een microcontroller in het Accelerometerproject (Project II) Er zijn speciaal voor het Accelerometerproject
Nadere informatieSoftware Test Plan. Yannick Verschueren
Software Test Plan Yannick Verschueren Maart 2015 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 2 December 2014 Yannick Verschueren
Nadere informatieKennismaking met programmeren
Kennismaking met programmeren werkblad binair tellen Project van de Pedagogische Academie, Hanzehogeschool Groningen en Groningen Programmeert in samenwerking met: Bij deze opdracht gaan jullie zelf leren
Nadere informatieMORSE aan een draadje
MORSE aan een draadje UBA HOMEBREW 2014 Maarten van Achte ON3LOL SECTIE WLD Inhoud 1 INLEIDING... 2 2 HET IDEE... 2 3 BESPREKING VAN HET SCHEMA... 4 3.1 Het schema... 4 3.2 De componenten... 5 3.2.1 Overzicht...
Nadere informatieDebugging in embedded en native systemen met GDB
Debugging in embedded en native systemen met GDB A.M. ten Doesschate July 15, 2015 Abstract Een korte beschrijving : intro gebruik met welke tools en hulpmiddelen van de GDB setup en een summier aantal
Nadere informatieAVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke
AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT Geschreven door: Tom Vocke Datum: 28-09-2010 Inleiding: Dit document bevat alle hardware informatie betreffende de AVR-Doper mini. Het eerste deel zal zich
Nadere informatieCTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano
CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano (voor minder als 2 euro weer QRV op de repeater) Henk Hamoen (PA3GUO) March 2016 Agenda Introductie CTCSS toonslot op repeaters Arduino Nano
Nadere informatieMeervoudige Smart-Card Duplicator. Gebruiksaanwijzing
Meervoudige Smart-Card Duplicator Gebruiksaanwijzing Project Specificaties De Smart Card Duplicating PCB is kan zes verschillende type smartcards lezen en schrijven, die allemaal gebaseerd zijn op de microchip
Nadere informatieDe FOR lus: // terug naar waar je vandaan kwam Serial.begin(115200); // communicatie snelheid met de PC
Verslag les -5-2-4-19 Werkende lussen: for-loop; while-loop; do while- loop. Wanneer iets twee of meerdere keren gedaan moet worden, dan gebruiken we een subroutine, loop, functie. (verschillende woorden
Nadere informatieVoeler ingang van de ilog recorder. Stop de temperatuurvoeler
1) Standaard interface (EA-INT) Oud model. 2) Universele interface (EA-INT-U) Nieuw model. Beide interfaces hebben een DB9 (9 pins) connector en uw PC heeft een RS232 seriële poort nodig. Escort ilog Dataloggers
Nadere informatieassembleertaal F. Vonk versie
2017 assembleertaal F. Vonk versie 1 8-8-2017 inhoudsopgave 1. inleiding... - 3-2. Zeer Eenvoudige Processor v2 (ZEP2)... - 4-3. de code, simulator en geheugen... - 6-4. optellen... - 11-5. vermenigvuldigen...
Nadere informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatieinformatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)
informatica hardware overzicht moederbord CPU RAM GPU architectuur (vwo) 1 moederbord basis van de computer componenten & aansluitingen chipset Northbridge (snel) Southbridge ("traag") bussen FSB/HTB moederbord
Nadere informatieTentamen Computersystemen
Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:
Nadere informatieDE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO
DE ASTRO PI PROGRAMMEREN DOCENTENHANDLEIDING 1 Deze handleiding is bedoeld om leerlingen te ondersteunen bij de Astro Pi Challenge, waarbij leerlingen een programma voor de Astro Pi-computer in het ISS
Nadere informatieBoe-Bots - Arduino robots
Boe-Bots - Arduino robots Voorbereiding - wat hebben we allemaal nodig? 1) Een laptop met de Arduino IDE 2) Een Boe-Bot 3) Een USB printerkabel 4) De Boe Bot Library én NewPing library. Hier te downloaden.
Nadere informatieKeuzevak Slimme Technologie De slimme Regenmeter
Keuzevak Slimme Technologie De slimme Inleiding Field lab Acacia water, is een organisatie met een missie. Zij willen het voor elkaar krijgen dat er over de hele wereld schoon en veilig water beschikbaar
Nadere informatieRCL Arduino Workshop 1
RCL Arduino Workshop 1 Leren door doen april 2015 - slides voor RCL Arduino workshop 1 ON4CDU & ON8VQ Workshop Leren door doen Werken in een groep Beperkte tijd Alleen essentiele vragen stellen Thuis oefenen
Nadere informatieS88XPressNetLI v1.0. Installatie- en gebruikershandleiding en naslagwerk KDesign Electronics, PCB ontwerp door RoSoft
S88XPressNetLI v1.0 Installatie- en gebruikershandleiding en naslagwerk. 2008 KDesign Electronics, PCB ontwerp door RoSoft 3.3 De S88XpressNetLI verbinden met de ROCO versterker Aangezien de S88XpressNetLI
Nadere informatieOpdracht week 4 INLDIG 1
Opdracht week 4 Binair-naar-BCD omzetting Inleiding In de digitale techniek worden getallen opgeslagen in het binaire talstelsel. Rekenschakelingen zijn zo eenvoudig te ontwerpen. Helaas is het aflezen
Nadere informatieDe computer als processor
De computer als processor DE FYSIEKE COMPUTER Componenten van de computerconfiguratie Toetsenbord Muis Scanner Microfoon (Extern geheugen) Invoerapparaten Uitvoerapparaten Monitor Printer Plotter Luidspreker
Nadere informatieMeet the Arduino FAMILY
www.arduino.cc Arduino is HARDWARE Meet the Arduino FAMILY Mega Lilypad Ethernet Mini En meer... Gemeenschappelijke kenmerken Printkaartje met een ATMEL microcontroller Digitale en analoge in- en/of uitgangen
Nadere informatieWat is Arduino? Arduino = microprocessor (Atmel)
Intro tot Arduino Wat is Arduino? Volgens de website: Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers,
Nadere informatieDe Meta-circulaire Pico evaluator
De Meta-circulaire Pico evaluator 2de kandidatuur Informatica, VP (Toegepaste) Informatica Wolfgang De Meuter Laboratorium voor Programmeerkunde Departement Informatica Vrije Universiteit Brussel Pleinlaan
Nadere informatieDigitale technieken Deeltoets II
Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.
Nadere informatieVoeler ingang van de ilog recorder. Stop de temperatuurvoeler
1) Standaard interface (EA-INT) Oud model. 2) Universele interface (EA-INT-U) Nieuw model. Beide interfaces hebben een DB9 (9 pins) connector en uw PC heeft een RS232 seriële poort nodig. Escort ilog Dataloggers
Nadere informatieBouwstenen voor PSE. Datatypes en Datastructuren
Bouwstenen voor PSE Datatypes en Datastructuren Definitie Datatype Klasse van dataobjecten tesamen met operaties om ze te construeren, te manipuleren en te verwijderen. Een datatype omvat een specificatie
Nadere informatieWorkshop Arduino voor beginners deel 2
Workshop Arduino voor beginners deel 2 Voor deze workshop is het van belang dat je deel 1 van de workshop hebt afgerond. In deze workshop zitten meerdere opdrachten die elkaar niet allemaal op hoeven te
Nadere informatieArduino Workshop 1 Zuid-Limburg
Arduino Workshop 1 Zuid-Limburg Leren door doen Mei 2016 - slides voor Arduino workshop 1 v2.5 Zuid-Limburg PA3CZS, PA0FOT, ON4CDU, PE1EAM 1 Workshop 1 Workshop 1 concentreert op kennismaking en eenvoudige
Nadere informatie7 Omzetten van Recursieve naar Iteratieve Algoritmen
7 Omzetten van Recursieve naar Iteratieve Algoritmen Het lijkt mogelijk om elke oplossings-algoritme, die vaak in eerste instantie recursief geformuleerd werd, om te zetten in een iteratieve algoritme
Nadere informatieRegisters & Adressering. F. Rubben, ing 2008-2010
Registers & Adressering, ing 2008-2010 Inhoud Leerstof tot nu toe Opbouw registers Benaming registers Opbouw data Verloop programma Leerstof tot nu toe: Bouw PLC Intern Extern fabrikanten Aansluiten I/O
Nadere informatievon-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014
von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 Herhaling: Booleaanse algebra (B = {0,1},., +, ) Elke Booleaanse functie f: B n B m kan met., +, geschreven worden Met Gates (electronische
Nadere informatieSamenvatting Computer Architectuur 2006-2007
Controletransferinstructies = Instructies die verandering brengen in de zuiver sequentiële uitvoering van de instructies. Ze doen dit door de instructiewijzer een andere waarde te geven. Ze kunnen met
Nadere informatieArduino. Workshop. 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen
Arduino Workshop Beta-docentendag 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen Wat is een microcontroller? Maak een computer met alleen het meest noodzakelijke: processor geheugen
Nadere informatieNaam + Klas: Laptop Nr: Cijfer:
Naam + Klas: Laptop Nr: Cijfer: Les 1a: 1: Verander de aan - en uit tijden in de sketch en bekijk het resultaat. 2: Je hebt 14 (0 t/m 13) digitale pinnen ter beschikking om je ledje op aan te sluiten.
Nadere informatieA Quick Start Guide: AVR programmeren
A Quick Start Guide: AVR programmeren In deze guide wordt uitgelegd hoe men kan beginnnen met het programeren van een ATMEL AVR microcontroller. Er zal een testprogramma uit de software library AVRlib
Nadere informatie1. Sluit de LED aan zoals afgebeeld 2. Sluit de USB-kabel aan op de Arduino 3. Klik op de knop uploaden 4. De LED begint te knipperen
Workshop Arduino Inleiding In deze workshop werk je in tweetallen met een Arduino microcontroller. Dit is een kleine computer die je kunt programmeren om te doen wat jij wilt. Om dit te doen gebruik je
Nadere informatieProgrammeer-handleiding Easyboard MB
Programmeer-handleiding 2019 Easyboard MB Programmeer-handleiding BYOR & micro:bit Deze handleiding beschrijft hoe je een micro:bit programmeert en BYOR onderdelen laat reageren op de code die op je micro:bit
Nadere informatiescc =!F3.!F2 b) CD AB
Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,
Nadere informatieSequentiële Logica. Processoren 24 november 2014
Sequentiële Logica Processoren 24 november 2014 Inhoud Eindige automaten Schakelingen met geheugen Realisatie van eindige automaten Registers, schuifregisters, tellers, etc. Geheugen Herinnering van week
Nadere informatieAlgoritmen abstract bezien
Algoritmen abstract bezien Jaap van Oosten Department Wiskunde, Universiteit Utrecht Gastcollege bij Programmeren in de Wiskunde, 6 april 2017 Een algoritme is een rekenvoorschrift dat op elk moment van
Nadere informatieWorkshop Arduino - deel 2
Workshop Arduino - deel 2 Inleiding In het vorige deel van de workshop Arduino heb je voor het eerst kennis gemaakt met deze microcontroller. In dit deel, deel 2, ga je meer leren over de software: het
Nadere informatieDigitale technieken Microprocessoren
Digitale technieken Microprocessoren ir. Patrick Colleman Inhoudstafel Inhoudstafel. Afkortingen. Inleiding - voorwoord 1 Hoofdstuk 1 : Voorstelling van getallen en karakters. 2 1.1 Voorstelling van binaire
Nadere informatieArduino. Arduino UNO. Sam Decoster. CoderDojo Roeselare. Sam Decoster
Arduino Arduino UNO Sam Decoster CoderDojo Roeselare Sam Decoster Inleiding Arduino is een open-source ontwikkelbord, waarmee het mogelijk wordt om informatica te koppelen aan fysieke objecten. Het is
Nadere informatie