Zabawa dioda.



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "solaris" <root_at_nospam_s0lar1s.net>
Subject: Zabawa dioda.
Date: Tue, 22 Apr 2003 11:35:12 +0200


[DLUGIE]

2.1 Napiecie kontrolujace 0-5V z komputera

Oto prosty przyklad pobrania napiecia 0-5V z portu rownoleglego
komputera.

Widok od tylu
Meskie zlacze ----- Pin 10 - ACK
DB25 | | Pin 9 - D7
| | Pin 2 - D0
~Strobe v v v Pin 1 -
_______________________________________________________
/ \
\ 13 12 11 10 9 8 7 6 5 4 3 2 1 /
\ /
\ 25 24 23 22 21 20 19 18 17 16 15 14 /
\ __________________________________________________

Pin 1 to ,,Strobe'' (logika odwrotna)

Piny 2-9 to sygnaly SZYNY DANYCH (DATA BUS), dokladnie to, co zostalo
wpisane do (hmm ,,klamek''??? (latches) - przyp. tlum.) komenda OUTB.
((hmm ,,zatrzaskow''??? przy. przypisku tlum.))

Pin 10 to sygnal potwierdzenia (ACK) sterowany przez ciebie, tak zeby
mogl wyprodukowa? przerwanie.


Piny 18-25 sa zwarte i jest to uziemienie (GND).

Dokladniej:

<= we pin Glowny Nazwa
=> wy DB25 pin sygnalu Bit Uwagi
-------- ---- ------ ------- --- -----------------------
=> 1 1 -Strobe C0- Ustaw niskie napiecie >0.5us do
wysyl.
=> 2 2 Dane 0 D0 Ustaw na pierwsze znaczace dane
=> 3 3 Dane 1 D1 ...
=> 4 4 Dane 2 D2 ...
=> 5 5 Dane 3 D3 ...
=> 6 6 Dane 4 D4 ...
=> 7 7 Dane 5 D5 ...
=> 8 8 Dane 6 D6 ...
=> 9 9 Dane 7 D7 Ustaw na ostanie znaczace dane
<= 10 10 -Ack S6+IRQ Niskie napiecie ~ 5uS, po zaakcept.
<= 11 11 +Busy S7- 1 Dla Zajete/Offline/Blad
<= 12 12 +PaperEnd S5+ 1 Dla braku papieru
<= 13 13 +SelectIn S4+ 1 Dla wybranej drukarki
=> 14 14 -AutoFd C1- Ustaw na 0 dla LF
<= 15 32 -Error S3+ 0 dla Bledu/Offline/Konca papieru
=> 16 31 -Init C2+ Ustaw niskie napiecie > 50uS do
inicjaliz => 17 36 -Select C3- Ustaw na 0 do wybrania
drukarki
<==>18-25 19-30 GND

*************************************************************************

Teraz tak, zrobilem sobie plytke, schemat:


----[]---)|----
| |
| |
| |
+ o o -


[] - R ( 2.2kOm , 47kOm)
)| - LED
E - 5V

+ Podlaczam do Pinu nr. 2 (sygnal danych DATA0 ), natomiast - do masy (pin
nr. 18 ).

Napisalem program do oslugi diody (pascal):
uses ports;

const PORTS = $378;
WAIT = 1000;
PIN : array [1..10] of word = ($1,$2,$4,$8,$10,$20,$40,$80,$0,$FF);


procedure Led_ON(v:word);forward;
procedure Led_OFF(v:word);forward;

procedure Sleep(time : LongInt);
var i,j:LogInt; {cardinal}
begin
for I:=1 to (Sleep DIV 60) do j:=sqr(j*j*j) div time + sizeof(time);
end;

procedure Led_ON(v:word);
begin
port[PORTS]:=V;
end;

procedure Led_OFF(v:word);
begin
port[PORTS]:=port[PORTS]-V;
end;

begn
Led_ON(PIN[5]); Sleep(WAIT div 2);
Led_OFF(PIN[5]);
readln;
end.



Teraz mam pytania:
1) Czy jesli podlacze plytke wlocze program to bedzie to dzialac?
2) Jakie moge poniesc straty w moim sprzecie ?
3) Czy jesli mam diode do musze koniecznie podlaczac rezystor (Dioda sama w
sobie posiada rezystancje? )

Dziekuje za wszelkie odpowiedzi.







========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "solaris" <root_at_nospam_s0lar1s.net>
Subject: Re: Zabawa dioda.
Date: Tue, 22 Apr 2003 15:03:31 +0200




Teraz tak, zrobilem sobie plytke, schemat:


----[]---)|----
| |
| |
| |
+ o o -


[] - R ( 2.2kOm , 47kOm)
)| - LED
E - 5V

[ciach]

Teraz mam pytania:
1) Czy jesli podlacze plytke wlocze program to bedzie to dzialac?
2) Jakie moge poniesc straty w moim sprzecie ?
3) Czy jesli mam diode do musze koniecznie podlaczac rezystor (Dioda
sama
w
sobie posiada rezystancje? )

Witam
Ad.1. Pytanie co ten program ma robić ? (nie przyglądałem mu się zbytnio
bo
jest dość zagmatwany)
Ad.2. Przy rezystancji szeregowego opornika powyżej 2k2 - żadne, portowi
LPT
napewno nic się nie stanie
Ad.3. TAK !!! Dioda oczywiście posiada wewnętrzną rezystancję, ale dla
napięcia przy którym świeci (zależy jaka dioda) ta rezystancja jest
b.mała.
Rezystor ma za zadanie ograniczyć prąd przepływający przez diodę.

--
> Pozdrawiam
> Grzegorz


Program ma zaswiecid diode, odczekac 1/3 sekundy i ja zgasic.



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Jarek P." <j_23_at_nospam_nospam.poczta.onet.pl>
Subject: Re: Zabawa dioda.
Date: Tue, 22 Apr 2003 18:13:42 +0200



Użytkownik "solaris" <root_at_nospam_s0lar1s.net> napisał w wiadomości
news:b83ejc$rlk$1_at_nospam_nemesis.news.tpi.pl...

Program ma zaswiecid diode, odczekac 1/3 sekundy i ja zgasic.

Szkoda, że jeszcze za ciebie nie przycina cytatów

J.


========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news-stoc.telia.net!news-stoa.telia.net!telia.net!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Janko Muzykant" <jankomuzykant_at_nospam_wp.pl>
Subject: Re: Zabawa dioda.
Date: Tue, 22 Apr 2003 23:19:33 +0200


Program ma zaswiecid diode, odczekac 1/3 sekundy i ja zgasic.

Toć to w qbasicu jedna linijka...

--
pozdrawia Adam
muzyka, foto: www.ckmedia.pl/~jankomuzykant/




========
Path: news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!news.internetia.pl!skynet.be!skynet.be!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Grzegorz Kurczyk" <grzegorz_at_nospam_control.slupsk.pl>
Subject: Re: Zabawa dioda.
Date: Wed, 23 Apr 2003 07:43:33 +0200



Użytkownik "Janko Muzykant" <jankomuzykant_at_nospam_wp.pl> napisał w wiadomości
news:b84bid$kl5$1_at_nospam_atlantis.news.tpi.pl...
Program ma zaswiecid diode, odczekac 1/3 sekundy i ja zgasic.
Witam
Toć to w qbasicu jedna linijka...
w pascalu... na upartego też :) dlatego mocno zastanawiałem się co ten
program miałby robić i po dłuższej chwili odpuściłem sobie, zwłaszcza po
próbie zrozumienia linijki for I:=1 to (Sleep DIV 60) do j:=sqr(j*j*j) div
time + sizeof(time); Doprawdy nie mogłem pojąć do czego jest ten pierwiastek
kwadratowy z j podniesionego do potęgi trzeciej (czyli j do potęgi 3/2) i
jeszcze na końcu dodana do tego jest ilość bajtów zajmowanych przez zmienną
time.
Tymbardziej, że zmiennej lokalnej j nie jest nadana w procedurze żadna
wartość początkowa ! A wartość końcowa zmiennej j nie jest brana pod uwagę w
dalszej części procedury, czyli dobry kompilator/linker powinien w zasadzie
wywalić tę linię z kodu wynikowego podczas optymalizacji. Następna sprawa to
rekurencyjne (no prawie, bo bez parametru) wywołanie procedury Sleep !!! Po
bliższym zastanowieniu się: ten program nie ma prawa się poprawnie
skompilować, a jeśli już jakimś cudem się to uda, to jego działanie zakończy
się przepełnieniem stosu na procedurze Sleep.

Proszę aby Kolega Solaris nie traktował mojego postu jako złośliwość, czy
próbę wymądrzania się, chodzi mi wyłącznie o wskazanie nieścisłości w tym
programie. Przy okazji ptyanie: jakiego kompilatora Kolega używa ?


--
Pozdrawiam
Grzegorz Kurczyk
http://www.control.slupsk.pl
ftp://ftp.control.slupsk.pl
grzegorz_at_nospam_control.slupsk.pl
GG: 1445218



========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.atman.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Mariusz" <brak_at_nospam_wep.pl>
Subject: Re: Zabawa dioda.
Date: Wed, 23 Apr 2003 14:35:36 +0200


Program ma zaswiecid diode, odczekac 1/3 sekundy i ja zgasic.
Witam
Toć to w qbasicu jedna linijka...
w pascalu... na upartego też :) dlatego mocno zastanawiałem się co ten
program miałby robić i po dłuższej chwili odpuściłem sobie, zwłaszcza po
próbie zrozumienia linijki for I:=1 to (Sleep DIV 60) do j:=sqr(j*j*j)
div
time + sizeof(time); Doprawdy nie mogłem pojąć do czego jest ten
pierwiastek
kwadratowy z j podniesionego do potęgi trzeciej (czyli j do potęgi 3/2) i
jeszcze na końcu dodana do tego jest ilość bajtów zajmowanych przez
zmienną

Ja szczerze mówiąc także dałem sobie spokój, dawno nie widziałem tak
zamieszanego programu :). Jedno trzeba Solarisowi przyznać, laik uzna go za
guru patrząc w ten magiczny kod, bo wątpię by coś skumał :D. Dam Ci dobrą
rade, poczytaj o makrach, w tego typu programach sprawdzają się znakomicie,
również.przejrzyj operatory AND, XOR i OR, pozwolą Ci one na modyfikowanie
poszczególnych bitów.Jeszcze jedno ucz się optymalizacji pamięciowej, ta
tablica nie jest zbyt potrzebna, szczególnie typu WORD.

Pozdrawiam

ps. także się nie wymądrzam, ani nie nabijam !!!



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Zabawa dioda.
Date: Sat, 26 Apr 2003 21:47:03 +0200



solaris wrote:

procedure Sleep(time : LongInt);
var i,j:LogInt; {cardinal}
begin
for I:=1 to (Sleep DIV 60) do j:=sqr(j*j*j) div time + sizeof(time);
end;

Ech, cytujac jakiego spikera radiowego: "kolego, nie
wiem co Ty bierzesz, ale naprawde niezle kopie." :-)

Pozdrawiam
Piotr Wyderski



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Grzegorz" <control_at_nospam_slupsk.pl>
Subject: Odp: Zabawa dioda.
Date: Tue, 22 Apr 2003 13:55:23 +0200



Teraz tak, zrobilem sobie plytke, schemat:


----[]---)|----
| |
| |
| |
+ o o -


[] - R ( 2.2kOm , 47kOm)
)| - LED
E - 5V

[ciach]

Teraz mam pytania:
1) Czy jesli podlacze plytke wlocze program to bedzie to dzialac?
2) Jakie moge poniesc straty w moim sprzecie ?
3) Czy jesli mam diode do musze koniecznie podlaczac rezystor (Dioda sama
w
sobie posiada rezystancje? )

Witam
Ad.1. Pytanie co ten program ma robić ? (nie przyglądałem mu się zbytnio bo
jest dość zagmatwany)
Ad.2. Przy rezystancji szeregowego opornika powyżej 2k2 - żadne, portowi LPT
napewno nic się nie stanie
Ad.3. TAK !!! Dioda oczywiście posiada wewnętrzną rezystancję, ale dla
napięcia przy którym świeci (zależy jaka dioda) ta rezystancja jest b.mała.
Rezystor ma za zadanie ograniczyć prąd przepływający przez diodę.

--
Pozdrawiam
Grzegorz

http://www.control.slupsk.pl
ftp://ftp.control.slupsk.pl
grzegorz_at_nospam_control.slupsk.pl
Gadu-Gadu: 1445218




========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.onet.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai