Pętla w asemblerze dla Atmela 89C2051 - wystawianie logicznej jedynki na porcie 1

programowanie atmela 89c2051





Poprzedni Następny
Wiadomość
Spis treści
From: "apart" <apartyka_at_nospam_kointech.com.pl>
Subject: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 16:35:44 +0200


witam
jestem zupelnie poczatkujacym assemblerowcem,
i mam problem z napisaniem banalnego programu,
ktory bedzie na port 1 mojego mikrokontrolera
(atmel 89c2051) wystawial logiczna jedynke w petli.
czy ktos moglby mi pomoc ?



Poprzedni Następny
Wiadomość
Spis treści
From: =?iso-8859-2?Q?Micha=B3_Lankosz?= <nie_at_nospam_lubie.spamu>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 16:48:42 +0200


ktory bedzie na port 1 mojego mikrokontrolera
(atmel 89c2051) wystawial logiczna jedynke w petli.

start:
mov p1,#0ffh
sjmp start


Czy o to chodziło?

--
Michał, SQ9FQQ http://sq9fqq.prv.pl/
GG:374157 http://free.ngo.pl/~sp9zcj/
e-mail: mike2001 (małpa) tlen.pl



Poprzedni Następny
Wiadomość
Spis treści
From: "apart" <apartyka_at_nospam_kointech.com.pl>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 16:54:55 +0200


chyba tak ;)
a nie powinno sie uzywac instrukcji
out ? mozesz mi podac jakis adres,
gdzie jest opis asemblera dla
tego kontrolera?

Użytkownik "Michał Lankosz" <nie_at_nospam_lubie.spamu> napisał w wiadomości
news:aamar7$hil$1_at_nospam_news.tpi.pl...
ktory bedzie na port 1 mojego mikrokontrolera
(atmel 89c2051) wystawial logiczna jedynke w petli.

start:
mov p1,#0ffh
sjmp start


Czy o to chodziło?

--
> Michał, SQ9FQQ http://sq9fqq.prv.pl/
> GG:374157 http://free.ngo.pl/~sp9zcj/
> e-mail: mike2001 (małpa) tlen.pl
>
>



Poprzedni Następny
Wiadomość
Spis treści
From: "Filip <DragonMaster>" <filip_gd_at_nospam_wp.pl>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 17:05:03 +0200


a nie łatwiej bascoma...........
tak tak assambler jest lepszy ale bascom chyba z lekka prostszy, wręcz
banalny
ja też się uczę i w miarę idzie...
pozdr



Poprzedni Następny
Wiadomość
Spis treści
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.onet.pl>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 18:32:11 +0200


Użytkownik "Filip <DragonMaster>" <filip_gd_at_nospam_wp.pl> napisał w wiadomości
news:17927-1020179035_at_nospam_as1-212.starogard.dialup.inetia.pl...
a nie łatwiej bascoma...........

Nie zaczynaj nauki od zlych nawykow :))
Jesli zaczniesz od assemblera, ktory nie jest wcale taki straszny, to na
pewno znacznie wiecej sie nauczysz

W razie czego pisz na priv.

Pozdrawiam
Bartosz Sarama



Poprzedni Następny
Wiadomość
Spis treści
From: =?iso-8859-2?Q?Micha=B3_Lankosz?= <nie_at_nospam_lubie.spamu>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 17:32:08 +0200


out ? mozesz mi podac jakis adres,
gdzie jest opis asemblera dla
tego kontrolera?
'51 nie ma takiego rozkazu jak out.
PDF z listą rozkazów znajdziesz na stronach Atmela.


Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 18:35:37 +0200


Użytkownik "apart" <apartyka_at_nospam_kointech.com.pl> napisał w wiadomości
news:3cceb01a$1_3_at_nospam_news.vogel.pl...
chyba tak ;)
a nie powinno sie uzywac instrukcji
out ? mozesz mi podac jakis adres,
gdzie jest opis asemblera dla
tego kontrolera?

Opis architektury MSC-51 i listę rozkazów masz np. tutaj:
http://www.ampr.intertele.pl/sq8feu/8051/index.htm
i jeszcze w 100 innych miejscach. (google -> '8051 kurs' )

