1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Assemblerr - PPI 8255A programmieren

Discussion in 'Programmieren' started by testuser123, Oct 25, 2007.

Thread Status:
Not open for further replies.
  1. hallo,

    also ich möchte ein PPI8255A ansteuern. wie ich die Modi für die 3 Ports (A,B,C) einstelle weiß ich und hab ich auch schon gemacht...nun möchte ich aber dem Port A beispielsweise die Belegung 01100011 geben...der Port besteht ja aus einer 8 bit leitung...also kann ich PA0 - PA7 nutzen...bei meinem Beispiel will ich paar LEDs oder so dran schließen und eben sagen welche leuchten und welche nicht. Oder bin ich da grad irgendwie auf dem Holzweg??? hoffe mir kann jemand helfen...danke schonmal

    mfg
     
  2. normalbürger

    normalbürger Viertel Gigabyte

    Uij, ist lange her seit ich den I/O-Baustein programmiert habe.
    Da Du ja weißt wie die Modies einzustellen sind, weiß ich noch nicht so ganz wo dein Problem liegt :o
    Einfach das 8 Bytewort auf den Baustein geben. Ob der 8255 aber direkt (ohne nachgeschalteten z.B. 74244) in der Lage ist LED's zu treiben müßte ich erstmal recherschieren.
    Handbuch vom 8255 hast Du ? Mit welchem Prozessor willst Du den ansteuern ?
     
  3. vielleicht hab ich auch ein Verständnisproblem...die Modi stell ich ja bei D0 bis D7 ein...

    mov al,00111001
    out steuerwortadresse,al

    aber doch nur, ob die Ports senden oder empfangen sollen...und diese einstellung wird bei mir am Anfang gesetzt und dann nicht mehr...so weit so gut...aber mit dem setzten der Modi ist ja nachher nicht gesagt, wann bei Port A eine 1 oder 0 anliegt...ich will also beispielsweise 20 Takte einrichten...wo die LEDs immer anders blinken...wie bei einer Ampel zum beispiel...aber da helfen mir die Modi ja nicht weiter ?! ich will quasi sagen, dass PA0 eine 1, PA1 eine 0 usw. ist...und da will ich also ein Assemblerprogramm schreiben, was das Automatisch macht...hoffe mit der BEschreibung des Problems kannst du was anfangen...
     
  4. normalbürger

    normalbürger Viertel Gigabyte

    Jup, das hast du leider falsch verstanden. Hat etwas gedauert da 20 Jahre lange her ist :D

    Also Port A+B+C haben je 8 Bit, wobei Port C in 2x4 Bit aufgeteilt werden kann. Aber NICHT bitweise einzeln !

    Du mußt also Port A auf Ausgang schalten und dann in das Datenlatch (oder Register?) vom Port A das Byte für den LED-Zustand schreiben.

    Nochmals gefragt: Hast du ein Handbuch von dem 8255A ? Falls nicht guckstDu hier. und Dort auf das etwas versteckte 8255A.PDF klicken
     
  5. dank dir erstmal für deine superschnelle Hilfe...das manual hat mir auch weiter geholfen...also muss ich das folgendermaßen ansteuern:

    out portA_adresse, 00111001

    als beispiel...und dann setzt der die entsprechenden lampen des Port A auf den Zustand 1 bzw. 0!?
     
  6. normalbürger

    normalbürger Viertel Gigabyte

    Als erstes muß Du über das Controllregister die Ports entsprechend schalten und dann in das entsprechende Portregister den Wert schreiben der am entsprechenden Port anliegen soll.

    Zu beachten wäre dabei folgendes:

    1. Wenn Du den Zustand (In&Out) eines Ports ändern willst werden die anderen Portzustände initialisiert, soll heißen gespeicherte Ausgabeinformationen sind z.B. am Port A weg wenn Du Port C in der Richtung umstellst.
    2. Dioden sollten wenn überhaupt nur mit Ihrer Kathode an einem TTL-Baustein angeschlossen werden da TTL-Bausteine Lowpegel mit einem höherem Strom treiben können.
    3. Ich würde Dir immer noch raten ein Treiber-IC nachzuschalten, sonst können sich deine Ausgangstransistoren des 8255 in kleine schwarze Krümel verwandeln ;)
     
Thread Status:
Not open for further replies.

Share This Page