ATMEL 89C2051 změna časování pro kolejiště

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
OMA50
Příspěvky: 270
Registrován: 17 bře 2013, 00:00

ATMEL 89C2051 změna časování pro kolejiště

#1 Příspěvek od OMA50 »

Ahojte.

Prosím Vás kolegové o pomoc.Hned ze začátku říkám,že programování procesorů nerozumím.Elektronice se jinak věnuji 20 let...ale mimo procesory..ale to je jiná věc....nyní k mému problému.

Soused mi včera donesl domu na opravu amatérsky zbastlený časovač pro kolejiště (cca 15let starý) na desce je osazen mikroprocesor 89C2051,krystal,stabilzátor a vstupní/výstupní obvody.
Zkrátím to,deska plní jen časové funkce např. na kolejišti je optozávora mezi kterou projede vláček,pošle puls do ATMELU,procesor odpočítá nějaký interval a následně sepne výstup atd....to ani není důležité, spíš mi jde o jinou věc.
Soused nyní požaduje upravit délku sepnutí výstupů pro semafory cca z 5 sekund na 10 sekund na jednom určitém pinu z procesoru.Jenže....co s tím.Procesor programoval človíček,který již není mezi námi a jediné co mám k dispozici je HEX soubor procesoru.
Proto se vás chci zeptat,mohu s HEX souborem nějak nakládat a převést tento soubor "někam" kde by šel program upravit a pak ho znovu do atmelu nahrát zpět?Programátor mám.děkuji vše za info
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#2 Příspěvek od ZdenekHQ »

Prodloužit externě přes MKO. Upravovat to a hledat v původním HEX je docela záhul. I když si to samozřejmě převedeš do JSA (ASM).
Naposledy upravil(a) ZdenekHQ dne 25 dub 2021, 20:15, celkem upraveno 1 x.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#3 Příspěvek od termit256 »

Nez to hledat z hexu, bude rychlejsi to cele napsat znovu, pokud to neni nejaky komplikovany program.
Uživatelský avatar
OMA50
Příspěvky: 270
Registrován: 17 bře 2013, 00:00

#4 Příspěvek od OMA50 »

Děkuji za reakce.....njoo ale jak napsat znovu :D

soudruzi na to tahle fabrička není zařízená :D :D

Takže moje představa typu,stáhnout ATMEL STUDIO 7...převést HEX do nějakého souboru co tento program zvládne,upravit soft,převést ho zpět do HEX na šup do atmelu...je špatná představa?
Uživatelský avatar
Cowley
Příspěvky: 3557
Registrován: 04 úno 2005, 00:00

#5 Příspěvek od Cowley »

Vyšel bych z poměru "VÝKON/CENA" a jak máš souseda rád.

1) Je možné zjistit funkce vstupních / výstupních okolních obvodů a potom podle toho naprogramovat nového brouka.

2) Pokud jde jen o prodloužení jednoho plně funkčního výstupu, který dělá 5s a má dělat 10s, lze vložit mezi vlastní PIN brouka a následné obvody jiný "malý" zpožďovač (555, 4093, 40106 apod.). Nebo tento zpožďovač napojit až na úplný výstup z desky, abys nepracoval přímo s vlastním broukem.

3) Vyrobit kopii zařízení s jiným broukem, který se třeba sám naučíš programovat, až zase příště s něčím přijde.

EDIT: Jsem za Plhu, Zdenda vyhrál... :)
a Termit taky ...
Uživatelský avatar
voitano
Příspěvky: 523
Registrován: 02 pro 2009, 00:00

#6 Příspěvek od voitano »

Pokud se budete přece jen vrhat do naprogramování, tak jako nejjednodušší variantu bych stáhnul IDE od Mikroelektroniky BASIC pro 8051 a udělat to v tom
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#7 Příspěvek od termit256 »

OMA50 píše:...převést HEX do nějakého souboru co tento program zvládne,upravit soft,převést ho zpět do HEX na šup do atmelu...je špatná představa?


No, pokud nezvladas asm jak kdyz bicem mrska, tak na tohle zapomen. Z hex do asm to prevest jde, ale vysledek je opravdu dost neprehledny. Proto jsem psal, ze je rychlejsi to napsat cele znovu, pokud je funkce jen nejake casovani apod.
Uživatelský avatar
OMA50
Příspěvky: 270
Registrován: 17 bře 2013, 00:00

#8 Příspěvek od OMA50 »

Nezvládám asb....v této oblasti jsem jak slon v porcelánu.

a program atmel studio 7 by zvládlo rozbalit asb.soubor a i ho upravit?

Mohu se zeptat,kde je možno převést HEX do ASB ?

Děkuji a omlouvám se za amatérismus,opravdu programování šlo mimo mě.
Uživatelský avatar
monterjirka
Příspěvky: 2855
Registrován: 14 čer 2003, 00:00
Bydliště: Blížejov

#9 Příspěvek od monterjirka »

Kdyby šlo prodloužit úplně vše na dvojnásobek, co třeba HW zákrok - dát tam krystal s poloviční frekvencí?
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#10 Příspěvek od ZdenekHQ »

OMA50 píše:...převést HEX do nějakého souboru co tento program zvládne,upravit soft,převést ho zpět do HEX na šup do atmelu...je špatná představa?

Je to velmi naivní představa. Nedostaneš původní zdroják, ale jen hromadu instrukcí a noname čísel/adres. Jednou jsem to musel dělat, předělával jsem jakejsi panel pro volejbalisty na jiný časy, a byl to docela záhul.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
Celeron
Příspěvky: 20508
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#11 Příspěvek od Celeron »

Někdy to zase není tak strašný. Před časem jsem pro kámoše vyráběl časovej stmívač pro ptactvo z koupený stavebnice. Byl k tomu k dispozici taky jen hex. Hodiny se v tom dost předcházely, komunikace s autorem trochu vázla a tak jsem do Xeltec programátoru natáhl hex a editorem jsem ručně našel sekvenci instrukcí: (za středníkama je rozbor co tím chtěl autor říci)
MOV TH1,#(HIGH(15555)) ;TMOD.7(C/T\)=0 CASOVAC
MOV TL1,#(LOW(15555)) ;TMOD.6,TMOD.5 (M1=0,M0=1) 16-TI BIT
MOV TMOD,#00010101B
MOV COUNT,#20 ;20 * 50MS(INT T1) = 1 SEK
No a metodou pokus omyl jsem našel hodnoty na podstatně přesnější chod hodin. :)
Třeba by v tvým případě stačilo hodnotu pro COUNT zvýšit na dvojnásobek. Tedy pokud je časování dělaný od přerušení a né nějakejma smyčkama v programu. Hex přímo editovat nemůžeš, jsou tam kontrolní součty.
Jirka

Proč mi nemůže všechno chodit hned ?!!
Uživatelský avatar
pocitujlasku
Příspěvky: 2764
Registrován: 12 pro 2005, 00:00
Bydliště: SR, Poprad

#12 Příspěvek od pocitujlasku »

20 rokov, programoval to pravdepodobne uz niekto starsi - takze to bude klasika cez smycky. Ale aj tam by sa dala najst a upravit hodnota.
Ale ako pisali, rychlejsie by to bolo zakreslit vstupy/vystupy a niekto sikovny ma program za jedno popoludnie.
No vidis, a tak si sa bal
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#13 Příspěvek od ZdenekHQ »

@Celeron: Já tam musel ještě kus kódu dopsat.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
OMA50
Příspěvky: 270
Registrován: 17 bře 2013, 00:00

#14 Příspěvek od OMA50 »

Celeron píše:Někdy to zase není tak strašný. Před časem jsem pro kámoše vyráběl časovej stmívač pro ptactvo z koupený stavebnice. Byl k tomu k dispozici taky jen hex. Hodiny se v tom dost předcházely, komunikace s autorem trochu vázla a tak jsem do Xeltec programátoru natáhl hex a editorem jsem ručně našel sekvenci instrukcí: (za středníkama je rozbor co tím chtěl autor říci)
MOV TH1,#(HIGH(15555)) ;TMOD.7(C/T\)=0 CASOVAC
MOV TL1,#(LOW(15555)) ;TMOD.6,TMOD.5 (M1=0,M0=1) 16-TI BIT
MOV TMOD,#00010101B
MOV COUNT,#20 ;20 * 50MS(INT T1) = 1 SEK
No a metodou pokus omyl jsem našel hodnoty na podstatně přesnější chod hodin. :)
Třeba by v tvým případě stačilo hodnotu pro COUNT zvýšit na dvojnásobek. Tedy pokud je časování dělaný od přerušení a né nějakejma smyčkama v programu. Hex přímo editovat nemůžeš, jsou tam kontrolní součty.


Přesně něco podobnýho jsem myslel...jenže jak ten soubor BIN. převedu na "něco" kde to takhle uvidím rozepsané...jde to vůbec?
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#15 Příspěvek od termit256 »

Muzes zkusit tohle https://ghidra-sre.org/
Jak moc pouzitelny bude vysledek ale netusim.
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“