Problém s AT89C2051 – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém s AT89C2051 – Assembler – Fórum – Programujte.comProblém s AT89C2051 – Assembler – Fórum – Programujte.com

 

Hohy
~ Anonymní uživatel
3 příspěvky
10. 2. 2007   #1
-
0
-

Dobrý den,
pracuji na zařízení s mikroprocesorem AT89C2051, ale mám jeden problém. Sestavil jsem si základní zapojení s tímto mikroprocesorem. Zapojení mi funguje, ale bohužel ne vždy. Po připojení napájení procesor někdy začne vykonávat program (blikání LED diody) bez problému, ale při dalším zapnutí zůstane dioda zhasnutá nebo svítí. Nevíte prosím, kde by mohla být chyba?
Děkuji za odpověd...

Nahlásit jako SPAM
IP: ...–
Matěj Pácha0
Super člen
10. 2. 2007   #2
-
0
-

Možná by pomohlo hodit sem schéma, popř. program. Příčin může být víc. Nejprve bych asi hledal okolo krystalu nebo bych zkontroloval spoje.

Nahlásit jako SPAM
IP: ...–
Ajem tíčr, andrgraund tíčr!
Hohy
~ Anonymní uživatel
3 příspěvky
10. 2. 2007   #3
-
0
-

Schéma jsem použil toto

, jen jsem vypojil kondenzátor na Resetu. Když ho tam nechám, tak se po jeho nabití rozsvítí Ledka a pak nic. Spoje by měly být v pořádku.

Použitý program:


blik:
cpl P3.7
mov R1, #200
nav1: mov R0, #200
nav2: nop
djnz R0, nav2
djnz R1, nav1
jmp blik

Nahlásit jako SPAM
IP: ...–
Matěj Pácha0
Super člen
10. 2. 2007   #4
-
0
-

Kondenzátor na RST by měl zpozdit reset do doby, než naběhne krystal a ostatní obvody. Že to s ním nefunguje, je divný. Jinak doufám, že máš program umístěn ve správném segmentu (až za adresami přerušení), popřípadě ošetřené vstupy externího přerušení (čítače). Je totiž možné, že právě tyto vstupy chytají rušení a vyvolávají přerušení. Ale jen tipuju. Nic jiného mě nenapadá.

Nahlásit jako SPAM
IP: ...–
Ajem tíčr, andrgraund tíčr!
Jiří Chytil0
Věrný člen
11. 2. 2007   #5
-
0
-

Ehm nejsem si jist al enamá být reset připojen ještě odporem na zem, ??

Nahlásit jako SPAM
IP: ...–
Elektronika a microprocesory a matematika www.8bitu.cz
Matěj Pácha0
Super člen
11. 2. 2007   #6
-
0
-

Víc by asi prozradil datasheet...

Nahlásit jako SPAM
IP: ...–
Ajem tíčr, andrgraund tíčr!
pepe123
~ Anonymní uživatel
1 příspěvek
11. 2. 2007   #7
-
0
-

ano má tam být odpor připojený k zemi
I--*R 10k* ----reset -----*C 10uF*--- +

Nahlásit jako SPAM
IP: ...–
Hohy
~ Anonymní uživatel
3 příspěvky
11. 2. 2007   #8
-
0
-

To paashi:
Tím přerušením, to mě nenapadlo, tím by to být mohlo...
To pepe123, Sunmay:
Ten odpor tam být nemusí, pouze urychlí nabití kondenzátoru. Interně je pin RESET připojen k zemi přes odpor asi tak 300k.

Nahlásit jako SPAM
IP: ...–
BgDestroy
~ Anonymní uživatel
6 příspěvků
31. 3. 2007   #9
-
0
-

Takze to moze byt viacero dovodov.

1. Niektore krystaly maju problem sa rozkmitat pri takomto zapojeni, takze by som to riesil cez invertory ako zdoj hodinoveho signalu (max 24MHz).

2. v programe nevidim prikaz ORG 0 ten urcuje od kadial sa ma program spustit pri resete.

3. ked som si vsimol program tak on sa to na jednoduchsie preco tam je nav2: nop tento tam nemusel byt ale v programe nie je chyba az na to ORG 0.

A podla chybu ti to robi napr.

po dlhsom vypati ked si to zapal tak ti to islo normalne (C = 10uF bol vybity) ale potom ako akonahle si to vypal a potom nasledne zapal kondik sa nestihol vybit.

Nahlásit jako SPAM
IP: ...–
Tomáš
~ Anonymní uživatel
560 příspěvků
16. 1. 2008   #10
-
0
-

