Prosty program w asemblerze do migania diodą LED na Atmel 89C2051 - gdzie szukać?

Atmel 89c2051





Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej" <annocun_at_nospam_poczta.onet.pl>
Subject: Atmel 89c2051
Date: Wed, 6 Jun 2001 09:57:08 +0200


Czy ktoś z szanownych grupowiczów podeśle mi prosty program w
asemblerze(*.asm) procesora atmela 89c2051, taki żeby sterował portem tego
procesora- chodzi mi o to żeby migała dioda led (szeregowo z rezystorem) na
jednym z wyjść tego procesora, pragnę nauczyć się asemblera i nie mam z kąd
wziac materialow do nauki a mam programator i procesor do programowania
juz wiem jak zapisac i odczytac z procesora informacje), a nie znam nawet
podstaw asemblera tak wiec nie wiem skad mam wziac jakies proste programy do
nauki jak do migania diody ,czytania prostej klawiatury czy stopera,
zegarka,miernika temperatury itd, a moze jakies informacje , ksiazki , grupy
dyskusyjne, strony www (szukalem ale tylko programowanie w asemblerze 86,
c++,baskom a nic wiecej, brak konkretów) .Z góry dziękuję za pomoc.
annocun_at_nospam_poczta.onet.pl



Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Lewandowski" <locust_at_nospam_priv4.onet.pl>
Subject: Re: Atmel 89c2051
Date: Wed, 6 Jun 2001 19:13:36 +0200


Użytkownik "Andrzej" <annocun_at_nospam_poczta.onet.pl> napisał w wiadomości
news:9fkno8$2s9a$1_at_nospam_news2.ipartners.pl...
Czy ktoś z szanownych grupowiczów podeśle mi prosty program w
asemblerze(*.asm) procesora atmela 89c2051, taki żeby sterował portem tego
procesora- chodzi mi o to żeby migała dioda led (szeregowo z rezystorem)
na
jednym z wyjść tego procesora, pragnę nauczyć się asemblera i nie mam z
kąd
wziac materialow do nauki a mam programator i procesor do programowania
juz wiem jak zapisac i odczytac z procesora informacje), a nie znam nawet
podstaw asemblera tak wiec nie wiem skad mam wziac jakies proste programy
do
nauki jak do migania diody ,czytania prostej klawiatury czy stopera,
zegarka,miernika temperatury itd, a moze jakies informacje , ksiazki ,
grupy
dyskusyjne, strony www (szukalem ale tylko programowanie w asemblerze 86,
c++,baskom a nic wiecej, brak konkretów) .Z góry dziękuję za pomoc.

Kup książkę traktującą o procesorach rodziny MCS51 (Atmelki do niej należą,
różnią się tylko tym, że w zależności od wersji mają np. wyprowadzoną tylko
część portów - 2051 -, dodatkowe rzeczy - '52 itp. różnice opisane są w
dokumentacji Atmeli).
Np. Gałki "programowanie proc. MCS51", czy jakoś tak.
Ja uczyłem się podstaw z kursu w EdW dawno temu (koło 97r), ale umiałem już
dość dobrze programować na PC.

--
Marek Lewandowski
marek.lewandowski_at_nospam_multicon.pl UIN: 10139051
http://locust.republika.pl




Poprzedni Następny
Wiadomość
Spis treści
From: "TOMEK(STEAN)" <stean_at_nospam_poczta.onet.pl>
Subject: Re: Atmel 89c2051
Date: Wed, 06 Jun 2001 20:16:52 +0200


"Andrzej" <annocun_at_nospam_poczta.onet.pl> napisal(a):

Czy ktoś z szanownych grupowiczów podeśle mi prosty program w
asemblerze(*.asm) procesora atmela 89c2051, taki żeby sterował portem tego
procesora- chodzi mi o to żeby migała dioda led

LED EQU P1.7 ;Dioda TEST podlaczona np. do P1.7

LJMP START
ORG 100H
START:

LOOP: ;petla mrugania diody TEST
CLR LED ;zeruj linie - zapal diode TEST
SETB LED ;ustaw linie - zgas diode TEST
LJMP LOOP ;powtorz

Przyklad dla 8051.

Poszukaj w necie cos na temat 8051 jest tego naprawde duzo, odpal
wyszukiwarke.
Jest tez ksiazka po Polsku dla poczatkujacych, mozna kupic w
ksiegarni:
`Podstawy programowania mikrokontrolera 8051` Piotr Galka, Pawel Galka

Tomek(Stean)

Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Lewandowski" <locust_at_nospam_priv4.onet.pl>
Subject: Re: Atmel 89c2051
Date: Wed, 6 Jun 2001 20:26:36 +0200


Użytkownik "TOMEK(STEAN)" <stean_at_nospam_poczta.onet.pl> napisał w wiadomości
news:6jsshtgnbv1dcml3do7cjaapo2ntpipele_at_nospam_4ax.com...
"Andrzej" <annocun_at_nospam_poczta.onet.pl> napisal(a):

Czy ktoś z szanownych grupowiczów podeśle mi prosty program w
asemblerze(*.asm) procesora atmela 89c2051, taki żeby sterował portem
tego
procesora- chodzi mi o to żeby migała dioda led

LED EQU P1.7 ;Dioda TEST podlaczona np. do P1.7

LJMP START
ORG 100H
START:

LOOP: ;petla mrugania diody TEST
CLR LED ;zeruj linie - zapal diode TEST
SETB LED ;ustaw linie - zgas diode TEST
LJMP LOOP ;powtorz

Efekt: migotanie na 250kHz przy zegarze 12MHz. Chyba nie zauważysz...
lepiej:


loop:
cpl p1.7
mov b,#0h
clr a
loop1:
djnz acc,$
djnz b,loop1
sjmp loop


--
Marek Lewandowski
marek.lewandowski_at_nospam_multicon.pl UIN: 10139051
http://locust.republika.pl




Poprzedni Następny
Wiadomość
Spis treści
From: "MaczekG" <maczekg_at_nospam_go2.pl>
Subject: Re: Atmel 89c2051
Date: Wed, 6 Jun 2001 20:23:40 +0200


LOOP: ;petla mrugania diody TEST
CLR LED ;zeruj linie - zapal diode TEST
SETB LED ;ustaw linie - zgas diode TEST
LJMP LOOP ;powtorz

W zasadzie tak, tylko czy ktokolwiek zauwazy mruganie tej diody? :)))))))
Pozdrawiam
maczek



Poprzedni Następny
Wiadomość
Spis treści
From: "TOMEK(STEAN)" <stean_at_nospam_poczta.onet.pl>
Subject: Re: Atmel 89c2051
Date: Wed, 06 Jun 2001 20:51:28 +0200


"MaczekG" <maczekg_at_nospam_go2.pl> napisal(a):

LOOP: ;petla mrugania diody TEST
CLR LED ;zeruj linie - zapal diode TEST
SETB LED ;ustaw linie - zgas diode TEST
LJMP LOOP ;powtorz

W zasadzie tak, tylko czy ktokolwiek zauwazy mruganie tej diody? :)))))))

racja to tak z rozpedu wpastowalem :)))

Pozdr.
Tomek.


Poprzedni Następny
Wiadomość
Spis treści
From: "TOMEK(STEAN)" <stean_at_nospam_poczta.onet.pl>
Subject: Re: Atmel 89c2051
Date: Wed, 06 Jun 2001 20:41:44 +0200


Przyklad dla 8051.

oczywiscie to tylko skopiowany przyklad.
potrzeba tam jeszcze wprowdzic opoznienie czasowe bo dioda nie zamryga
)


Poprzedni Następny
Wiadomość
Spis treści
From: "Maciej Wywrocki" <wywrocki_at_nospam_pnet.pl>
Subject: Re: Atmel 89c2051
Date: Wed, 6 Jun 2001 23:55:53 +0200



Użytkownik "TOMEK(STEAN)" <stean_at_nospam_poczta.onet.pl> napisał w wiadomości
news:6jsshtgnbv1dcml3do7cjaapo2ntpipele_at_nospam_4ax.com...

Jest tez ksiazka po Polsku dla poczatkujacych
`Podstawy programowania mikrokontrolera 8051` Piotr Galka, Pawel Galka
- wyd. MICOM

Bardzo fajna na początek. Dołączony prosty kompilator i kody źródłowe
przykładów.
(To tak od siebie, jakby co :)).

Mw





Poprzedni Następny
Wiadomość
Spis treści
From: "dareqpl" <darekpl_at_nospam_box43.pl>
Subject: Re: Atmel 89c2051
Date: Fri, 8 Jun 2001 00:04:11 +0200



Użytkownik "Maciej Wywrocki" <wywrocki_at_nospam_pnet.pl> napisał w wiadomości news:9folpl$d98$5_at_nospam_news.tpi.pl...

Użytkownik "TOMEK(STEAN)" <stean_at_nospam_poczta.onet.pl> napisał w wiadomości
news:6jsshtgnbv1dcml3do7cjaapo2ntpipele_at_nospam_4ax.com...

Jest tez ksiazka po Polsku dla poczatkujacych
`Podstawy programowania mikrokontrolera 8051` Piotr Galka, Pawel Galka
- wyd. MICOM

Bardzo fajna na początek. Dołączony prosty kompilator i kody źródłowe
przykładów.
(To tak od siebie, jakby co :)).

Jesli osobnik nie ma pod reka zestawu DSM51 opisywanego
w tej ksiazce, to zdecydowanej wiekszosci przykladowych programow
nie bedzie w stanie uruchomic. Dolaczony kompilator jest IMHO
cieniutki. Ogolnie ksiazka jest ciekawie napisana, ale nie polecam jej
jako glownego zrodla wiedzy o 8051.
(ale za to jest fajna wkladka, z ktorej czesto korzystam :)

pozdrawiam
dareqpl




Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl>
Subject: Re: Atmel 89c2051
Date: Wed, 06 Jun 2001 18:12:46 +0200


Andrzej wrote:

Czy ktoś z szanownych grupowiczów podeśle mi prosty program w
asemblerze(*.asm) procesora atmela 89c2051, taki żeby sterował portem tego
procesora- chodzi mi o to żeby migała dioda led (szeregowo z rezystorem) na
jednym z wyjść tego procesora, pragnę nauczyć się asemblera i nie mam z kąd


Pociagnij assembler metalinka. Podlacz diode do portu p1.7 i do +5V
przez rezystor 200om.
Wpisz co nastepuje:

$mod8051

ORG 0h
start: cpl p1.7 ;zmien stan pinu 1.7 na przeciwny
mov r1,#10 ;do r1 wpisz 10
loop1: mov r2,#255 ;do r2 wpisz 255
loop2: mov r3,#255 ;to samo do r3
djnz r3,$ ;dekrementuj r3, dopoki nie zero skocz na siebie
djnz r2,loop2 ;dekrementuj r2, dopoki nie zero skocz do loop2
djnz r1,loop1 ;to samo dla r1
sjmp start ;skocz do poczatku

Dioda bedzie mrogac w przyblizeniu co: 255*255*10*2 cykli zegarowych, co
dla kwarcu 12MHz bedzie wynosic: 255*255*10*2*1us = 1.3 sek
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48608888899 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Chcesz uninstalera ??? Zawolaj PROPERA :-0

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł Ratajczak" <analog_support_at_nospam_alfine.com.pl>
Subject: Re: Atmel 89c2051
Date: Thu, 7 Jun 2001 08:35:22 +0200




, a moze jakies informacje , ksiazki , grupy
dyskusyjne, strony www (szukalem ale tylko programowanie w asemblerze 86,
c++,baskom a nic wiecej, brak konkretów) .Z góry dziękuję za pomoc.

Zobacz na www.8052.com.

--
Pozdrawiam serdecznie

Paweł Ratajczak
Specjalista DSP
P.E.P. Alfine s.c.
Przedstawicielstwo Analog Devices w Polsce
Ul. Gronowa 22
61-680 Poznań
tel. (061)8213372
fax (061)8213199
e-mail: analog_support_at_nospam_alfine.com.pl
WWW: www.alfine.com.pl, www.alfine.com.pl/support




Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej" <annocun_at_nospam_poczta.onet.pl>
Subject: Re: Atmel 89c2051
Date: Thu, 7 Jun 2001 10:33:13 +0200


Dziekuje bardzo wszystkim grupowiczom którzy sie zainteresowali i podeslali
mi ten programik i wszelkie informacje ktore pomoga mi bardzo w poczatkach
nauki asemblera Andrzej Nocuń



Poprzedni Następny
Wiadomość
Spis treści
From: "Michał Smolnik" <smolnik_at_nospam_2com.pl>
Subject: Odp: Atmel 89c2051
Date: Wed, 6 Jun 2001 20:10:00 +0200



Użytkownik Andrzej <annocun_at_nospam_poczta.onet.pl> w wiadomości do grup
dyskusyjnych napisał:9fkno8$2s9a$1_at_nospam_news2.ipartners.pl...
Czy ktoś z szanownych grupowiczów podeśle mi prosty program w
asemblerze(*.asm) procesora atmela 89c2051, taki żeby sterował portem
tego
procesora

CPL P3.7 ;Zmiana stanu diody podłączonej do nóżki P3.7
AJMP 0; Skok do początku programu

Taki program ma pewną wadę - dioda miga z największą możliwą
częstotliwością i tego migania nie widać (dioda lekko przygasa). Aby
opóźnić miganie, trzeba dodat pętle nie robiące nic - opóźniające miganie.
Wtedy program wygląda tak:

CPL P3.7 ;Zmiana stanu diody podłączonej do nóżki P3.7
ACALL delay ;Skok do podprogramu opóźnienia
AJMP 0; Skok do początku programu

delay: ;Początek procedury opóźnienia
MOV R0,#0 ;Wyzerowanie rejestru R0
petla:
MOV R1,#0 ;Wyzerowanie rejestru R1
DJNZ R1,$ ;Zmiejszenie wartości rejestru R1, jeśli nie jest zerem, to
powtórzenie operacji
DJNZ R0,petla ;Zmniejszenie wartości rejestru R0, jeśli R0 nie jest zerowe,
to powtórzenie pętli
RET ;Powrót z podprogramu

(niektóre assemblery wymagają jeszcze END na końcu programu)

Zauważ, że pętla opóźniająca wykonuje się zagnieżdżenie - 256 razy
wykonanywana jest pętla wewnętrzna (operująca 256 razy na rejestrze R1).
Przy takim zagnieżdżeniu, cała pętla wykonuję się 256*256 razy, czyli 65536
razy. Daje to półsekundowe opóźnienie przy częstotliwości zegara 12MHz.

Jak czegoś nie rozumiesz, to pytaj. Na grupie jest dużo mikroprocesorowców,
również miłośników Atmelka.


--
Pozdrawiam.
Michał Smolnik
smolnik_at_nospam_2com.pl
www.smolnik.w.pl
tel. 0 604 666 970



Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl>
Subject: Re: Atmel 89c2051
Date: Fri, 08 Jun 2001 16:16:29 +0200


"Michał Smolnik" wrote:

Zauważ, że pętla opóźniająca wykonuje się zagnieżdżenie - 256 razy
wykonanywana jest pętla wewnętrzna (operująca 256 razy na rejestrze R1).
Przy takim zagnieżdżeniu, cała pętla wykonuję się 256*256 razy, czyli 65536
razy. Daje to półsekundowe opóźnienie przy częstotliwości zegara 12MHz.

Mhhhmmmm.... 65532*2*1us = ~0.13 sek....
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48608888899 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Proscie, a bedziecie prosci.

Poprzedni Następny
Wiadomość
Spis treści
From: "Michał Smolnik" <smolnik_at_nospam_2com.pl>
Subject: Re: Atmel 89c2051
Date: Sat, 9 Jun 2001 12:23:38 +0200



Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl> napisał(a):

Zauważ, że pętla opóźniająca wykonuje się zagnieżdżenie - 256 razy
wykonanywana jest pętla wewnętrzna (operująca 256 razy na rejestrze
R1).
Przy takim zagnieżdżeniu, cała pętla wykonuję się 256*256 razy, czyli
65536
razy. Daje to półsekundowe opóźnienie przy częstotliwości zegara 12MHz.

Mhhhmmmm.... 65532*2*1us = ~0.13 sek....

No dobra. Nie będę ukrywał, że rzuciłem to pół sekundy tak z głowy. Czułem,
że miganie będzie zauważalne, ale nie przeliczyłem.
De facto będzie to trochę dłuższe, niż 0.13 sek, bo dochodzi jeszcze czas
wykonywania zewnętrznej pętli, ale nie będę czepiał się szczegółów.


--
Pozdrawiam.
Michał Smolnik
smolnik_at_nospam_2com.pl
www.smolnik.w.pl
tel. 0 604 666 970



Poprzedni Następny
Wiadomość
Spis treści
From: "peters" <peters_at_nospam_poczta.onet.pl>
Subject: Re: Atmel 89c2051
Date: Fri, 8 Jun 2001 11:14:46 +0200


pragnę nauczyć się asemblera i nie mam z kąd

Proponuje odwiedzic najpierw dobra ksiegarnie techniczna.
A tak przy okazji: "skad" a nie "z kad". :))


--
pozdrawiam, peters
peters_at_nospam_poczta.onet.pl
http://peters.republika.pl (strona Petersa dla elektroników)




Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej" <annocun_at_nospam_poczta.onet.pl>
Subject: Re: Atmel 89c2051
Date: Fri, 8 Jun 2001 14:03:37 +0200


Dzięki za pomoc i przepraszam za ortografię.

Użytkownik "peters" <peters_at_nospam_poczta.onet.pl> napisał w wiadomości
news:9fq589$pp$2_at_nospam_news.tpi.pl...
pragnę nauczyć się asemblera i nie mam z kąd

Proponuje odwiedzic najpierw dobra ksiegarnie techniczna.
A tak przy okazji: "skad" a nie "z kad". :))


--
> pozdrawiam, peters
> peters_at_nospam_poczta.onet.pl
> http://peters.republika.pl (strona Petersa dla elektroników)
>
>
>



Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej" <annocun_at_nospam_poczta.onet.pl>
Subject: Re: Atmel 89c2051
Date: Mon, 11 Jun 2001 09:24:28 +0200


DZIĘKI WSZYSTKIM ZA POMOC , DIODA MIGA JAK TRZEBA JUZ OD SOBOTY ,
HURAAA(TERAZ BIORE SIE ZA "POWAZNIEJSZE" RZECZY) Andrzej



Użytkownik "Andrzej" <annocun_at_nospam_poczta.onet.pl> napisał w wiadomości
news:9fkno8$2s9a$1_at_nospam_news2.ipartners.pl...
Czy ktoś z szanownych grupowiczów podeśle mi prosty program w
asemblerze(*.asm) procesora atmela 89c2051, taki żeby sterował portem tego
procesora- chodzi mi o to żeby migała dioda led (szeregowo z rezystorem)
na
jednym z wyjść tego procesora, pragnę nauczyć się asemblera i nie mam z
kąd
wziac materialow do nauki a mam programator i procesor do programowania
juz wiem jak zapisac i odczytac z procesora informacje), a nie znam nawet
podstaw asemblera tak wiec nie wiem skad mam wziac jakies proste programy
do
nauki jak do migania diody ,czytania prostej klawiatury czy stopera,
zegarka,miernika temperatury itd, a moze jakies informacje , ksiazki ,
grupy
dyskusyjne, strony www (szukalem ale tylko programowanie w asemblerze 86,
c++,baskom a nic wiecej, brak konkretów) .Z góry dziękuję za pomoc.
annocun_at_nospam_poczta.onet.pl