Logische schakelingen eerste versie: 12 september 2007 laatste versie:26 september 2007 Bij de onderstaande opdrachten maak je schakelingen met het programma MM Logic. Bewaarde deze bestanden en zet ze op je website! Inleiding Je hebt tot nu toe gezien dat de computer met slechts twee getallen werkt: 0 en 1. je hebt ook met binaire getallen leren rekenen. Maar in werkelijkheid zijn het geen getallen waar de computer mee werkt maar stroompjes. Er zijn loopt wel of geen stroom. Er zijn dus twee mogelijkheden, er is geen tussenweg. Deze stroom kan bijvoorbeeld een lampje laten branden. Loopt er er geen stroom op, dan brandt het lampje niet. In een chip zitten ook logische poorten die met elektrische stroom te sturen zijn. Deze poorten zijn tot schakelingen te combineren. Een heel eenvoudig voorbeeld is de binaire representatie van de hoofdletter A. Deze heeft een ASCIIwaarde van 65, welke vertaald naar het binaire stelsel de volgende reeks oplevert: 1000001. Hieronder zie je dat vertaald naar stroompjes en lampjes (LED = Light Emitting Diode). 1. De letter A weergeven met schakelaartjes in MM Logic. We gaan de schakelingen in de computer simuleren met een programma dat Multimedia Logic heet. Als je het programma opstart zie je de onderstaande interface: In het Palette venster, dat hiernaast staat, vind je allerlei componenten waarmee je een schakeling kunt bouwen. Opdracht 1 Bouw het scherm van de vorige pagina na. Gebruik daarvoor schakelaars, verbindingen en LEDs. Als je het scherm hebt nagebouwd, kun je de constructie laten werken door op het start-pictogram te klikken (zie hieronder). Je kunt een onderdeel verschuiven door in het palet voor de pijl (muisaanwijzer) te kiezen: Daarna klik je op het onderdeel en kun je het verschuiven. Je kunt een draad laten vertakken door een verbindingspunt op het werkblad te leggen: en daar de draden aan te verbinden. Je kunt, als het programma 'loopt', de schakelaartjes omzetten. Als je de schakelaars met de waarden 1 en 64 aan zet zullen twee ledjes gaan branden. Maar dit is natuurlijk nog een beetje flauw. We willen de letter die we binair hebben gecodeerd met behulp van de schakelaars natuurlijk op een beeldscherm zien. Dat gaan we nu doen. Bouw daartoe het onderstaande schema na. Werk nauwkeurig! Als alles klaar is, start je de applicatie, zet je de schakelaartjes om zodat je de binaire code bekend maakt van een karakter. Vervolgens druk je op PUSH en wordt de letter op het beeldscherm gezet (een PUSH-schakelaar maak je door met de rechter muisknop te klikken op een schakelaar en dan het Type van Troggle in Momentary ter veranderen.). opdracht 2 Op dezelfde manier kun je ook een toetsenbord in het geheel verwerken. Maak een applicatie die het volgende doet: Je tikt op het (eigen) toetsenbord een letter in; dit leidt ertoe dat de juist LED-jes gaan branden (de schakelaartjes kun je weghalen); Vervolgens wordt de letter op het beeldschermpje geplaatst (na een druk op de PUSH-knop). 2. De computer opdrachten laten uitvoeren Een computer kan opdrachten uitvoeren. De gebeurd door een combinatie van eenvoudige schakelingen. In de computer zitten schakelingen die op basis van ontvangen stroompjes ook op een bepaalde manier reageren. We noemen ze poorten. In je boek worden ze vergeleken met lichtschakelaars. De EN-poort (AND) Heronder zie je een EN-poort. opdracht 3 Bouw bovenstaande poort na en vul dan het onderstaande schema in (gebruik de waarden 0 en 1). P 0 0 1 1 Q 0 1 0 1 P AND Q De OF-poort (OR) Hieronder zie je een OF-poort. OPDRACHT 4 Bouw ook deze poort weer na en vul het schema in: P 0 0 1 1 Q 0 1 0 1 P OR Q De XOF-poort (XOR) Bestudeer in je boek goed de beschrijving van dit soort poorten! OPDRACHT 5 Bouw onderstaande poort na en vul de tabel in. P 0 0 1 1 Q 0 1 0 1 P XOR Q De NIET-poort (NOT) OPDRACHT 6 Bouw onderstaande poort na en vul de tabel in. P waar onwaar NIET P Je hebt nu een aantal schakelingen bekeken. Deze schakelingen zijn ook te combineren. OPDRACHT 7 Bekijk de onderstaande schakeling (let op de stand van de schakelaars). Zal het lampje branden? Probeer dit eerst te beredeneren zonder gebruik te maken van het programma. Bouw de schakeling daarna na en controleer je antwoord. OPDRACHT 8 Bekijk de onderstaande schakeling. Welke waarden moeten de schakelaars hebben om het lampje te laten branden? Controleer je antwoord door de schakeling na te bouwen. OPDRACHT 9 Bouw de onderstaande schakeling na. In de onderstaand tabel staan de eerste vier regel met mogelijk waarden van P, Q, R en S al ingevuld. Vul de tabel aan. Hoeveel regels heb je nodig? Leg uit waarom. Vul daarna met behulp van het programma de kolom uitgang in. P 0 0 0 0 Q 0 0 0 0 R 0 0 1 1 S 0 1 0 1 Uitgang Opdracht 10 Met de onderstaande schakeling kun je met behulp van adresleiding 1 en 2 bepalen bij welke van de 4 uitgangen het lampje gaat branden. Voor de ingang zijn vier mogelijk waarden 00, 01, 10 en 11. Voor de uitgang worden die waarden omgezet in 1000, 0100, 0010 en 0001. Bouw de schakeling na en controleer de werking. Opdracht 11 In de schakeling hieronder herken je wellicht de halfadder. Bouw de schakeling na en controleer dat ze twee bits optelt en de carry juist weergeeft. S is de som van de bits A en B. C is de carry (‘onthouden’). De opteltabel voor twee bits ziet er zo uit: A 0 0 1 1 B 0 1 0 1 S 0 1 1 0 C 0 0 0 1 Opdracht 12 Hieronder staat de fulladder. Met deze schakeling kun je twee bits en een carry (Carry iIn)optellen (in totaal dus drie bits). Bouw de schakeling na en controleer dat ze drie bits optelt en de carry (Carry Out) juist weergeeft. S is de som van de bits A en B. Cin is de carry In (De carray die je in de vorige optelling ‘onthouden’ hebt). Cout is de caraay die je moet onthouden voor de volgende berekening. De opteltabel voor twee bits ziet er zo uit: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Cin 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 Cout 0 0 0 1 0 1 1 1 OPDRACHT 13 De figuur laat een schakeling zien die opgebouwd is uit twee OF-poorten en twee NIET-poorten. Deze schakeling heet een flip-flop. Er zijn twee ingangen: SET en RESET. A en B zijn de uitgangen. RESET OF NIET A OF NIET B SET Er is hier sprake van een zogenaamde kruislingse terugkoppeling. Dit betekent dat de uitgang van de bovenste NIET-poort is verbonden met een ingang van de onderste OF-poort en dat de uitgang van de onderste NIET-poort teruggekoppeld wordt met de bovenste OF-poort. Bouw de schakeling na. Welke waarden hebben de uitgangen A en B van de Flip-Flop als de ingang SET de waarde waar en de ingang RESET de waarde onwaar heeft? a b c d A en B zijn beide waar A is waar en B is onwaar A is onwaar en B is waar A en B zijn beide onwaar Hieronder staat de masteropdracht. Je kunt uit twee opdrachten kiezen. Opdracht 14a Bouw met behulp van een half adder en drie full adders een schakeling die twee 4 bits getallen (twee nibbles) bij elkaar kan tellen Schematisch ziet dat er als volgt uit. Om het eerste (achterste) bit op te tellen heb je een halfadder nodig. Voor het tweede tot en vierde bit bij elkaar te tellen heb je een fulladdres nodig omdat het kan zijn dat je een carry van de vorige optelling moet meetellen. f 4 f 3 f 2 h 1 Opdracht 14b Bouw een schakeling die van een vier bits getal (een nibble) de negatieve waarde maakt volgens de two’s complement methode (bits omkeren en er daarna 1 bij optellen).