PROGRAMÁTOR JEDNOČIPU AT 89C51-89C55 K LPT PORTU PC/AT.
=======================================================
ÚVOD:
soubory:
PRG8951S.EXE........programátor AT89C51-AT89C55 demo
Obr_8951.zip........obrázky DPS, schemata
Programátor slouží k provedení všech podporovaných operací s pamětí
programu (PEROM) jednočipového mikropočítače ATMEL AT89C51, 89C52, 89C55
(jádro 8051 s 4, 8, 20 kB PEROM, 128, 256 B RAM, 2 nebo 3 časovače.....).
Připojuje se pomocí kabelu k portu pro tiskárnu LPT1 nebo LPT2, napájení je
řešeno ze samostatného zdroje =15-25V, nebo po vypuštění stabilizátoru 12V a
jeho nahradou propojkou, připojením ke zdroji +12V z PC.
NĚCO O HARDWARE:
**
Programátor je osazen 2x expandéry 8243, 2x KC238, 2xLED, 1x ZD,
dále soklem s nulovou zas. silou DIL 40 pro AT89C5x a dalšími drobnými
součástkami (celkové náklady do 200Kč ).
**
Kabel je redukcí z CANNON DB25F (LPT) na CANNON DB9F (programátor).
Ke komunikaci se čtyřbitovou, sběrnicí expandéru 8243 je využito jediných
obousměrných signálů LPT tj. AF, STB, SLCT, INIT, dále je použito datovách pinů
D1-D3 pro výběr (/CS) jednoho ze tří možných expandéru (v programátoru jsou využity
jen dva výběrové signály /CS) a pinu D0 pro zápis do expanderu. (naklady na kabel
jsou cca 40 Kč).
Popis funkce programu PRG8951.EXE (PRG8951S.EXE):
vypis HELPU, vypíše se po spuštění programu bez zadání parametru
***********************************************************
PRG8951.exe /R|W|C [/1|2|5] [/5V|12V] [/Px]
PRG8951.exe /E|S|N|L1|L2|L3|T|I [/1|2|5] [/5V|12V] [/Px]
* /R .. Read * /W .. Write (Prg)
* /C .. Compare /E .. Erase
/S .. Read signature /N .. Kontrola nul
/T .. Test hardware /L1.. Lockbit 1
/L2.. Lockbit 2 /L3.. Lockbit 3
@ /1 .. AT89C51 /2 .. AT89C52
/5 .. AT89C55
@ /5V.. Upp 5volt /12V.. Upp 12volt
+ /Px.. P1|2 .. LPT 1|2
* .. povinny parametr file.bin
@ .. implicitne cte velikost PEROM a Upp ze signatury
+ .. implicitne LPT 1
Smach Elektro Software (c) 1999/3
***********************************************************
U příkazu se jménem souboru se toto jméno píše vždy jako první následuje
lomítko a jedna z příkazových zkratek. Za ní následuje nepovinná volba typu
uC s 4kB, 8kB, nebo 20kB PEROM a programovacího napětí Upp (implicitně se
nastaví velikost PEROM a Upp podle signatury právě nasazeného čipu a tato se
také vypíše na obrazovce).
V případě, že signatura je nečitelná a programátor ji vyhodnotí jako
neznámou, vyžádá si ruční zadání velikosti PEROM a Upp.
Velikost PEROM lze ručně změnit oproti skutečné velikosti (např do
89C52 s 8kB PEROM, 256B RAM a 3 T/C zapisuji program do délky 4kB, zvolím
přepínač /1 pro čip 89C51 (4kB PEROM, 128B RAM a 2T/C) a programování
proběhne za polovični čas proti programování celých 8kB).
Hodnota Upp se vždy prioritně nastaví podle signatury uC.
V případě připojení programátoru na LPT 2, se zadává parametr /P2
(parametr /P1 je nepovinný).
Seznam přepínačů:
/r...čtení obsahu PEROM a uložení do souboru určeného v prvním parametru
(uloží se ve formě ASCII znaků).
/w...programování PEROM obsahem souboru určeným 1. parametrem, je-li soubor
kratší než délka PEROM, doplní se zbytek paměti posledním znakem ($0D).
Výsledek chybně zapsaných byte se uloží do souboru WRCMP.$$$ .
/c...porovnání obsahu PEROM s obsahem souboru, zadaným prvním parametrem,
případné odchylky jsou uloženy do souboru COMPARE.$$$ .
/e...provede vymazání celé paměti PEROM ($FF) a kontrolu jako volba /n.
/s...přečte tři signaturní byte $1E $51 $FF pro AT89C51 s Upp 12V,
$1E $52 $05 pro AT89C52 s Upp = 5V atd... Pokud se přečtou jiné
hodnoty, je někde závada (kontakt, zdroj, nebo snad nová verze uC,..)
/n...kontrola vymazání PEROM, v případě jiného obsahu než $FF se do souboru
NULA.$$$ vypíši chybně vymazané adresy a jejich obsah.
/t...test hardware, deset bliknutí LED na programátoru signalizuje správné
připojení a funkci programátoru.
/l1..uzamčení PEROM, nelze ji již přeprogramovat bez smazání, program běžící
v externí paměti nepřečte kód z interní paměti programu instrukcí MOVC
(ochrana před stažením software z interní paměti).
/l2..jako S1 + zákaz čtení obsahu PEROM.
/l3..jako S2 + zákaz běhu programu z externí paměti.
DATA PRO ZÁPIS DO ATMELu:
Soubor s daty pro naprogramování, comparaci a výstup čtených dat je ve
formátu *.BIN (nikoliv INTEL HEX) tj. pouze čistá data (zobrazena jako sled
znaků ASCII). Pro převod výstupu z kompilátoru který je ve tvaru *.HEX do
tvaru *.BIN lze použít např. program HEXBIN.EXE
DATA ČTENÁ Z ATMELu:
Čtená data jsou ukládána ve formátu ASCII, data v souborech chybových
hlášení, jako compare.$$$, wrcmp.$$$, nula.$$$ jsou uložena v hexadecimálním
formátu (u shareware verze v dekadickem formátu).
STRUČNÝ POPIS ATMEL AT89C5x:
pouzdro DIL 40, 44TQFP, LCC44, PLCC44, PQFP44
jádro MCS 51
PEROM 4(8,20) kB, 1000x přepisovatelná, obsah drží 10let beze změn
RAM 128(256) Byte
4x8 I/O linek
2(3) x čitac/časovač
5(6) x přerušení
1 x progr. UART
budiče I/O linky 10mA (celkem max. 71mA)
dva režimy se sníženou spotřebou
Ucc 5V
Icc 40uA - 25mA (podle frekvence, Ucc a režimu)
napr. 3V, Power down = 40 uA
5V, 12MHz, aktivni režim = 25 mA
prac. kmitočet 0 -24 MHz (plně statický provoz)
Bližší informace tady.
---_---
P1.0 (T2) |1 40| Ucc
P1.1 (T2E) | | P0.0 (AD0)
P1.2 | | P0.1 (AD1)
P1.3 | | P0.2 (AD2)
P1.4 | | P0.3 (AD3)
P1.5 | | P0.4 (AD4)
P1.6 | | P0.5 (AD5)
P1.7 | | P0.6 (AD6)
RST | | P0.7 (AD7)
P3.0 (RX) | | EA/VPP
P3.1 (TX) | | ALE/PROG
P3.2 (/I0) | | /PSEN
P3.3 (/I2) | | P2.7 (A15)
P3.4 (T0) | | P2.6 (A14)
P3.5 (T1) | | P2.5 (A13)
P3.6 (/WR) | | P2.4 (A12)
P3.7 (/RD) | | P2.3 (A11)
XTAL2 | | P2.2 (A10)
XTAL1 | | P2.1 (A9)
GND |20 21| P2.0 (A8)
-------
REGISTRACE:
Tento programový balíček patří mezi shareware programy, proto chcete-li
program PRG8951.EXE používat, tzn. získat schéma a předlohu plošných spojů
na papíře a to hlavní získat plně funkční ostrou verzi programu, zašlete poštovní
poukázkou nepatrný obnos 69,-Kč na autorovu adresu (na konci běhu programu se vypíše)
a bude Vám vše zasláno poštou na FD.
Pro komerční použití s programováním více jak 10 ks jednočipů za rok je
registrační poplatek 449,-Kč. Pro školy (bez komerčního využití) je registr.
poplatek 39,-Kč.
V případě, že se spokojíte se zasláním programu E-mailem, snižují se poplatky
na 50Kč,400Kč,20Kč.
SHAREWARE A PLNÁ VERZE:
Shareware demo verze je plně funkční. Na konci akce však zobrazuje informaci
o registaci a prodlužuje ukončení běhu programu o 8 sec. Pracuje nezávisle na volbě
typu jednočipu vždy s 1kB PEROM a výpisy chybových hlášení jsou na rozdíl od plné
verze vypsány dekadicky.
P O Z O R po přechodu z AMD K6 200MHz na Celeron 500MHz jsem zjistil, že programátor "něrabotajet"
(pro mladší ročníky přeložím: "nepracuje") jak by měl. Mořil jsem se stím, vkládál čekací stavy a podobně,
nic však nepomohlo. Potom jsem do bordu zasunul starší ISA kartu s LPT a rázem bylo po problémech.
Z toho plyne, když máš drahý počítač, nešetři na dalším hardware, nebo chceš-li šetřit vsuň tam nějakou
starou kartu LPT (asi pomalejší) a vše bude šlapat.
Podívej se také na stránku s programátorem AT89Cx051
Aktualizace 15.10.2000