Sériový programátor 89S51

Programátorem je možné naprogramovat procesor 89S51 a 89S52.Programovací algoritmus je u obou procesorů téměř totožný. V případě potřeby je možné pro příbuzné procesory(z hlediska programování) program upravit.Zdrojové kódy jsou k dispozici níže. Tento programátor je k PC připojen přes sériový port RS232.Obsahuje procesor 89S2051, kterému jsou posílána data přes RS232( k převodu úrovní je použit obvod MAX232) a tyto data jsou posílána přes třístavový oddělovací obvod 74HCT245. LED diody zobrazují aktivitu na lince (RxD,TxD), což je užitečné pro lokalizaci případné chyby. Dále je zobrazována aktivita výstupů programátoru.V klidovém stavu jsou výstupy ve stavu vysoké impedance, takže programátor je v podstatě odpojen, k připojení dochází pouze během programování nebo čtení programovaného obvodu.

Programátor je možné napájet buď z programovaného obvodu, nebo z napětí většího než cca 6-7 V (je použit stabilizátor 7805, tj. pro napájení může být použito napětí cca 7-15 V. ).

Výkres plošného spoje DPS a schéma programátoru

Zdrojový kód k SW pro použitý procesor 80C2051. Procesor v podstatě pouze přijímá byty z PC přes RS232. Přijatý byte je odeslán do programovaného procesoru a zároveň je přijatá odpověď z procesoru odeslána do PC přes signály MOSI,MISO a SCK. Během programování je zároveň resetován procesor (k tomu je použit signál RST). K naprogramování procesoru 89C2051 lze použít např paralelní programátor připojovaný k PC prostřednictvím paralelního portu.Pro snadné spuštění programátoru je určen soubor AtmPrg.bat,který programátoru umožní s využitím knihovny AllowIo.exe přístup k paralelnímu portu.Součástí souboru je program pro převod formátu hex na formát bin.Všechny potřebné soubory jsou součástí zip archivu (vlastní program pro programátor je v souborech file.hex a v binární formě OUT.BIN).

Program pro komunikaci s PC je spíše polotovar, nicméně pro základní použití - čtení a programování, použitelný. V případě potřeby je možné jej upravit. Zdrojové kódy jsou vytvořeny v demoverzi C++ Builderu.

Programátor není příliš komfortní, nicméně funkční. Byl vytvořen poměrně rychle a podnětem k jeho výrobě byly nepříliš dobré zkušenosti s na internetu volně dostupnými programátory.

Diody D15 a D16 jsou použity k zobrazování stavu na lince RS232,jedna z diod indikuje připojené napájení a ze zbývající osmice diod je 5 diod použito k indikaci stavu signálů,které jsou výstupními signály z hlediska procesoru a 3 diody jsou použity k indikaci stavu vstupních signálů procesoru programátoru (tj. výstupních signálů programovaného procesoru).

V módu programování musí být propojen jumper J6.Při propojení J5 je zobrazován stav signálů led diodami. Pokud je jumper J6 rozpojen, část přijatého bajtu přes RS2323 je pak zobrazena na pětici LED diod, tento režim slouží k testování linky RS232.