Programátor z knihy C pro mikrokon. ATMEL AT89S52 nefunguje

Předem děkuji všem co mi jak koli pomůžou.
Problém je asi v tom že jsem naprosto neschopný. Dle knížky C pro mikrokontroléry ATMEL AT89S52. (program uvision)
Sestrojil sem programátor. Nainstaloval programy rozchodil to snad.

Potíž je v tom, že zapíšu program a po provedení verifikace to nahlásí chyba zápisu.
Prosím jestli někdo může poradit čím to může být. Jo program by měl být asi funkční je přímo z přiloženého cd v HEX. A je naprosto banální, zde snad chyba neni.
Co mě napadlo nevim jesli se nějak nastavuje sinchronizace? nebo něco podobného mezi Pc a programátorem.

:arrow_right: administrator: přesunuto z "Jiné mikrokontroléry, procesory, hradla"

:arrow_right: administrator: přejmenováno z "zápis hex do AT89S52"

Co na to říct… Snad jen že nejsme jasnovidci, tudíž nemáme zapojení tvého programátoru, netušíme na jakém systému pracuješ, pokud to využívá COM - je hw nebo usb redukce?
Z toho, co jsi nám napsal nemáme šanci cokoli vydumat.

Mimochodem, když začínáš - nebylo by schůdnější se poohlédnout rovnou po nějakém modernějším jádru, na které stejně za pár měsíců přejdeš až zjistíš, že ti ta x51 nestíhá?
Např. pro AVR(mega/tiny) a PIC(18F…) tu najdeš dost informací i lidí, kteří budou moci případně helfnout :wink:
Třeba programátor do začátků s avr vyrobíš ze 4 odporů, 2 diod a 1 tranzistoru a je k dispozici free IDE a kompiler bez omezení.

Mám to přes com. Jenže o programování prakticky nic nevím.
No a to co píšeš. Věřím že je to tak jenže já neměl jak jinak začít.
Věřím tomu, že by to nějak mělo jít snad.

Pokud bys byl na toliko ochoten tak napiš co bys k tomu potřeboval aby si mi poradil a já ti to zašlu. Je mi naprosto jasné že nejsi jasnovidec a že dorozumět se s někím kdo o tom neví ani popel je těžké.

No a bohužel mě nenapadlo se optat na nějakým foru. Když sem ten programátor a vůbec ty věci sháněl no moje chyba.

Pro začátek nám sem dej schéma toho programátoru (jdou sem vkládat přílohy když jsi zaregistroavný).

kliše

**Bažant bude asi nějaký šprýmař… ** :question:

co na to říct… :unamused:
Jesli se dobře bavíš, budiž ti to přáno. Jesli to myslíš vážně, možná by jsi měl svůj zájem o jednočipy přehodnotit, protože k tomu jsou třeba i alespoň základy elektrotechniky, mezi něž rozhodně patří znalost významu slova “schéma”. :confused:

Ahoj bažante,
pokud nemáš k dispozici schéma programátoru nebo pokud nevíš co je to schéma, tak aspoň napiš, odkud jsi získal stavební podklady pro programátor. Na desce programátoru je napsáno “BEN 0089” a “SDK8251”, s tím ale moc neudělám.

schéma
Omlouvám se za včerejšek to bylo nedopatření.
A další omluva směřuje administrátorovi příště se pokusí to zprávně zařadit já to zrovna nepochopil na mnoho věcí jsem natvrdlí.

U schémata může být zavádějící nápis uplné schéma zapojení. No prostě uplné je to velké a schéma rozmístění vývodů P0 až P3 je to malé věřím že pro vás je to samozřejmost ale kdybi náhodou.

Jinak zatím moc děkuju je to semnou těžké.


Ještě mě došlo že může něco napovědět toto.

Ta tabulka rsdebug se používá na oživení té desky. RTS=reset, TxD(SCK), DTR(MOSI) Při zaškrtnutí se oběví napětí na daném vývodu. No a PORT tím prostě zvolím číslo portu na který to mám připojený.

No a tabulka SDK51 se používá na zavedení programu po té co v předchozím programu zvolím port. V této tabulce vyberu soubor převedený na HEX a zapíšu ho do procesoru. Jenže až to přejde do verifikace což jsem pochopil jako zpětné čtení programu tak to vyhodí chyba zápisu.

K tabulce SDK51 je ještě přiložen text v tom musím zapsat číslo portu no a prodlevu doporučená prodleva je 250 zkoušel sem 100, 250, 500, 1000 a 1500. Ale ani jednou se problém nijak nezměnil po upravě tohoto txt vdy sloučit.

Jo a propojení mám přímo přes rs 232.

Program je napsán v KEIL uvision3.

Doufám že jsem vám to nějak usnadnil moc mě toho nenapadá.
text sdk51.JPG
programátor.JPG
oživení a volba portu.JPG

To: Bazant

ak co len trochu mozes, nevenuj sa 89S52. Skvely procak vo svojej dobe. No cim viac sa nim budes zapodievat, tym viac casu minies a je asi uspora casu vratit sa zostvrtcesty ako z polcesty.

Skus sa poinformovat na PIC18xxx (LEN PREBOHA NIE pic16xxx !!! dopredu dakujem :slight_smile: ) alebo ATmegaXXX (doporucujem ATmega32, ATmega644P). Ma to daleko lepsiu perspektivu a velku podporu vo velkej komunite.

Moj nazor je (asi niektori nebudu suhlasit :slight_smile: ), ze sa ani nezdrzuj asemblerom ale venuj trochu casu naucenim sa tych 15 zakladnych prikazov v C-cku (if, while, for, +,-,*,/,=,&,|,&&,||,<<,>>,~,) plus volanie funkcii a deklarovsnie premennych s ktorymi realizujes vyse 80% aplikacii. V buducnosti Ti to usetri kopec casu. Viem, ze sa to teraz nemusi zdat, ale je to rada ucitela C-cka na jednocipy.

Drzim Ti palce :slight_smile:

Podklady pro programátor jsou ze zmíněné knihy “C pro mikrokontroléry ATMEL AT89S52”, mám pravdu? Přejmenoval jsem téma…

Pro začátek bych zkusil přeměřit ten výtvor. Programování bude zřejmě probíhat při aktivním resetu (nezkoumal jsem datasheet). Na Ucc by tedy mělo být asi 4.5-5.5V, na resetu něco kolem nuly když neprogramuješ, 5V při programování. U ISP je to horší, tam už za chodu bez nějakého ukazovátka moc nezjistíš. Můžeš si to ale zkusit bez připojeného PC. Když přivedeš na piny 3 a 4 u Canonu 0V, mělo by být na SCK a MOSI 5V, Při kladném napětí nad 5V na canonu pak 0V na zmíněných pinech.0V na MISO by mělo vytvořit něco pod +9V na pinu 8 canonu, 5V na MISO vytvoří zhruba to, co je na pinu 7 canonu zmenšeno o nějaký volt nebo tak. Na tom pinu 7 by při měření mělo být záporné napětí pod -3V (dle specifikace RS-232). Na vstupu “+” komparátoru 2-3V (dle diody).

Každopádně návštěvou obchodu, koupí AVRka, tranzistoru, 2 diod a 4 odporů bys ušetřil dost času a starostí :smiley:.

Ano je to ze zmíněné knihy.

Jo měření jsem provedl dle knihy. Bylo tam co je potřeba kde při oživování. Naměřil sem to co psali, ale ještě skusím naměřit cos napsal ty pokud vše budu vědět.
Mě pořád ale napadá jestli nemůže být někde nějaká chyba odemne. V nastavování programu nebo něco tak. Třeba něco pro vás naprosto samozřejmé na co ani nevzpomenete protože je to rutina je to naprosto jasné a ví to přece každej .

No ted jednoznačně ještě skusí mpřeměřit co budu vědět.

A co tam máš konkrétně za procesor ?

ATMEL AT89S52

Tak nevim ještě jednou jsem si prošel zapojení překontroloval to. Měřil sem to co si mi napsal. Trochu pozměněně protože k té knižce je cosi co nazvali oživovací softvare a k tomu napsali co mám naměřit kdy na rst a dalších svorkách což odpovídalo skoro přesně tomu co napsali. Nebylo tam napsáno to napětí na pinu 7 a komparátoru, ale řekl bych
pokud sem to dobře pochopil a správně změřil, že to odpovídá tomu co si mi napsal. No a ostatní je v té knížce vlastně to co si mi také psal.

Ještě než sem vám sem vůbec napsal tak sem samozřejmě hledal chybu u sebe. No a z toho důvodu jsem ten programátor udělal ještě jednou z uplně nových součástek a IO samozřejmě dal do patic. A fakt jsem jej udělal precizně. No a porovnal sem teda oba programátory a vykazují stejné hodnoty. Takže sem dnes ještě objednal znova procesor a pak už nevím. Ale tomu že je vadný procesor moc nevěřím.

běží ti oscilátor ? Máš osciloskop ?

Osciloskop nemám, ale oscilátor tipuju že běží protože při zapnutí zrní televize. A na jednom pinu je jako pi půl vteřinový signál a ten musí být snad z něčeho odvozen tipnul bych čítáním.

Zkoušel jsi tam nalejt např. nějaký blikátko? Jesli to třeba neblbne jen při verifikaci.