-
        
+ Antworten
Ergebnis 1 bis 9 von 9

Thema: LED 7x5 Anzeige mit PIC und Schieberegister

  1. #1
    AEWE
    Gast

    LED 7x5 Anzeige mit PIC und Schieberegister

    Moin Jungs,

    hab ma ne Frage habt ihr schon mal oder wisst ihr, wo ich den Code her bekomme, dass ich mit einem 74HCT595 (Schieberegister) und einem ULM2803 (LED Treiber) mit einem PIC eine LED Anzeige machen kann, reicht ein 7x5 Segement, hab den Code fertig geschrieben, wenn ich den dann so im Simulator MPLAB durchlaufen lasse, ist alle 100% nur halt Hardware klappt nicht so. Frage also habt ihr schion mal so was gesehen und wisst woher.

    Bitte schnell wenn es geht.

    Danke im voraus

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.835
    Hi, Ich betreibe mit einem PIC 877 mittels MSSP Modul 19 Stk 7*5 DotMatrix display. d.i. also 12 Shiftregister. Geht tadellos. Welcher genauen Art is dein Problem ("geht nicht" ist doch recht allgemein)
    mfg Robert

  3. #3
    AEWE
    Gast

    Genaues Problem hab ich mom viele

    Hab mom einige Probs, der PIC gibt nun keine ein und ausgänge mehr frei ist immer auf high und wenn er seinen Takt beendet hat also sag ich ma nach 8 1 Hz Zyklen für das Schieberegister, dann schaltet er ab, wie er soll. Obwohl ich am Prog nix geändert habe. Vorher ging es. Konnte aber noch nie einen richtig Anzeigen, also en Zeichen.
    Ich sende dir mein Script per Mail und hast du en Programm, wo du Cadence Zeichnungen anzeigen kannst, wenn nicht, dann mach ich dir ein Hardcopy. Damit du siehst, wie ich es angeschlossen habe.
    Benutze ja 74HCT595 hattest du die schon mal im gebrauch ???

    Könnte ich dich noch einige Zeit so bis Juli als Gesprächspartner haben ???? Dann denke ich, dass mein Projekt fertig ist.
    Is nähmlich im Betrieb mein Projekt, das ich führen soll und alles was dazu gehört machen soll. z.B. AUfträge an Facharbeitern geben gute Ausbildung, das letzte Jahr ist so üblich an unserer Firma. Könntest du mir dein Script senden, keine ANgst werde es ganz bestimmt nicht Kopieren, hab ich nicht nötig und geistlichen Eigentum klau ist nicht mein Ding. Hasse ich genau so. Außerdem, würde mir ne Kopie nicht viel bringen, wenn ich meine Abschlußprüfung jetzt im Mai habe . Da muss ich Assembler auch können.

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.835
    Hi, AEWE meine email ist, glaub ich , im Profil ?
    Sicherheitshalber mach eine Hardcopy, wer weiß. Ich besorg mit inzwischen auch das Datasheet vom --595.
    Das Ganze ist sicher irgendwas vollkommene lächerliches.
    Ich hab keine Sorge um geistiges Eigentum, ich hab das alles ja auch nicht erfunden.

  5. #5
    AEWE
    Gast

    LOL OK

    Denke hab mein Fehler gefunden, werde es dir trotz alle dem schicken.

    Der Enable Ausgang für alle Bits funktioniert ungetaktet und ich Takte den immer, das heist ich schieb meine Werte noch eins Weiter als sie dürften.
    Und noch was er brauch, wenn er parallel zum anderen Clock ausgang sprich St_cp und Sh_cp einen takt mehr

    Konnte es noch nicht testen, da ich noch keine Zeit hatte, bin mom bissle im Zeit druck. Andere Aufgaben, die man ja gern von anderen bekommt
    naja geht schon

  6. #6
    AEWE
    Gast

    MOM

    Muss mich erst anmelden um deine Mail zu sehen

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    14.12.2004
    Beiträge
    17

    Ne hast keine Mial

    Hast keine Mail adresse man muss noch die 30 zeichen voll bekommen

  8. #8
    Gast
    Beim Zeus, roberttoegel@aon.at

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.835
    Hi, Andre !
    Vorweg Frage: -877 oder -84 ?
    wie auch immer: SHIFTEN
    Ein Byte hat 8 Bit, also auch nur 8 Mal shiften. Das Shift Register speichert mit der STEIGENDEN Flanke.
    Also vorweg das CodeFragment für ein Byte rausschieben
    Annahme PortB 0 DATA
    PortB 2 Clock

    counter equ 0xnn ; irgendwo
    shiftbyte equ 0xnn ; woanders, mit dem zu shiftenden Byte

    SHIFTOUT
    movlw 0x08 ; Counter 8 Bit
    movwf counter
    SHIFTLOOP
    rlf shiftbyte, f
    bcf PORTB, 0 ; annahme carry = 0 ( =Data = 0)
    btfsc STATUS, C ; 0/ 1 ? skip, if no carry
    bsf PORTB, 0 ; muss doch 1 sein ( =Data = 1)

    bcf PORTB, 2 ; Clock runter
    nop ; gib dem -595 ne chance, es zu bemerken
    bsf PORTB, 2 ; Clock rauf, jetzt is ein Bit reingeshiftet
    decfsz counter, f
    b SHIFTLOOP ; weiter geht's
    E_BIEN das war mal ein Byte

    Wie du richtig sagst, es ist wurst, ob er irgendein Carry rechts wieder reinschiebt.

    Hab' keinen Schaltplan gekriegt. Ist ein Shift für die Rows (Y) und eines für die Columns (X) ? isses so ? mfg mal robert

    Anm: das Raus-Shiften zu Fuß ist beim -877 nicht unbedingt notwendig, geht aber dafür auch beim -84 so. Es ist nur deutlich langsamer, daher die Gefahr, daß die LED's flackern. Aber für's erste soll's ja mal überhaupt funktionieren, denk' ich

+ Antworten

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •