AT89c2051 help

Nov 17, 2005 25 Replies

Witam



Dopiero zaczynam zabawe z uP i chcialem zbudowac sobie taki no powiedzmy prymitywny zestaw uruchomieniowy na 2051.



Wybralem kwarc 10MHz, kondziolki 33pF ceramiczne do niego. Napisalem prosciutki programik w C ktory wlacza i wylacza wszystkie porty (oczywiscie z odpowiednim opoznieniem). Symulator pokazuje ze jest to dokladnie o co chodzi. Programuje procesor, wkladam w podstawke i wystepuje syndrom Delta Uniform Papa Alfa.



Srodowisko jakiego uzywam to Keil Demo. Plik wyjsciowy do programowania to hex. Mam pytanie - czego zapomnialem lub co robie zle??


Dobrze zaprogramowales? (Robisz weryfikacje?)

Jak sprawdzasz, czy wyjscie jest na portach? Jesli podpinasz diody, to ja pamietam, ze mi AT89 dawal jakies zalosne prady, musialem rekami zaslonic jakiekolwiek swiatlo, zeby dostrzec, ze slabiutko (tyci tyci) mi sie zapala dioda.

A moze to reset - pobaw sie z innym jego podpieciem. Jakis kondensatorek do ziemi i podlaczyc przez rezystor +5V..

Pozdrawiam, Merlin

KrzychK2 napisawszy:

Przeczytaj dokladnie dokumentacje wersji DEMO i sprawdz sobie w diassembly window jak wyglada kod programu.

Hint: demo nie umieszcza kodu od poczatku pameci procka.

pozdro, Dino

Witam,

Dnia 17-11-2005 (czwartek), KrzychK2 napisał(a):

^^^^^^^^^^^^^^^^^^^^^^^ Od razu widać, że krótkofalowiec. ;)

A programator ma opcję weryfikacji? Sprawdź, czy procesor jest dobrze zaprogramowany...

Oczywiście pomijam tego typu sprawy jak reset uC. :) Ewentualnie możesz podrzucić na grupę kod, choć niby piszesz, że ten jest ok...

Dino przemówił ludzkim głosem:

Dorzucę jeszcze info, że w wersji demo kod zaczyna się od adresu 2048, czyli poza pamięcią programu w 2051.

Witam,

Dnia 17-11-2005 (czwartek), Tomasz 'Merlin' Kolinko napisał(a):

W takim razie podłączyłeś coś nie tak, może diodę pomiędzy port a masę? Tak się nie robi... ;)

Tym Atmelkiem można bez problemu bezpośrednio i dynamicznie kilka wyświetlaczy 7-segmentowych obsłużyć...

Powitanko,

Z portu (z 1 nogi) mozna wyciagnac 20mA wiec powinno swiecic jak glupie;-). Oczywiscie: + -> opornik -> LED -> procek. Jak zasilasz LEDa z wewnetrznego pull-upa to nic dziwnego, ze ledwie bzdzi.

Pozdroofka, Pawel Chorzempa

I wszystko jasne :) (AT89 bawi³em siê krótko, a ATmega ju¿ ³adnie pod¶wietla diody pod³±czone miêdzy niego a masê :)

Pozdrawiam, Merlin

  • Robie jak najbardziej robie. Programuje go z pozyczonego ViLaba.
  • Nie to nie to. Port, dioda, opornik, gleba. Nawet jak pojawi sie tam cokolwiek to widac. Troche przesadzilem bo podlaczylem superjasna wiec nawet jak tam jakis stan nieustalony to swieci.
  • Probowalem, odlaczalem, podlaczalem przez kondensator, restartowalem po pojawieniu sie napiecia, to samo. Wyglada jakby wogole program nie startowal. Profilaktycznie wymienilem kwarca i nadal nic. A zeby go (albo mnie :) )

No fakt. To znaczy przyznam sie ze wersja Keil-a w tej chwili juz nie jest demo (a jeszcze pare chwil temu byla) i niestety nadal to samo. Nie chce zasmiecac grupy wiec moge na priva podeslac progam i wynikowy kod ktory programuje. Moze poprosu popelniam bledy z mojej niewiedzy...

  • Ale nie ja na to wpadlem :)

  • Jasne, programuje z ViLaba i potwierdza ze to co weszlo jest zgodne z tym co wejsc mialo.
  • Zrobiony.

To znaczy przyznam sie ze wersja Keil-a w tej chwili juz nie jest demo (a jeszcze pare chwil temu byla) i niestety nadal to samo. Nie chce zasmiecac grupy wiec moge na priva podeslac progam i wynikowy kod ktory programuje. Moze poprosu popelniam bledy z mojej niewiedzy...

Na poczatek diody: Vcc-opornik-dioda-proc jak juz koledzy napisali. Na probe wywal kondziolki z kwarcu, zadne moje uzadzenie ich nie ma i smigaja bezproblemowo. Czy masz mozliwosc programowania z plikow hex? pisze w asm i tylko takie examplesy moglbym podeslac.

KrzychK2 napisawszy:

Kolego, Kolego... pewnych spraw siê nie przegina. A ju¿ na pewno siê nie wypada chwaliæ.

pode¶lij pierwsz± linijkê z diassembly window.

Dino

KrzychK2 snipped-for-privacy@wp.pl napisał(a): ..

Czy musisz koniecznie "na Keil-u" ? SDCC Ci nie wystarczy ?

Piotrek

  • Kilka postow wyzej podeslalem ze jak najbardziej tak wlasnie zrobilem i jest tzw. kiszka.
  • Tez probowalem. Nawet podejrzewalem ze kwarc moze byc trup wiec go zmienilem i nadal nie robi ;(
  • Jak najbardziej tak. Wogole to bym ten swoj programik docelowy ktory bede uruchamiac machnal w asm, ale nie moglem sobie poradzic z przechowywaniem niektorych danych wiec zrobilem go w C.

Wiesz - to sa poczatki. Chcialem sie oprzec na jakims pelnym IDE, i jezyku ktory dobrze znam aby skrocic proces pisania i uruchamiania. Potem oczywiscie jak nabiore wprawy pojde na cos innego lub wogole przesiade sie na asm.

KrzychK2 snipped-for-privacy@wp.pl napisał(a): ..

Myślisz , że do SDCC nie ma dobrego IDE ? a)MIDE-51 (projekty jednoplikowe) b)Ceibo EC++ (IDE+symulator) W/w współpracują z SDCC i ... są ZA DARMO , bez jakichkolwiek ograniczeń. EC++ w wersji darmowej emuluje tylko 8051 , więc dla 89Cx051 jak znalazł.

Piotrek

W takim razie zwracam honor... mowie - dopiero co zaczynam zabawe i dziekuje za podpowiedz co do srodowiska :) Niestety nadal glowna czesc tematu czyli odpalenie prostego programu zostala nadal nie rozwiazana. Zastanawiam sie czy czasem procesor nie jest walniety ale chyba w takim wypadku by sie wogole nie chcial programowac??

Ciag dalszy walki ujawnil dziwna rzecz. Skompilowalem programik na mrugajacy LED pod MIDE-51. Wrzucilem do procka. Nadal nic. Wzialem srubokret i zaczalem stukac w XTAL 1 i .... dioda zaczela migac. Przestalem pukac, dioda sie zatrzymala. Ki diabel pomyslalem i zaczalem szukac innego krysztalku. Znalazlem OMIG cos kolo 8.5 MHz. Wlutowalem, kondensatory sobie darowalem, odpalam i nic. Hmm zaczolem szukac i przez przypadek dotknalem obudowy kwarcu. Wszystko ozylo... Dopoki trzymalem obudowe procesor pracowal, jak puscilem przestawal pracowac. Czyzby to oznaczalo uwalone wejscie zegarowe w procesorze??

czy¿by kto¶, kto my¶li, ¿e kondensatorki i masê do obudowy kwarcu pod³±cza siê dla pucu?

Marek Lewandowski ICQ# 10139051/GG# 154441 locustXpoczta|onet|pl http://pbase.com/mareklew, http://www.stud.uni-karlsruhe.de/~uyh0 [! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required