{"id":283,"date":"2017-12-21T07:27:23","date_gmt":"2017-12-21T06:27:23","guid":{"rendered":"http:\/\/www.retro-lab.nl\/?p=283"},"modified":"2024-04-06T08:13:20","modified_gmt":"2024-04-06T06:13:20","slug":"intel-8052-ah-basic","status":"publish","type":"post","link":"http:\/\/www.retro-lab.nl\/?p=283","title":{"rendered":"Intel 8052AH-BASIC (1986)"},"content":{"rendered":"\n<p>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 <a href=\"http:\/\/www.retro-lab.nl\/?p=568\">de 4-bit 4004 van een toen nog klein en onbekend bedrijfje genaamd Intel<\/a>. Veel bedrijven volgden Intel&#8217;s voorbeeld en tegen het eind van de jaren &#8217;70 kon je uit een half dozijn microprocessoren kiezen. In die jaren explodeerde het aantal computergebruikers van een handvol ondernemende hobbyisten en technisch onderlegde &#8216;hackers&#8217; naar miljoenen zakelijke, industri\u00eble, ambtelijke, educatieve en thuisgebruikers, die allemaal de beschikking hadden over relatief betaalbare computeroplossingen.<\/p>\n\n\n\n<p>Gelijktijdig aan de microprocessor, gebruikmakend van dezelfde ontwikkelingen ontstond de microcontroller, met <a href=\"http:\/\/www.retro-lab.nl\/?p=1149\">de TMS1000 van Texas Instruments<\/a> als lichtend voorbeeld. Microcontrollers zijn voor het grote publiek veel minder als eindproduct bekend dan de veel vaker genoemde microprocessoren, hoewel termen als &#8216;<a href=\"http:\/\/www.retro-lab.nl\/?p=1213\">Arduino<\/a>&#8216; en &#8216;ESP32&#8217; ook bij de gemiddelde consument bekend beginnen te raken. Het grote publiek is zich echter zeer bewust van het feit dat &#8216;iets&#8217; verantwoordelijk is voor de slimmigheid in huishoudelijke apparaten zoals broodroosters, koffiemachines, televisies, ovens, wasmachines, koelkasten, elektrische tandenborstels en ontelbare andere &#8216;gadgets&#8217;. <\/p>\n\n\n\n<p>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).<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>De MCS-51 is een familie van microcontroller IC&#8217;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, \u00ednclusief instructies voor vermenigvuldigen en delen en ondersteuning voor \u00e9\u00e9n-bit variabelen met bijbehorende bitmanipulatiemogelijkheden.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/rudiniemeijer.nl\/wp-content\/uploads\/Scherm\u00adafbeelding-2024-01-08-om-19.02.20.png\" alt=\"\" class=\"wp-image-4857\"\/><figcaption class=\"wp-element-caption\">Configuraties in de MCS-51 familie van microcontrollers<\/figcaption><\/figure>\n\n\n\n<p>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&#8217;s. Intel bracht deze 40-pins microcontroller in 1986 op de markt.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1241\" src=\"http:\/\/www.retro-lab.nl\/wp-content\/uploads\/p8052ah_basic_by_rudiniemeijer-scaled-e1705592984997.jpg\" alt=\"\" class=\"wp-image-5786\" srcset=\"http:\/\/www.retro-lab.nl\/wp-content\/uploads\/p8052ah_basic_by_rudiniemeijer-scaled-e1705592984997.jpg 2560w, http:\/\/www.retro-lab.nl\/wp-content\/uploads\/p8052ah_basic_by_rudiniemeijer-scaled-e1705592984997-300x145.jpg 300w, http:\/\/www.retro-lab.nl\/wp-content\/uploads\/p8052ah_basic_by_rudiniemeijer-scaled-e1705592984997-1024x496.jpg 1024w, http:\/\/www.retro-lab.nl\/wp-content\/uploads\/p8052ah_basic_by_rudiniemeijer-scaled-e1705592984997-768x372.jpg 768w, http:\/\/www.retro-lab.nl\/wp-content\/uploads\/p8052ah_basic_by_rudiniemeijer-scaled-e1705592984997-1536x745.jpg 1536w, http:\/\/www.retro-lab.nl\/wp-content\/uploads\/p8052ah_basic_by_rudiniemeijer-scaled-e1705592984997-2048x993.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">Intel 8052AH-BASIC, een 8052AH microcontroller uit de MCS-51 familie met firmware in maskeerbaar ROM<\/figcaption><\/figure>\n\n\n\n<p>De 8052AH-BASIC was bij de introductie in 1986 om verschillende redenen bijzonder: het bevatte een eenvoudige terminalserver met een ingebouwde editor, zodat programma\u2019s met een seri\u00eble 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.<\/p>\n\n\n\n<p>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&#8217;s, een 2764 of 27128 EEPROM, wat bus logica, een programmeerspanning-beveiliging, RS232 niveau-aanpassing en een reset-schakelaar.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/rudiniemeijer.nl\/wp-content\/uploads\/Scherm\u00adafbeelding-2024-01-08-om-20.52.47.png\" alt=\"\" class=\"wp-image-4868\"\/><figcaption class=\"wp-element-caption\">Schema van de 8052AH-BASIC V1.1 schakeling<\/figcaption><\/figure>\n\n\n\n<p>De opgebouwde microcontroller was een dubbelzijdige, doorgemetaliseerde printplaat met afmetingen van 10\u00d715 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\u00eble 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.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/rudiniemeijer.nl\/wp-content\/uploads\/IMG_2321-1-scaled.jpg\" alt=\"\" class=\"wp-image-4864\"\/><figcaption class=\"wp-element-caption\">Elektuur&#8217;s 8052AH-BASIC board, voorzien van twee RAM IC&#8217;s en een EPROM voet<\/figcaption><\/figure>\n\n\n\n<p>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:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>*MCS-51(tm) BASIC V1.1*\nREADY\n&gt;10 FOR I=1 TO 3\n&gt;20 PRINT I\n&gt;30 NEXT I\n&gt;RUN\n1\n2\n3\nREADY\n&gt;<\/code><\/pre>\n\n\n\n<p>Op de prompt konden enkele commando\u2019s worden gegeven:&nbsp;<code>RUN<\/code>,&nbsp;<code>LIST<\/code>,&nbsp;<code>NEW<\/code>,&nbsp;<code>NULL<\/code>,&nbsp;<code>RAM<\/code>,&nbsp;<code>ROM<\/code>,&nbsp;<code>XFER<\/code>,&nbsp;<code>PROG<\/code>,&nbsp;<code>BAUD<\/code>,&nbsp;<code>CALL<\/code>&nbsp;en variaties hierop. Met&nbsp;<code>LIST<\/code>&nbsp;(of&nbsp;<code>LIST<\/code>&nbsp;met een regelbereik) werd het programma (of een deel hiervan) naar de terminal teruggegeven. Een regel werd gecorrigeerd door deze opnieuw in te voeren.<\/p>\n\n\n\n<p>De geplaatste EPROM kon vanuit de controller worden geprogrammeerd met het commando <code>PROG<\/code> en programma\u2019s konden eenvoudig vanuit de EPROM worden opgestart met het commando <code>ROM<\/code>. Programma\u2019s konden slechts met UV-licht uit de EPROM worden gewist:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;LIST\n10 FOR I=1 TO 3\n20 PRINT I\n30 NEXT I\nREADY \n&gt;PROG\n12\nREADY\n&gt;NEW\nREADY\n&gt;LIST\nREADY\n&gt;ROM 12\nREADY\n&gt;LIST\n10 FOR I=1 TO 3\n20 PRINT I\n30 NEXT I\nREADY\n&gt;<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Externe links<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/archive.org\/details\/bitsavers_intel8051Mual_795231\/mode\/2up\">Intel&#8217;s MCS BASIC-52 Operating and Reference Manual<\/a> (Archive.org)<\/li>\n\n\n\n<li><a href=\"https:\/\/archive.org\/details\/bitsavers_intel8051MCSBASIC52UsersManualNov1986_17119422\/mode\/2up\">Intel&#8217;s MCS BASIC-52 User&#8217;s Manual<\/a> (Archive.org)<\/li>\n\n\n\n<li><a href=\"https:\/\/archive.org\/details\/microcontrolleri0000axel\/mode\/2up\">The Microcontroller Idea Book: Circuits, Programs, &amp; Applications featuring the 8052-BASIC Microcontroller<\/a> (Jan Axelson, Archive.org), ook beschikbaar als <a href=\"http:\/\/janaxelson.com\/files\/microcontroller_idea_book.pdf\">gratis toegankelijke PDF<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/archive.org\/details\/elektuur-1984-1987\/Elektuur_289_1987_11\/page\/n37\/mode\/2up\">8052-BASIC-compuboard<\/a> (Elektuur november 1987, Archive.org)<\/li>\n\n\n\n<li><a href=\"https:\/\/archive.org\/details\/elektuur_1988_1991\/Elektuur_315_1990_01\/page\/n47\/mode\/2up\">BASIC-compuboard in CMOS<\/a> (Elektuur januari 1990, Archive.org)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.elektormagazine.com\/magazine\/elektor-200703\/18478\">8052AH BASIC Single-Board Computer<\/a> (Elektuur 1987)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.dos4ever.com\/8031board\/8031board.html\">A Tiny 80(C)32 BASIC Board<\/a> van Ronald Dekker<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/f4goh\/8052AH-BASIC\/\">A 8052AH-BASIC hardware project<\/a> with extension boards<\/li>\n<\/ul>\n\n\n\n<p>De 8052 microcontroller werd gebruikt als DSP processor op de <a href=\"http:\/\/www.retro-lab.nl\/?p=2771\">Creative SoundBlaster<\/a> serie geluidskaarten voor PC&#8217;s.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-5 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"358\" data-id=\"284\" src=\"http:\/\/www.retro-lab.nl\/wp-content\/uploads\/elektuur-8052-board.jpeg\" alt=\"\" class=\"wp-image-284\"\/><figcaption class=\"wp-element-caption\">Elektuur met 8052 printontwerp<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"893\" data-id=\"468\" src=\"http:\/\/www.retro-lab.nl\/wp-content\/uploads\/mijn-8052-board.jpg\" alt=\"\" class=\"wp-image-468\"\/><figcaption class=\"wp-element-caption\">Single board computer met 8052AH-BASIC<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1611\" height=\"653\" data-id=\"623\" src=\"http:\/\/www.retro-lab.nl\/wp-content\/uploads\/intel-8052ah-basic.jpg\" alt=\"\" class=\"wp-image-623\"\/><figcaption class=\"wp-element-caption\">Intel 8052AH-BASIC<\/figcaption><\/figure>\n<\/figure>\n","protected":false},"excerpt":{"rendered":"<p>De Intel P8052AH BASIC is een 40-pins 8-bit microcontrollerchip uit de Intel MCS-51 familie van microcontrollers. De Intel MCS-51 (meestal &#8216;8051&#8217; genoemd) is een Harvard architectuur CISC microcontroller ontwikkeld voor gebruik in apparaten en voertuigen en was vooral populair in de jaren &#8217;80 en &#8217;90. Verschillende afstammelingen van deze serie zijn ook vandaag de dag nog in gebruik.<\/p>\n","protected":false},"author":3,"featured_media":5787,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[570,329],"tags":[156,91,104,105,90],"class_list":["post-283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elektuur-elektor","category-microprocessors-en-microcontrollers","tag-8052ah-basic","tag-basic","tag-dip","tag-intel","tag-microcontroller"],"_links":{"self":[{"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=\/wp\/v2\/posts\/283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=283"}],"version-history":[{"count":21,"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=\/wp\/v2\/posts\/283\/revisions"}],"predecessor-version":[{"id":5793,"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=\/wp\/v2\/posts\/283\/revisions\/5793"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=\/wp\/v2\/media\/5787"}],"wp:attachment":[{"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=283"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.retro-lab.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}