Nja, portstyrningen har jag hyfsad koll på...
Lite motstridiga uppgifter...
Grejar du at blinka en lysdiod kopplad till en pinne på LPT?
Utporten (8 bitar på basadress) kopplas till ingångarna på D-vipporna.
Bitnumreringen skiljer så D0 på LPT blir 1D, D1 blir 2D osv.
D0 kopplas till 1D på alla 4 74LS377 chippen, likadant för samtliga bitar.
De data vi nu lägger ut på D0...D7 tas emot av alla chip men vi vill bara att ett av dem skickar informatioen vidare till lamporna, magneterna, whatever.
Alltså måste vi skicka en klockpuls till D-vippans klockingång.
Klockingångarna kopplar vi till select, init, auto, & strobe.
(alltså clock på ett av chippen till en av ovanstående)
Dessa 4 signaler (bidirektionella) hittar vi på basadress +2.
(Notera att samtliga utom init är inverterade, minns dock inte om det var vid in / ut eller både och.)
Klockpulsen får vippan att lägga det som finns på ingången till respektive utgång (1Q....8Q).
Förutom Vcc (+5V), GND ( jord) och ovanstående har vi en till anslutning: Enable, den aktiverar kretsen.
Med fel värde på enable så är samtliga utgångar låga oavsett vad man gör.
På 74**377 är den aktivt låg så vi kopplar den till jord.
Alternativt så gör vi en krets som håller den hög tills datorn har bootat ordentligt.
Om du kopplar lite lysdioder till LPT så ser du att det finns skräpdata på linjerna innan programmen kommit igång.
Tips: öven om du inte använder enable till en början så koppla samtliga enable till en byglingspinne eller skruvplint, och jord till den andra pinnen.
Med bygel på plats är enable låg eller så kan man koppla in en krets i ett senare skede.