Sida 2 av 3
Postat: 16 oktober 2008, 22:33:34
av watti
Hej igen. bumpar lite..
Hittade denna på nätet:
Är detta de kontroller portar du skrev om? vad är de extra 9 - 12 leds för något? Går de att styra?
Sen såg jag denna:
HowTo: Understand the 74HC595 :
http://computerchristmas.com/index.phtm ... HowToId=89
Och denna
http://www.arduino.cc/en/Tutorial/ShiftOut
Hur fungerar detta som ovan att koppla in i parallelporten, Är jag på rätt väg? sen ska jag koda pulser då? Känner mig ganska vilsen haha, men är tacksam för alla svar jag kan få!
Postat: 17 oktober 2008, 14:55:34
av Mindmapper
Här har du väldigt bra information om parallellportar och övriga portar.
Gå ner en bit på sidan
http://www.beyondlogic.org/
LED 9 - 12 sitter på controlbitarna.
Postat: 17 oktober 2008, 23:21:42
av MadModder
Watti: den där telefongrejen ska du inte stirra dig blind på. Det är bara en vanlig DTMF-avkodare kopplad till de fem ingångarna på parallellporten.
En parallellport har 8 datapinnar, 4 kontrollpinnar, och 5 statuspinnar. Kontrollpinnarna är utgångar, statuspinnarna ingångar, och datapinnarna kan vara in eller ut, men är ut som default.
Alltså kan man om man vill ha 12 utpinnar.
Postat: 18 oktober 2008, 12:25:38
av watti
Ah!..
Men nu när jag startar dataportarna så skickar jag ut "8" "16" "32" "64" osv...
Controllportarna, hur fungerar det med dem då?
Madmodder, åker till efla idag och hanldar delarna, man kan inte göra mer en misslyckas, Allt gick ju inte på så mycket heller

Postat: 18 oktober 2008, 13:17:17
av MadModder
Kontrollpinnarna är på pinne 1, 14, 16 och 17. Nr 1, 14 och 17 är hårdvaruinverterade. Det betyder att skickar du en etta dit, blir det noll och tvärtom.
Datapinnarna styrs vanligtvis på adress 888, (0x378), och kontrollpinnarna på adress 890 (0x37A). De ligger på bit 0-3.
Här är subrutinen i basic som jag använder för att kunna styra alla 64 bitar

(det lär inte funka i visual basic, och/eller i windows)
Adressen är alltså numret på respektive 74374-krets.
Så ska du sätta alla 64 bitar krävs 8st anrop av subrutinen.
Kod: Markera allt
SUB set (adress, databits)
' --- adress : 0-7 databits : 0-255
a = adress: D = databits
' --- sätt databitar
OUT 888, D
' --- invertera hårdvaruinverterade bitar
' --- sätt moduladress och klockbiten låg
a = a XOR 1
a = a XOR 2
a = a XOR 8
OUT 890, a
' --- lägg ut en hög-låg puls på klockbiten
a = a XOR 8
OUT 890, a
a = a XOR 8
OUT 890, a
END SUB
Postat: 18 oktober 2008, 13:47:34
av watti
haha tack!!, det funkade de där med Kontroll-bitarna. Men får forska lite mer

Klart man vill styra fler saker!
Jo juste eftersom de är inverterade.. förut kodade jag så 0 så stängde alla av, och så startade jag bara den jag ville ha.. Men hur startar man och stänger av de individuellt? och hur ser de ut Inverterat?
//Mvh Simon
Postat: 18 oktober 2008, 14:09:38
av MadModder
För att enklast slå av och på individuella bitar gör du enklast i att lagra alla bitar i form av bytes i en array (vad 17 blir det på svenska?), t.ex a(0) - a(7), så växlar du en bit mha XOR.
t.ex bitarna för första kretsen lagras i a(0).
Och så ska du tända bit 5: a(0) = a(0) XOR (2^5)
Sen ska du tända bit 2: a(0) = a(0) XOR (2^2)
Sen vill du släcka bit 5: a(0) = a(0) XOR (2^5)
Det här är dock lite knöligt, för man måste hålla reda på om biten är av eller på innan. Men det är bra om man bara ska växla en bit (toggle), t.ex slå av och på en lampa manuellt.
Om du ska slå på en bit, och vill vara säker på att den är på även fast den kanske redan är det, ska du använda OR:
a(0) = a(0) OR (2^6) för att slå på bit 6.
Och om du vill vara säker på att en bit stängs av, använder du AND NOT:
a(0) = a(0) AND NOT (2^6) för att slå av bit 6
använder du sen min rutin SET , behöver du inte tänka på de inverterade bitarna.
Postat: 22 oktober 2008, 16:13:16
av watti
Madmodder! har du något kort på ditt io-kort där allt är ihopkopplat osv? Kanske är lättare för mig att förstå då
Mvh simon!
Postat: 22 oktober 2008, 19:01:25
av MadModder
Nej inte där ALLT är inkopplat, men I/O-kort plus ett reläkort.:
http://madmodders.se/temp/etsning/IO-kort+Relamodul.JPG
Postat: 22 oktober 2008, 19:04:22
av watti
ah men de där fungerade precis lika bra

Tackar!
Re: Parallelporten? Få ur mer portar? Koppla smartare?
Postat: 29 juni 2009, 05:51:17
av Ac3T
Sitter och smurfar runt i forumet och snubblade över den här tråden, och kunde inte låta bli att kommentera, trots den här trådens ålder.
Jag är en flitig användare av skrivarporten eftersom den är enkel att hantera och man behöver inte trassla med seriella kretsar.
Personligen skulle jag välja, i ditt fall, att använda 74241 eller 74245 (Finns några olika att välja mellan, med i princip samma funktion) som är en buffer-krets vars egentliga syfte är att förstärka signaler, men även fungera som en switch om man så säger. Det roliga med dessa är att man har 8 bitar in/ut och en styrpinne som bestämmer av eller på helt enkelt.
Behöver man kvarhållning klämmer man emellan några 74373:or, och sätter lämpligtvis en 3-8 eller en decimal-avkodare på "Control"-pinnarna genom inverterare, sedan är det bara att man håller koll på vilken krets man aktiverar. Underbart med parametrar i BASIC =0)
Lätt hänt att det blir rörigt iaf har jag märkt.
Jag gjorde en prototyp som var avsedd för ett projekt jag håller på med, men jag var tvungen att skrota det tills vidare eftersom det var nåt glapp nånstans och det var så in i h-e med kablar (Experimentplatta) och felet kvarstod efter många felsökningar. Jag har beslutat att etsa ett sådant kort framöver "nån gång" när jag skaffat utrustning för det.
Det roliga är att man kan stoppa på ganska många såna där buffer-kretsar iaf =0)
Mitt projekt hade jag ursprungligen tänkt mig 6x8 bitar ut, och 4x5 bitar in mot paralellporten användandes av 7442 (BCD->Decimal decoder). 3 av dessa skulle gå till varsin display, 3 till div. styrning, varav 1 skulle vara för externt bruk som t.ex. jul- eller Halloween-pyntning, ingångarna skulle gå från sensorer (IR, knappar på panelen etc).
Switch-tiderna är förträffliga också =0) Nu har jag inga siffror, men jag kan då säga att funktionen för input var ruskigt snabb iaf =0) körde en DO LOOP och det gick fort...
Men vid det här laget har väl OP redan blivit klar och börjat på sitt femtefjärde projekt sedan sista posten.
Re: Parallelporten? Få ur mer portar? Koppla smartare?
Postat: 2 juli 2009, 22:47:07
av watti
Tack för svaret, bättre sen en aldrig
Fick den att fungera precis som jag ville till slut iaf, Nu skulle jag säkert kopplat som du skrev men, då löste jag de med ett extra Relä bara, 1 kanal som bryter jorden och switchar den till en annan kanal, svårt att förklara, men då kunde jag styra andra saker. Blir säkert massa konstiga bakströmmar osv, men de fungerar
// Mvh Simon
Re: Parallelporten? Få ur mer portar? Koppla smartare?
Postat: 3 juli 2009, 08:30:07
av Mindmapper
Tänk bara på att relän har en begränsad livslängd. Då kan se i databladet hur många omslag den uppskattade livslängden är. Nu beror livslängden inte på en sak, utan för hög ström, för låg ström, och en massa andra saker spelar in.
Om ett relä har en uppskattad livslängd på 10miljoner omslag och man slår om var 10'e sekund så räcker det relät inte så länge. I sådana fall är halvledare mycket bättre.
Re: Parallelporten? Få ur mer portar? Koppla smartare?
Postat: 3 juli 2009, 12:19:38
av Ac3T
watti skrev:"1 kanal som bryter jorden och switchar den till en annan kanal, svårt att förklara, men då kunde jag styra andra saker. Blir säkert massa konstiga bakströmmar osv, men de fungerar

"
Låter lite farligt det där... Just nu i skrivande stund minns jag inte vad du skulle med de extra portarna till, men i vilket fall som helst låter det inte bra att bryta jorden. Om något ska den alltid finnas kvar. Sen hänger det åxå såklart på vad du har påkopplat åxå...
Re: Parallelporten? Få ur mer portar? Koppla smartare?
Postat: 3 juli 2009, 13:13:36
av Mindmapper
Behöver det inte vara! Beror på var man bryter. Alla typer av open collector och mycket i bilen bryter förbindningen med jord. Lite otydligt skrivet, mera tydligt blir det om man skriver att man bryter den låga sidan, eller....... Isåfall är det helt normalt.