Układy z serii 51 aczkolwiek oparte na tym samym (z grubsza) rdzeniu różnią
się w kwestii dostępnej pamięci i układów peryferyjnych. Np. nie ma sensu
użycie rozkazu MOVX w 89C2051 pozbawionej zewn. pamięci danych (xdata).
Dlatego zawsze musisz zacząć od karty katalogowej danej kości, aby zobaczyć
jakimi zasobami dysponujesz.
Lista rozkazów (poza wspomnianym wyjątkiem) jest identyczna dla wszystkich
wersji. Różnice uwidaczniają się przede wszystkim w obecności i znaczeniu
poszczególnych rejestrów SFR. A także w niektórych wersjach np. w obecności
drugiego rejestru DPTR.

Oprócz listy rozkazów musisz jeszcze znać szczegóły wynikające z używanego
przez Ciebie kompilatora asemblera. Dotyczy to przede wszystkim składni
dyrektyw (org, set, equ, macro, endm, db, dw, segmenty, itp ...).
Niektóre asemblery pozwalają np. na stosowanie ujednoliconych
pseudorozkazów call i jmp tłumaczonych automatycznie do odpowiedniej postaci
(sjmp, ljmp, acall, lcall).

Jeszcze uwaga co do wspomnianego w innym poście Bascoma:
Świetne narzędzie, żeby raz-dwa napisać prostą aplikację. Np. do szybkiego
'przegwizdania' uruchamianego sterownika. Zwłaszcza dzięki obsłudze I2C,
LCD... w kilku instrukcjach. Natomiast Bascom na tyle skutecznie ukrywa
szczegóły sprzętowe, że nie nauczysz się z nim efektywnego czy też
niestandardowego wykorzystania możliwości układu. Tzn. jeżeli od niego
zaczniesz nie znając porządnie architektury to prawdopodobnie na nim
poprzestaniesz. Do końca nie dowiadując się np. o tym, że istnieje wskaźnik
stosu i na dzień dobry trzeba go ustawić. Tym bardziej, że ztcw w bascomie
nie da się podejrzeć jak wygląda w asemblerze to co napisałeś w basicu.

MDz






Poprzedni Następny
Wiadomość
Spis treści
From: "apart" <apartyka_at_nospam_kointech.com.pl>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 19:31:18 +0200


jakiego kompilatora mam uzyc?
czy podawac jakies specjalne opcje ?
czy moge uzywac masma ?

Użytkownik "apart" <apartyka_at_nospam_kointech.com.pl> napisał w wiadomości
news:3cceab9b_3_at_nospam_news.vogel.pl...
witam
jestem zupelnie poczatkujacym assemblerowcem,
i mam problem z napisaniem banalnego programu,
ktory bedzie na port 1 mojego mikrokontrolera
(atmel 89c2051) wystawial logiczna jedynke w petli.
czy ktos moglby mi pomoc ?





Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 20:56:17 +0200


Użytkownik "apart" <apartyka_at_nospam_kointech.com.pl> napisał w wiadomości
news:3cced4c1$1_1_at_nospam_news.vogel.pl...
jakiego kompilatora mam uzyc?
czy podawac jakies specjalne opcje ?
czy moge uzywac masma ?

Potrzebujesz kompilator asemblera:
Imho masm nie jest do tego przeznaczony :-)

Jeżeli do zabawy to wystarczy na 5 min. założyć google. Np:
http://www.logonet.com.pl/~fortech/ (demo - max 2500B kodu wynikowego, dla
2051 wystarczy)
http://www.micromade.com.pl/urzprog1.htm#dsm51ass.zip

Jeżeli zamierzasz zajać się uC na poważnie to w perspektywie nastaw się
raczej na kompletne środowisko m.in. wyposażone w odrębny linker. Np.
zaopatrz się w demo uVision Keila ( www.keil.com ) .Ztcp zawiera m.in: A51,
C51, linker i debuger (z ograniczeniem do 2KB kodu wynikowego)

MDz




Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: programowanie atmela 89c2051
Date: Tue, 30 Apr 2002 21:14:31 +0200


Jeżeli zamierzasz zajać się uC na poważnie to w perspektywie nastaw się
raczej na kompletne środowisko m.in. wyposażone w odrębny linker. Np.
zaopatrz się w demo uVision Keila ( www.keil.com ) .Ztcp zawiera m.in: A51,
C51, linker i debuger (z ograniczeniem do 2KB kodu wynikowego)

Dokładnie i na dodatek jest zaj....piiiiiii-y! ;-))))))))

--
PZD, Irek.N.