Zdravím,
jsem neznalý v oblasti programování. Mám zařízení s tímto mikrokontrolérem, ale zbytek obvodu, se kterým pracuje je v "havarijním stavu". Dá se přes programátor "vytáhnout" program, který je do něho vložený a nahrát do nového mikrokontroléru na nově sestaveném obvodu?
Předem díky za odpověď

Nahlásit jako SPAM
IP: 88.101.154.–
Vyhnal Zdenek
~ Anonymní uživatel
1 příspěvek
26. 2. 2008   #11
-
0
-

To Tomáš :
Ano, pokud nejsou nastaveny v mikrokontroleru bity, ktere zakazuji cteni. Tyto bity obvykle nastavuji profesionalni vyrobci HW/SW, pokud nechteji, aby doslo vyzrazeni programu a naslednemu kopirovani jejich vyrobku. Takze to zbyva jen zkusit.

Prikladam kopii souvisejiciho anglickeho textu z datasheetu AT89C2051:

On the chip are two lock bits which can be left unprogrammed (U) or can be programmed (P) to
obtain the additional features listed in the Table 8-1.
Note: 1. The Lock Bits can only be erased with the Chip Erase operation.
Table 8-1. Lock Bit Protection Modes(1)
Program Lock Bits
LB1 LB2 Protection Type
1 U U No program lock features
2 P U Further programming of the Flash is disabled
3 P P Same as mode 2, also verify is disabled


Email:vyhnaz1@fel.cvut.cz

Nahlásit jako SPAM
IP: 147.32.194.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
23. 3. 2008   #12
-
0
-

To Hohy :
niesom neaky skuseny clovek v tychto veciach, ale skus odpojit kondenzatory, ktore su pripojene nedzi Xtal1 (Xtal2) a zem. Su to tie male, pikofaradove. Kamarat mal rovnaky problem, chcel vyskusat tie kondiky vymenit za neake s inou kapacitou, ale spustil to, ked ich mal odpajkovane, a funguje mu to stale, tak ako ma. tak ich tam potom ani nedaval, i ked podla datasheet-u od vyrobcu by tam maly byt. Vyskusaj

Nahlásit jako SPAM
IP: 91.127.53.–
xp0
Věrný člen
24. 3. 2008   #13
-
0
-

To Hohy : místo jednoduchého zapojení s krystalem a dvěma kondíky radši použij zapojení s invertory jak již někdo psla výše, toto zapojení používám a nikdy jsem s ním neměl problémy, kdosi tu zmínil přerušení - tím to pravděpodobně nebude protože se musí nejdříve zapnout. Nejpravděpodobněji bude chyba v resetovacím obvodu, přidej tam ten odpor a nastav časovou konstantu tak na cca 200-500ms, jde někomu zobrazit to schéma?

Nahlásit jako SPAM
IP: 213.29.120.–
Není čas ztrácet čas
IvanDedek
~ Anonymní uživatel
1 příspěvek
16. 4. 2008   #14
-
0
-

To xp : K Hardware:
Obvod oscilátoru je jednoduchý a spolehlivý, pokud se zapojí krystal mezi piny 4 a 5 a oba piny se navíc připojí přes keramický kondenzátor 33pF na zem napájení (pin 10 čipu). Krystal nesmí mít frekvenci vyšší než 24MHz.
Resetovací obvod funguje spolehlivě, je- li pin 1 připojen přes elektrolytický kondenzátor 10uF na VCC (pin 20 čipu) a zároveň přes rezistor cca 10Kohm na zem napájení (pin10 čipu). Pozor na polaritu kondenzátoru, kladným pólem připojit na VCC.
K software:
Na adrese 0 by měla být instrukce skoku za část programové paměti, která je určena pro vstupní body rutin ošetřujících přerušení. U tohoto čipu stačí skákat na adresu 30h a vyšší. Je dobré všechny vektory přerušení, které se nepoužívají, ošetřit prázdnou rutinou, tedy instrukcí RET.
K výsledkům práce:
To, že LED svítí, ještě nemusí být pravda. Může totiž blikat vysokou frekvencí, takže se to jeví, jako že svítí. Smyčka "nav1" má 3 strojní cykly opakované 200x, což je 600 cyklů. Tato smyčka se přes "nav2" opakuje zase 200x, tedy perioda je 120000 cyklů. Při frekvenci krystalu 24 MHz trvá jeden stojní cyklus 0,5 us. Smyčka je tedy dlouhá 60 ms, což je doba, po kterou LED svítí, stejnou dobu je zhasnutá. Jinými slovy cca 8x za sekundu blikne.
Jsem na tomto fóru poprvé, tedy něco o mě: Zabývám se profesionálně návrhy zařízení s jednočipovými mikrokontroléry rodiny MSC51 pro různé účely, např. pro distrubuované periferie CNC systémů, vyhodnocovací a indikační jednotky měřících zařízení, řídící jednotky spalovacích motorů aj.

Nahlásit jako SPAM
IP: 88.146.251.–
Petiak
~ Anonymní uživatel
1 příspěvek
8. 2. 2024   #15
-
0
-

#8 Hohy
V pripade, ze sa externy rezistor v tomto pripade nevyuzije treba znizit kapacitu kondenzatoru na 1uF.

Nahlásit jako SPAM
IP: 90.64.88.–
JerryM0
Věrný člen
10. 2. 2024   #16
-
0
-

těch důvodů proč ti to nefunguje muže bejt víc.

1/ jestli máš starou verzi AT89C2051 tak to nebyl procesor ale programovatelný logický pole. firma si to v počátcích takhle zjednodušila. a bohužel byly poněkud nestabilní při "nestabilním" napájení a hlavně i při malých přepětích a kolísání napětí a pak to blblo. zasekával se a resetoval se

2/ kondenzátory u krystalu musí být keramické a ideálně 15pF. Nedávej tam 33pF !!!. kondenzátory mohly odejít pokud si použil nějaký méně kvalitní a pak to takhle blbne. jestli máš 24MHz krystal tak použij 15 nebo lépe 10pF kondenzátory.

tady je manuál

https://ww1.microchip.com/downloads/en/DeviceDoc/doc0368.pdf

strana 4.

3/ stáhnout program z procerosu se dá pokud procesor není uzamčený. já mám stařičký programátor od téhle firmy:  https://www.elektro-obecnice.cz/ ; ale je to pro MSDOS  a na připojení na LPT1: port. funguje to ok. Není to InSystemProgrammable. Viz obrázek níže. Firma ho dnes vyrábí už jen na žádost.

4/ Procesor se spustí i bez resetovacího obvodu ale pro reset ho potřebuješ. tady je schéma:

https://ww1.microchip.com/downloads/en/Appnotes/doc1489.pdf

reset vyvoláš připojením kladného napájecího napětí.

5/ moderní náhradou za stařičký AT89C2051 je AT89S2051. Bohužel je rychlejší a bude nutné upravit program, což se nevyplatí.

6/ Jinak AT89C2051 je klasická 8051 architektura se vším všudy.

7/ Moderní programátory na USB pod Win10 se daj sehnat všude možně ale sou docela drahý. levnější sou na Aliexpress. otázka je jestli k nim číňani dodávaj i programovací software.

Připojen obrázek.

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:7128:73dd:4032:a89d...–
10. 2. 2024   #17
-
0
-

Má smysl reagovat na téměř 16 let staré vlákno? Myslím, že buď problém vyřešil, nebo šel od toho a problém upadl v zapomnění.

hu

Nahlásit jako SPAM
IP: 85.163.162.–
JerryM0
Věrný člen
10. 2. 2024   #18
-
0
-

aha sakra 16 let starý ? :) :) :) :) :) :) :) :) :) :)  sem si nevšim :) :) :) :) :) :) :) :) :) :)

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:7128:73dd:4032:a89d...–
remmidemmi0
Věrný člen
15. 3. 2024   #19
-
0
-

#18 JerryM

To tak nevadí, že vlákno začalo před 16 roky. Čas je relativní. Pro lidi, kterým je dnes 20 let, vlákno začalo v jejich "pravěku". Pro mne, když mi je dnes 70, vlákno začalo nedavno.

Porouchal se mi zdroj v počítači, který jsem koupil v květnu 2004. Počítač běžel 20 let non-stop ve dne v noci. Celých 20 let. Byly na něm XP a sloužil jako server pro úložiště. Počítač měl zdroj 450 Watt, který je 3x menší nerž dnešní 450 watt zdroje.  Počítač jsem tedy zatím odstavil a vytahnul jsem jiný starší počítač, pomalejší z  roku 1998. Má ještě paralelní port. Ale funguje :) a to je důležitý.

Mimochodem, těch procesorů, které se dělají formou hradlových polí je docela dost. Stává se z toho jakási móda. V Číně existuje firma Western Digital Corporation, která parazituje jménem na původní americké firmě Western Digital Corp. Tato čínská WDC vyrábí většinu součástek formou hradlových polí a to i starých , dávno nevyráběných součástek. Jsou to novodobé náhražky, bohužel ne vždy kompatibilní.

Nahlásit jako SPAM
IP: 89.24.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 117 hostů

Podobná vlákna

AT89c2051 a PRESTO — založil mvlach

ATMEL AT89C2051 — založil stepaivo

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý