Také zvláštne riešenia I - 8052AH-BASIC
8052AH-BASIC je (presnejšie povedané, bol) bežný mikrokontrolér Intel 8052AH, v ktorom bol priamo v maskou programovanej ROM implementovaný interpreter jazyka BASIC.
wek, 14.03.2014-23:01




A nemusí sa pritom jednať o zvláštny mikrokontrolér ako taký - môže ísť o bežný mikrokontrolér ako súčasť neobvyklého riešenia. Hneď prvý článok je toho príkladom: 8052AH-BASIC je (presnejšie povedané, bol) bežný mikrokontrolér Intel 8052AH, v ktorom bol priamo v maskou programovanej ROM implementovaný interpreter jazyka BASIC.




Táto implementácia pochádzala priamo od spoločnosti Intel, čím chcel Intel jednak podporiť predaj svojich mikrokontrolérov, a tiež vyvolať záujem o riešenia založené na mikrokontroléroch aj u spoločností "garážového" rozmeru, ktoré si nemohli v tom čase dovoliť kompletné vývojové prostriedky (píšu sa osemdesiate roky minulého storočia: okrem "bežného" hardwarového vybavenia predstavovala minimálna zostava vtedy drahý počítač pre editovanie a preklad programu, paralelný programátor a mazačka EPROM - maximálna okrem hardwarového emulátora častokrát s vlastným jednoúčelovým počítačom zahŕňala napríklad aj dierovačku pásky, čo bol prostriedok ktorým sa výrobcovi zadával obsah pre maskou programovanú ROM).

Kompletný systém s 8052AH-BASIC pozostával okrem samotného mikrokontroléra (v klasickom puzdre DIP-40 prípadne PLCC-44) a bežnej bižutérie ešte z prevodníka úrovní pre RS-232, záchytného registra pre multiplexovanú spodnú časť adresy (74xx373) a jednej SRAM, do ktorej sa ukladal BASICovský program a aj dáta. Ak sa mal BASICovský program uchovať aj bez baterkového zálohovania SRAM, bolo potrebné pripojiť EPROM. Vykonávacia rýchlosť zodpovedala celkovej maximálnej hodinovej frekvencii 12MHz, architektúre MCS-51 s inštrukčným cyklom trvajúcim 12 hodinových cyklov (t.j. s inštrukčnou "frekvenciou" cca 1MHz), a interpretovanému charakteru jazyka. Inakšie, nebola nijako závratná, avšak na aplikácie typu priemyselné riadenie (kde sa typicky nasadzovali a nasadzujú PLC) či iné jednoduchšie aplikácie to postačilo.

Jednalo sa o pomerne úspešný produkt a po vypredaní várky verzie 1.0 Intel dokonca pristúpil aj k "upgradu" a za cenu mierneho zneprehľadnenia programu sa do tých istých 8kB ROM sa ako verzia 1.1 podarilo natlačiť viacero vylepšení.

Celkovo sa do 8kB programovej pamäte sa toho podarilo napratať obdivuhodne veľa. Základom bol klasický interpreter jazyka BASIC, pričom však nešlo o žiadnu okresanú minimalistickú verziu, pretože podporoval aj výpočty v pohyblivej rádovej čiarke! Klasický riadkový editor fungoval cez UART s autobaudom pri zahájení práce, a na UART smeroval aj základný výstup (PRINT a jeho varianty). Príkazy BASICu zahŕňali okrem bežných aritmetických, logických, reťazcových a riadiacich príkazov aj špecializované príkazy na vstup a výstup dát priamo z portov a na porty, príkazy pre prácu s časovačom, príkaz pre jednoduchý PWM výstup a iné naskrze "mikrokontrolérové" záležitosti. Zaujímavá bola aj možnosť pridávať ďalšie BASICovské príkazy pridaním externej EPROM. Ďalšou zaujímavosťou bola možnosť jednoduchým hardwarom do pripojenej vopred vymazanej EPROM napaľovať dáta alebo programy priamo BASICovskými príkazmi.

Aj keď v spoločnosti Intel nielenže na 8052AH-BASIC, ale aj na mikrokontroléry ako také už dávno zabudli, obvod (v modernejšej CMOS verzii, na rozdiel od pôvodnej, vyrábanej Intelom v staršej technológii NMOS s väčšou spotrebou) sa kupodivu ešte stále dá kúpiť, a to u spoločnosti Micromint za asi $25.

Avšak ak nejde o servis nejakého archívneho zariadenia, netreba vynakladať takéto prostriedky - na internete je možné nájsť nielen obsah programovej pamäte, ale priamo aj zdrojové texty pre BASIC-52 verzie 1.1, a to aj s kompletným manuálom prevedeným do pdf, napríklad aj na týchto stránkach. Toto spolu s dostupnosťou lacnejších variánt 8051 s väčšou programovou FLASH pamäťou podnietil aj vznik odvodených verzií BASIC-52. Verzia 1.3 pochádzajúca od H.-J. Böhlinga bola určená pre konštrukciu zverejnenú v populárom časopise Elektor, a obsahuje okrem iného sústavu rozšírení pre prácu s populárnou zbernicou I2C. Verzia 1.4 je určená pre mikrokontrolér AT89C51RD2/ED2, využíva jeho schopnosť "samoprogramovania" na ukladanie BASICovských programov priamo do jeho vlastnej FLASH pamäte a spolu s internou RAM umožňuje prevádzkovať BASIC-52 bez externých pamätí.

Aj keď 8052AH-BASIC je už dnes zabudnutou minulosťou, predstavuje priekopnícky čin a je dodnes inšpiráciou pre viaceré "jednočipové" implementácie BASICu a aj iných interpretovaných jazykov.

Ďalšie odkazy
i8051AH-BASIC User’s Manual


Také zvláštne riešenia II - Parallax Basic Stamp


tento článok je z mikroZONE
( https://www.mikrozone.sk/pluginy/content/content.php?content.101 )