				  - 1 -

	      89C51/52 s 89C1051/2051 mikrokontroller get
	      

	 Az ATMEL flash EPROM-os mikrokontroller csald:  Napjainkra
    ltalnoss vlt a mikroprocesszoros vezrls technika s szinte az
    sszes nagy alkatrsz gyrt megjelent egy-egy sajt mikroprocesszor
    vagy mikrokontroller csalddal.  Tbb gyrt az idkzben szinte ipari
    szabvnny vlt MCS51-es csaldra alapoz, az utasts kszletet
    megtartva, a bels felptst a kor technikai ignyei s lehetsgei
    szerint fejlesztve.

	 ATMEL 89C1051, 89C2051 mikrokontroller.  A 8031, 8751-es
    processzor cskkentett lbszm vltozata a 89C2051/1051-es egy chipes
    mikrokontroller.  A 20 lb mikrokontroller idelis megolds a
    viszonylag egyszerbb, kevs portot ignyl alkalmazsokhoz.  A 8031-es
    processzornak megfelel nyolc bites P1 port, a T0, T1, INT1, INT0, RXD,
    TXD s a P3.5 port van kivezetve.  Egy (89C1051) vagy kt (89C2051)
    Kbyte FLASH program memrija legalbb 1000-szer trhat,
    titkosthat.  Az oszcilltor frekvencia nulltl 12 vagy 24 Mhz-ig
    terjedhet.	CMOS felpts, 2.7-6 volt tpfeszt ignyel, nhny mA
    fogyaszts, (kb.  8-10mA 5 volton, 12Mhz-el, s 2.5 mA 3 volton s 6
    Mhz-el jratva).  Az IDLE zemben 1-2 mA, a POWER DOWN zemben nhny
    mikro amper a fogyaszts.

	 Az ATMEL 89C51/52-es a 87C51/52-es FLASH EPROM-os megfelelje. A
    fogyasztsi, s sebessg adatai hasonlak a 89X051-nl ismertetthez.

	 Az get ramkr :
	 

	 A kapcsols alaptlett az ATMEL katalgusban megjelent kapcsolsi
    rajz adta.	Az ramkr a prhuzamos porton mkdtethet, vele a
    mikrokontroller programtrolja, titkost bitjei rhatk.	Az olvass,
    azonosts, memratartalom sszehasonlts funkci - az jabb perifria
    krtykon, illetve alaplapokon mr szoksos - ktirny prhuzamos
    porton mkdik csak.

	 Az get feszltsget elllt, s az getst, illetve
    olvasst biztost ramkrk egy ktoldalas nyomtatott ramkrn
    foglalnak helyet.

	 Az getend, vagy olvasni kvnt memriarekesz cmt az IC2, IC3,
    az getend 8 bites adatot az IC7 nyolc bites trakba rja a mkdtet
    program.  Olvasskor az IC7 kimenetei "lebegnek", gy a mikrokontroller
    adatbusza az IC9-en keresztl beolvashatk.

	 Az getst vezrl bitek s az get feszltsg belltshoz
    szksges vezrljeleket az IC5 s IC4 segtsgvel lltjuk el.

	 Az R1 s C3 feladata hogy az get bekapcsolsakor egy impulzust
    adjon az IC5 trl bemenetre. 

				  - 2 -

	 A  tp (VCC) s az get feszltsg ellltsa :
	 

	 A kszlk mkdshez kb.  14 voltos egyen, vagy vltfeszltsg
    szksges.	A D1-es graetz a bejv vltfeszltsget egyenirnytja,
    ha az adapter eleve egyenfeszltsget ad, akkor a graetz biztostja
    hogy a feszltsg helyes polaritssal jut az ramkrbe, (azaz mindegy
    hogy melyik a tpcsatlakoz plussz illetve minusz pontja), a C1
    kondenztor rtke pedig kisebb lehet, vagy akr el is hagyhat.  (Itt
    megjegyzem, hogy a "hromlb", 78XX feszltsg szablyzk "nem
    szeretik" ha a kimenetk egy nagy rtk ELKO-ra kapcsoldik, ha teht
    egy ilyen stabiliztorral felptett tpon hasznljuk az gett a C1
    rtke ne legyen nagyobb mint 10 uF.) A tpegysg lehet egy konektorba
    dughat 12 voltos adapter, teljestmnye legalbb 500 mA legyen.  Az
    ramkr digitlis IC-i a tpfeszltsget egy 7805-s stabiliztor (IC6)
    kimenetrl kapjk.

	 Az ATMEL mikrokontrollerek 12 vagy 5 voltos getfeszltsget
    ignyelnek.  (Az 5 voltosak tokozsn -5 jelzs lthat, de a bels
    azonost jel is utal az getfeszltsgre.) Ha a mkdtet program a
    T2 tranzisztort zrja, akkor az IC8 (7805) kzs pontjt az 5.6 voltos
    Z1 zner s a D3 LED kb.  7 volttal megemeli, gy a kimeneti
    feszltsg is kb.  12 voltra emelkedik. (A D3 pedig termszetesen
    vilgt.)

	 A J2 jumper lehzsval megakadlyozhatjuk hogy az get
    feszltsg kijusson a programozand IC-re. Ennek pl. akkor lehet
    jelentsge, ha nem karos IC foglalatot hasznlunk, s biztosak akarunk
    abban lenni, hogy a ki/beraksnl mg csak vletlenl se jut get
    feszltsg az IC-re. (Arrl egyenlre mg nincs tapasztalat, hogy
    kros-e, ha az get feszltsg - getsi folyamaton kvl -
    megjelenik.)

	 A 89C51/52 getsi folyamatban 5 vagy 12 volt vltja egymst a
    kontroller EA bemenetn.  Ez igaz a 89Cx051-re is, de ott a programozs
    kezdetn - a bels program szmllt nullzand - az RST lbat - ahol
    egybknt az getfeszltsget megkapja - alacsony szintre kell hzni.
    Az elbbiek miatt a 89C51/52 kzvetlenl az IC8 kimenetrl, a 89Cx051
    pedig a T1 tranzisztoron keresztl kapja az getfeszltsget. Ha a T1
    nyit, az IC8 kimeneti 5 vagy 12 voltja, ha zr, akkor az R6-on
    keresztl nulla volt kerl az RST bemenetre.

	 A J1 jumperrel vlaszthatunk hogy a 40 lb foglalat 31-es lbra
    a 89C51/52 vagy a 89Cx051 getst vgz jel kapcsoldjon.	E
    vlasztsi lehetsgnek csak akkor van rtelme, ha a 20 s a 40 lb
    mikrokontrollert is egy karos IC foglalattal akarjuk getni,  (a 20
    lb 89Cx051-hez ez esetben egy adapter is kell) egybknt a P2
    jelet kssk fixen a 31-es lbra.

	 A PC s az get sszektse :
	 

	 Az gett s a szmtgpet egy 13 eres szalagkbel kthetjk
    ssze.  A TTL jeleket vezet kbel a lehetsg szerint minl rvidebb
    legyen, a 0.5-0.6 mteres hosszsg ajnlott.  Az alappanelre egy 14-es
    tskesoros szalagkbeles csatlakozval kthetjk a szalagkbelt.  (Vagy
    egyszeren beforraszthatjuk a panelba.) A 25-s CANON apa, s a panelt
    sszekt kbel kiosztsa a kapcsolsi rajzon van rszletezve.

	 Fontos !  A PC prhuzamos portjnak csatlakozpontjai 18-tl 25-ig
    a fldpontra vannak ktve - elvileg.  A gyakorlatban azonban ez nem
    mindig igaz, van, hogy csak egy csatlakozpontot ktnek be.  Az
    elbbiek miatt az get csatlakozjban kssk ssze a 18-25
    kivezetseket. 

				  - 3 -

	 A kszlkhez tbb program is tartozik,  egy az sszeptst
    illetve a javtst segti, s tbb mkdtet program. Ezek funkcii a
    mikrokontroller olvass, gets, trltsg ellenrzs, getfeszltsg
    bellts, titkosts stb.	A beolvasott mikrokontroller tartalma
    lemezre rhat, illetve az getend tartalom onnan beolvashat.

	 Az ATMEL.EXE get program :
	 

	 Az get program mkdse magtl rtetd, az getsi, olvassi
    s egyb mveleteket vezrl billentyk funkcija megjelenik a
    bejelentkez kpen, s egy HELP-et is krhetnk.

	 A hasznlt prhuzamos port, s az utoljra kezelt mikrokontroller
    azonostjt a program elmenti, s a legkzelebbi indtsakor mint
    alaprtket veszi alapul.

	 A prhuzamos port belltsakor kikapcsolhatjuk az gets utni
    visszaellenrzst.	Ekkor a program egyirny portot vesz alapul, s
    ezrt gets utn nem csinl visszaellenrzst.  (Ugyanis - mert a port
    egyirny - hibajelzst kapnnk akkor is, ha az gets j volt.)

	 Fontos !  Ha a mikrokontrollerbe korbban mr gettnk adatot,
    akkor az gets eltt adjuk ki a trls parancsot.

	 Az ATMPRG.EXE get program :
	 

	 Az elz programtl elssorban abban klnbzik, hogy az getend,
    vagy a beolvasott tartalom a kpernyn is megjelenik, s az editlhat
    is.  (Ez utbbi felttele hogy az EDITOR.EXE program a "knyvtrban"
    legyen.) Valamint lehetsg van a trls/gets s a
    trls/gets/titkosts funkcikat egyetlen billentyvel meghvni.
    (F11, F12) A program mkdse egyszer, a vezrl billentyk funkcija
    megjelenik a bejelentkez kpen, s egy HELP-et is krhetnk.

	 A hasznlt prhuzamos port, s az utoljra kezelt mikrokontroller
    azonostjt a program elmenti, s a legkzelebbi indtsakor mint
    alaprtket veszi alapul.

	 Az ATMEL "gyri" programok :
	 

	 Mint a lers elejn emltettem, a kapcsols alapja egy az ATMEL
    cg katalgusban megjelent kapcsolsi rajz volt.  Noha az eredeti
    kapcsolsi rajz tbb helyen jelentsen eltr az itt ismertetettl,
    azzal "kompatibilis", gy az ahhoz ajnlott - szabadon msolhat -
    programok is futnak rajta.

	 PC51-2.EXE :  Az LPT1 vagy LPT2-n mkd program, az AT89C51-hez.
	 PC52-2.EXE :  Az LPT1 vagy LPT2-n mkd program, az AT89C52-hz.

	 PC51-3.EXE :  Az LPT1 vagy LPT2-n mkd program, az AT89C51-hez.
	 PC52-3.EXE :  Az LPT1 vagy LPT2-n mkd program, az AT89C52-hz.

	 PC2051.EXE :  Az LPT1 vagy LPT2-n mkd program, az
    AT89C2051-hez.

	 PID.EXE : Egy segd program, amely kijelzi a PC-n tallhat
    prhuzamos portok megnevezst s cmt. 

				  - 4 -

	 Mint lthat itt kln program tartozik a 89C51, 89C52 s
    89C2051-hez is.  A -2 s -3 verziszm programok kztt a klnbsg a
    programozshoz szksges idalap ellltsban van.  Arra hogy a
    gpnkn melyiket rdemes hasznlni, nincs pontos recept, prbljuk ki
    mindkt verzit.  A tapasztalat szerint gyors gpeken csak a PC51-3.EXE
    s PC52-3.EXE mkdik jl.	A prhuzamos port azonostjt, s az
    getend file nevt kiterjesztsknt kell megadni.	Hasznlat :

	 PCxxxx.EXE <LPT1 | LPT2> <FNAME>

	 Fontos !  A programokat a fenti formban kell hasznlni, s nem
    gy, ahogy azt azok - a hibazenetben - krik.  (Ott elbb file nevt
    s utnna a port azonostt kri.  Hogy egy ilyen nagy baki hogy
    maradhatott egy nagy cg ltal ajnlott programban, az szmomra
    rthetetlen.)

	 Az ramkr megptse, bemrse :
	 

	 A beltets megknnytsre az IC-k egyes lbnak, valamint a
    polarits fgg alkatrszek - graetz, didk, ELKO-k, - pozitv
    kivezetsnek forrpontja szgletes.

	 Ha a tpfeszltsg rtke lnyegesen nagyobb 12 voltnl, a
    7805-ket szereljk egy htzszlval.  A kszlk bekapcsolt llapott
    a D2 LED jelzi.

	 Az alkatrszek beforrasztsa utn nzzk t mg egyszer alaposan a
    panelt, klnsen figyeljnk az elektrolit kondenztorok s a didk
    polaritsra.  Ha mindent rendben tallunk, helyezzk feszltsg al a
    kszlket, s mrjk meg a digitlis IC-k tpfeszltsgt, aminek
    termszetesen 5 volt krli rtknek kell lennie.  Ellenkez esetben
    azonnal kapcsoljuk ki a kszlket, s keressk meg a hiba okt.

	 Epromfoglalatnak legjobb ha karos IC foglalatot hasznlunk.

	 Fontos !  Amikor a karos IC foglalalat lbait forrasztjuk, a
    foglalat legyen nyitott llapotban.  Ha a forrasztskor a foglalat
    zrva van, elfordulhat, hogy az IC lbakat befog lemezkk a nyits
    utn is "csukva" maradnak.

	 Tesztels, hibakeress
	 

	 Az ATESZT.EXE programmal tetszleges tartalom rhat az IC2, IC3,
    IC5, IC7 trtmbkbe, lehetsges az getfeszltsg ki/bekapcsolsa,
    nagysgnak belltsa, gy vizsglhat a cmzs, az adatbers, s az
    egyes vezrlbitek hatsa.

	 Az ATESZT program arra is lehetsget ad, hogy a foglalatra
    csatlakoz cm s adatvonalakra automatikusan kldjn - egyesvel
    nvelve - adatot.  Igy a magas majd alacsony szintek vltakozsa jelzi
    hogy a bers mkdik.  Az adat beolvass leellenrzshez rjunk az
    IC7-be egy tetszleges adatot, (F10 billenty), majd azt az IC9-en
    keresztl olvassuk vissza.	(alt F10) 

				  - 5 -

	 Ha figyelmesen dolgoztunk, - s szerencsnk van - akkor az
    sszeraks s a sikeres tesztels utn azonnal hasznlatba vehetjk a
    kszlket.  Ellenkez esetben pl.	a kvetkez hibajelensgek
    lphetnek fel:

	 Ha a 74HC574-ekbe s a 74LS273-ba nem tudunk semmilyen tartalmat
    berni, akkor elszr is bizonyosodjunk meg arrl, hogy azt a portot
    vezreljk-e, amire az gett ktttk, ha igen, akkor a PC-s
    csatlakoz kbel bektst nzzk t, valamint egy esetleges rvidzrt
    kell keresnnk.  Ha a bers mkdik, de a beolvass nem, akkor lehet
    hogy a hasznlt prhuzamos port egyirny, vagy ha az az alaplapra
    integrlt akkor mint Standard Paralell Port (SPP) van konfigurlva, ez
    esetben a PC setupjt kell mdostani, a mkdsi mdot EPP (ez
    valsznleg az Enhanced Paralell Port rvidtse) vagy EPP/SPP-re
    trni.

	 Fontos !  Itt kell megjegyeznem hogy a PC alaplapok, prhuzamos
    portok eltr felptse, problmt okozhat.  Ha a PC-n fut program
    nem kezeli a csatlakoztatott gett, s a hibakeress eredmnytelen
    volt, azaz "minden jnak tnik", akkor - ha van lehetsg r - a
    kszlket egy msik PC-n is ki kell prblni.  (Sajnos szinte minden
    olyan, a prhuzamos portra csatlakoz eszkznl, ami a portot nem az
    eredeti clra, teht nyomtatsra hasznlja, eljhetnek
    "kompatibilitsi" hibk.) A mogolds ltalban egy prhuzamos port,
    vagy multi I/O krtya beptse a PC-be.

	 Ha csak egy trtmbbe nem tudunk tartalmat rni, ellenrizzk le
    hogy a CLK bemenetre eljut-e a vezrljel.

	 Ha egy ismert tartalm mikrokontroller beolvassakor a kpernyn
    ltott tartalom eltr a valsgostl, - olyan mikrokontrollerrel
    rdemes prblkozni, amelyik ASCII kd szveget is tartalmaz - az ok
    valamelyik adatvezetk szakadsa, vagy rvidzra lehet.  Ha a tartalom,
    vagy egy rsze felismerhet, de nem a valdi helyn, esetleg
    megduplzva lthat, akkor valamelyik cmvezetk van elszakadva vagy
    rvidrezrva.

	 Elvtve fordul el, hogy a hibt egy gyrtsi hibs IC okozza, pl.
    az get pr percig tkletesen mkdik, majd elromlik.  Az ok
    ltalban egy, a melegeds hatsra "elszll" IC.  Hibakeress :
    prbljuk - a mkdst figyelve - az egyes IC-ket kln kln lehteni.

	 Ha a 89c51/52 getse sikertelen, st a programozand IC mg
    melegszik is,- de 89cx051-et tudunk getni - akkor lehet hogy a
    rezgkr nem indult el, nzzk t a C1, C2 s X1 beltetst.

	 Nhny lnyeges dolog a hasznlathoz :
	 

	 - Az getshez szksges idztsek alapja PC raje, ezt
    az ATMEL.EXE program indulskor kiolvassa, az idztseknl ezt az
    rtket fogja alapul venni.  Ezrt a program indtsa utn a PC
    mkdsi sebessgt ne vltoztassuk, mivel az get algoritmus
    idztsei is megvltoznnak.  (A turb gombot ne kapcsoljuk t) !
    Megjegyzs:  Az get a kls zavarjelekre kevsb rzkeny ha a PC
    alacsonyabb rajellel dolgozik. 

				  - 6 -

	 - Fontos !  Elszr a PC prhuzamos port csatlakozjt, s a
    tpdugt nyomjuk a csatlakozjba, azutn az adaptert a konektorba.  (A
    tapasztalat szerint egy PC s egy kls hardwer eszkz csatlakoztatsa
    problms lehet.  A kt - bekapcsolt - ramkr fldpontja kztt akr
    tbbszr tz volt feszltsg klnbsg is lehet, ami az sszekts
    pillanatban termszetesen kiegyenltdik, egy - akr tbb amperes -
    ramimpulzus formjban.  Ez egy-kt IC hirtelen hallt, s akr a
    fldvezetk flijnak elgst is okozhatja.  Az elbbi hiba
    valsznsge a kls tpegysg teljestmnyvel egytt n.  Ezrt - ez
    ltalban is elmondhat - bekapcsolt kszlkeket lehetleg ne kssnk
    ssze.)

	 - A mikrokontroller foglalatba helyezsekor vagy kivtelnl
    lehetleg ne rjnk annak lbaihoz.  Az get s a PC fldpontja
    (amelyek ssze vannak ktve) valamint a testnk kztt tbbszz voltos
    elektrosztatikus feszltsg is lehet, ami az getend mikrokontrolleren
    keresztl kislve tnkreteheti azt, de az get ramkreit is
    krosthatja.)

	 Az getnek ez a verzija egy j fejleszts.  Noha a mkdtet
    program a gyakorlatban mr le lett tesztelve, - termszetesen n is ezt
    hasznlom a fejlesztsekhez - a hasznlat sorn szerzett tapasztalatok,
    s a felhasznlktl kapott visszajelzsek alapjn a mkdtet s a
    teszt program, de ez a lers is mg biztosan vltozni fog.  A
    jelenlegi program j verzijt "lemez ron" kapjk a korbbi vsrlk.

	 Szintn folyamatban az ATMEL cg RISC utastskszlettel
    rendelkez, rendkvl gyors,  AVR  nven bevezetett mikrokontroller
    csaldjnak getst is lehetv tev ramkr.

	 Vgl nincs ms htra mint hogy sok sikert kivnjak az ptshez,
    hasznlathoz.  Torkos Csaba, 8100 Vrpalota Pf.  65.  Telefon :
    napkzben 06/88/473-784, vagy (egsz nap, 8-23 rig) 06/30/9-472-294. 
