TRS-80 is de benaming van verschillende series van computers uit de late jaren zeventig en vroege jaren tachtig van de toen pas gefuseerde bedrijven Tandy & Radio Shack. De eerste uit de serie was de TRS-80 (later Model 1 genoemd om onderscheid te maken met de andere computers in de TRS-80 serie) die was uitgerust met een Zilog Z80 microprocessor en op 3 augustus 1977 werd geïntroduceerd. In 1977 zagen drie ‘home computers’ het licht: de Radio Shack TRS-80, de Apple II en de Commodore PET. De TRS-80 was de enige computer op dat moment met een Z80 microprocessor, de Apple II en Commodore PET hadden elk de MOS Technology 6502 aan boord.
De Model 1 was een computer in de vorm van een dik toetsenbord dat werd aangesloten op een losse monochrome monitor. De computer beschikte over een BASIC-taal in 4kB ROM en was standaard uitgerust met 4 kB RAM. De TRS-80 Model 1 kon later ook uitgebreid worden met een zogenaamde Expansion Interface, waarmee beschikt kon worden over meer geheugen en een aansluiting voor een parallelle printer. Ook kon men hierdoor de computer verder uitbreiden met diskettestations en een seriele verbinding. Naast BASIC kon men ook programma’s ontwikkelen in zogenaamde assembler of machinetaal.
De BASIC stamp is een kleine single board computer, ontwikkeld door Parallax, die gebruikt wordt door hobbyisten en studenten om bekend te raken met de basisprincipes van microcontrollers, zoals het aansturen van een servomotoren, leds, etc. Hij staat bekend om zijn kleine formaat en is populair omdat hij eenvoudig te programmeren is in een variant van de BASIC programmeertaal. De eerste uitvoering van de BASIC Stamp, de BASIC Stamp 1, is uitgevoerd als een single-in-line module, met alle aansluitingen aan één zijde van de printplaat. De BASIC Stamp 2 is uitgevoerd als een dual-in-line module, met aansluitingen aan beide zijden van de printplaat.
Elektuur heeft de BASIC Stamp 1 toegepast in haar ontwerp van de BASIC Buggy (1999)
De afgelopen 50 jaar hebben toegezien op parallelle ontwikkelingen in computer architectuur, chipfabricatie en massaproductie. De microprocessor is hiervan een tekenend resultaat, dat voor het eerst in 1971 een commercieel succes werd door de introductie van de 4-bit 4004 van een toen nog klein en onbekend bedrijfje genaamd Intel. Veel bedrijven volgden Intel’s voorbeeld en tegen het eind van de jaren ’70 kon je uit een half dozijn microprocessoren kiezen. In die jaren explodeerde het aantal computergebruikers van een handvol ondernemende hobbyisten en technisch onderlegde ‘hackers’ naar miljoenen zakelijke, industriële, ambtelijke, educatieve en thuisgebruikers, die allemaal de beschikking hadden over relatief betaalbare computeroplossingen.
Gelijktijdig aan de microprocessor, gebruikmakend van dezelfde ontwikkelingen ontstond de microcontroller, met de TMS1000 van Texas Instruments als lichtend voorbeeld. Microcontrollers zijn voor het grote publiek veel minder als eindproduct bekend dan de veel vaker genoemde microprocessoren, hoewel termen als ‘Arduino‘ en ‘ESP32’ ook bij de gemiddelde consument bekend beginnen te raken. Het grote publiek is zich echter zeer bewust van het feit dat ‘iets’ verantwoordelijk is voor de slimmigheid in huishoudelijke apparaten zoals broodroosters, koffiemachines, televisies, ovens, wasmachines, koelkasten, elektrische tandenborstels en ontelbare andere ‘gadgets’.
Een microcontroller bestaat intern uit een microprocessor, werkgeheugen, programmaopslaggeheugen en I/O voorzieningen. Dit maakt het in veel opzichten een regelcomputer-in-een-chip, waarbij er slechts een externe voedingsspanning nodig is om een programma uit te voeren. De eerste microcontroller was de TMS1000 van Texas Instruments (1974), gevolgd door de 8048 van Intel (1977). Een opvolger van de 8048 was de 8051 (1980), met als speciale uitvoering de hier beschreven 8052AH-BASIC (1986).
Het grootste verschil tussen microprocessoren en microcontrollers is gelegen in hun toepassingsgebieden: waar de microprocessor bedoeld is voor generieke toepassingen is de microcontroller bedoeld voor besturingstoepassingen met minimale externe componenten. Zo heeft een microprocessor over het algemeen geen intern geheugen, terwijl een microcontroller dat wel heeft. Een microcontroller heeft veel meer bitvergelijkingsinstructies en overwegend een beperktere instructieset die vooral op snelheid is ingericht. Ook de mogelijkheden om met andere chips en direct met digitale en analoge elektronica te communiceren is bij een microcontroller meer uitgemeten dan bij een microprocessor.
De MCS-51 is een familie van microcontroller IC’s, ontwikkeld, geproduceerd en op de markt gebracht door Intel, gebaseerd op de archetype 8051. Andere IC-fabrikanten zoals Siemens, Advanced Micro Devices (AMD), Fujitsu en Philips zijn gelicentieerde fabriekanten van deze microcontrollers. De microcontrollers uit de MCS-51 familie zijn geoptimaliseerd voor besturingstoepassingen voor ondermeer de automobielindustrie met in de instructieset een verscheidenheid aan adresseringsmodi, handige 8-bits rekenkundige instructies, ínclusief instructies voor vermenigvuldigen en delen en ondersteuning voor één-bit variabelen met bijbehorende bitmanipulatiemogelijkheden.
In de tabel zijn enkele van de MCS-51 microcontrollers weergegeven met hierbij aangegeven de hoeveelheid interne geheugen. Het interne gebeugen ligt in hetzelfde adresbereik als het externe geheugen, wat de uitwisselbaarheid van de microcontrollers vergroot.
Een speciale variant van de 8052AH, de 8052AH-BASIC, heeft een af-fabriek in het maskeerbaar ROM ondergebrachte drijvendekomma-BASIC genaamd MCS-BASIC, een terminalserver en een EPROM programmeercircuit voor de opslag van programma’s. Intel bracht deze 40-pins microcontroller in 1986 op de markt.
De 8052AH-BASIC was bij de introductie in 1986 om verschillende redenen bijzonder: het bevatte een eenvoudige terminalserver met een ingebouwde editor, zodat programma’s met een seriële terminal of terminalemulatieprogramma beheerd konden worden. Ook de ingebouwde MCS-51 BASIC maakte deze microcontroller speciaal. Nog niet eerder was er een besturingschip met een ingebouwde hogere programmeertaal beschikbaar geweest.
Elektuur kwam met het november 1987 nummer met het ontwerp van een microcontrollerboard gebaseerd op de 8052AH-BASIC, ongeveer rondom de tijd waarin ik zelf ook voor mijn studie met deze microcontroller bezig was. Het ontwerp was opgebouwd rondom een 8052AH-BASIC V1.1, twee 6264 RAM’s, een 2764 of 27128 EEPROM, wat bus logica, een programmeerspanning-beveiliging, RS232 niveau-aanpassing en een reset-schakelaar.
De opgebouwde microcontroller was een dubbelzijdige, doorgemetaliseerde printplaat met afmetingen van 10×15 centimeter. Twee connectoren maakten I/O en busuitbreidingen mogelijk. Op de printplaat zaten, buiten de 8052AH-BASIC micocontroller, twee RAM-chips, een EPROM-voet en enkele logicachips. De seriële ansluiting voor een terminal of computer met terminalsoftware bestond uit een 5-polige DIN aansluiting, in die tijd bekend als audioconnector waarmee audioapparaten onderling konden worden verbonden. De toepassing hiervan was niet standaard (een 9-polige D-connector was hier toepasselijker geweest), zodat er een kabel op maat gemaakt moest worden. Twee leds en een schakelaar maakten het geheel af. De printplaat was voorzien van montagegaten zodat het eenvoudig in een behuizing kon worden ingebouwd, een en ander overgelaten aan de creatieve vaardigheden van de constructeur.
Na het aansluiten van een geschikte terminal aan de 5-pins DIN-aansluiting en het inschakelen van de voeding werd een prompt op de terminal getoond en kon een programma worden ingetoetst:
*MCS-51(tm) BASIC V1.1*
READY
>10 FOR I=1 TO 3
>20 PRINT I
>30 NEXT I
>RUN
1
2
3
READY
>
Op de prompt konden enkele commando’s worden gegeven: RUN, LIST, NEW, NULL, RAM, ROM, XFER, PROG, BAUD, CALL en variaties hierop. Met LIST (of LIST met een regelbereik) werd het programma (of een deel hiervan) naar de terminal teruggegeven. Een regel werd gecorrigeerd door deze opnieuw in te voeren.
De geplaatste EPROM kon vanuit de controller worden geprogrammeerd met het commando PROG en programma’s konden eenvoudig vanuit de EPROM worden opgestart met het commando ROM. Programma’s konden slechts met UV-licht uit de EPROM worden gewist:
>LIST
10 FOR I=1 TO 3
20 PRINT I
30 NEXT I
READY
>PROG
12
READY
>NEW
READY
>LIST
READY
>ROM 12
READY
>LIST
10 FOR I=1 TO 3
20 PRINT I
30 NEXT I
READY
>
De ZX81 is een homecomputer die door Sinclair Research van Sir Clive Sinclair in maart 1981 op de markt werd gebracht. Het was de opvolger van de Sinclair ZX80. Hij werd geproduceerd door Timex. De ZX81 is grotendeels hetzelfde als zijn voorganger, maar er zijn toch een paar verschillen. Zo werd de ZX81 geleverd in een zwarte uitvoering terwijl de ZX80 wit was. Net als bij de ZX80 is een membraantoetsenbord gebruikt; het indrukken van een toets was dan ook niet duidelijk voelbaar.
Een groot voordeel van de ZX81 ten opzichte van de ZX80 is onder andere de uitbreiding met floating point-berekeningen en de mogelijkheid slow mode te gebruiken. Bij de ZX81 kon men nu tijdens de verwerking van een programma beeld blijven zien. Nadeel is wel dat daardoor de berekeningen tot vier maal langzamer konden plaatsvinden. De ZX81 heeft namelijk uit kostenbesparing geen afzonderlijke grafische chip. De Z80 processor moet daarom zelf de beeldschermuitvoer verzorgen en is hier tot wel 75% van de tijd mee bezig. De computer heeft naast een tekst mode ook een grafische mode waarmee men kon plotten met een resolutie van 64×44. Hobbyisten schreven later software waarmee de computer in staat bleek om ook graphics in een resolutie van 256×192 weer te geven.
Een zwak punt waren de externe RAM-uitbreidingsmodules waarmee het geheugen met 16 kilobytes (en later meer) kon worden uitgebreid. De modules waren zo wankel bevestigd dat vaak een reset van de computer volgde wanneer de geheugenmodule per ongeluk werd aangeraakt (‘RAM pack wobble’), of zelfs als de tafel waarop de computer stond trilde.
De Sinclair ZX80 was een eenvoudige thuiscomputer die in 1980 door het bedrijf Sinclair Research van Clive Sinclair werd uitgebracht. Het was de eerste computer die voor minder dan 100 pond verkocht werd in Groot-Brittannië. De ZX80 kon enkel via de post besteld worden en was voor 80 pond ook als kit beschikbaar. De machine had een witte plastic kast en een klein blauw membraantoetsenbord. Ze moest op een televisietoestel worden aangesloten. Het display had 24 regels van 32 tekens. Voor het genereren van het beeld gebruikte de ZX80 een combinatie van hardware en software waardoor ze enkel een beeld kon genereren wanneer er geen programma werd uitgevoerd en niet op input van de gebruiker wachtte. Om programma’s te bewaren had de ZX80 een cassetterecorderingang en -uitgang.
De machine gebruikte als microprocessor een goedkopere Zilog Z80-kloon, de NEC 780C-1, en had 1 KB RAM-geheugen (optioneel uitbreidbaar tot 16 KB) en een Sinclair BASIC-editor/interpreter in een 4 KB ROM. Sinclair BASIC was een integer BASIC die enkel met gehele getallen werkte.
Met behulp van de Parallax BASIC Stamp, wat losse elektronica, enkele Lego-blokjes en -motoren is op eenvoudige wijze een compacte en programmeerbare mini-robot te maken. De Elektuur Lego Buggy is daar een mooi voorbeeld van: alles heel klein, maar toch flexibel en veelzijdig.
Er was een tijd dat er geen iPads en Macintoshes waren en beide Apple Computer medewerkers nog in de garage van Steve Jobs bivakkeerden. In die tijd (het zal 1981 zijn geweest) kwam Multitech (het tegenwoordige Acer) met zijn eerste computer-voor-onderwijsdoeleinden op de markt: de Micro-Professor MPF-1. De MPF-1 was een microprocessorsysteem gebaseerd op een Zilog Z80.
De kleine printplaat van de MPF-1 bevatte de 1,7MHz processor, een rekenmachine-achtig toetsenbord met 36 toetsen en een 6-cijferig 7-segment LED display. Er was verder voorzien in een 8255 PPI Programmable Peripheral Interface die het toetsenbord uitlas en 4KB ROM en 2KB RAM in de vorm van een 2732 EPROM en een 6116 RAM chip. Ook waren er drie lege IC-voeten voor geheugenuitbreiding, naar wens EPROM of RAM, en twee lege IC-voeten voor een Z80 PIO Parallel I/O en een Z80 CTC Counter Timer. De MPF-1 had een kleine luidspreker, aansluitingen voor een cassetterecorder en een gebied waarop kleine eigen schakelingen konden worden gesoldeerd. Bijzonder was de behuizing: die bestond uit een kunststof boekomslag die, dichtgeslagen, zo de boekenkast in kon.
De MPF-1 werd in Z80 assembly geprogrammeerd. De bijgeleverde handleidingen bevatten veel uitgewerkte voorbeelden van onder meer timers en spelletjes die gebruik maakten van het 6-cijferige display. De hexadecimale codes van deze voorbeelden werden byte-voor-byte via het toetsenbord ingevoerd. Het ingebouwde monitorprogramma maakte wijzigingen op het ingevoerde programma eenvoudig en ook het stoppen en instellen van breakpoints was mogelijk. Gebruikers die verder wilden dan de voorbeelden moesten zich specialiseren in Z80 assembly.
Vrij snel na de introductie in 1981 kwam Multitech uit met een kleine versie van een BASIC interpreter, die samen met het monitorprogramma in een 4 kilobyte ROM werd aangeboden. Een overlay over het toetsenbord werd meegeleverd en ook de handleiding, met alweer veel voorbeelden, was prima in orde.
Sciento, de Nederlandse importeur van de MPF-1, gebruikte later de printplaat uit de boekomslag van de Micro-Professor voor hun eigen Teach Pendant CS-113, een besturingscomputer voor hun robot arm CS-113. De EPROM was in deze Teach Pendant door Sciento voorzien van een speciaal programma om de robot arm bewegingen te laten maken en te laten herhalen. Een toetsenbord overlay maakte het apparaat compleet. Het geheel was in een stevige aluminium kast ingebouwd met een voedingsaansluiting en een parallelle poort waarop de robot arm werd aangesloten.