PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LED 7x5 Anzeige mit PIC und Schieberegister



AEWE
13.12.2004, 07:20
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

PicNick
13.12.2004, 08:06
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

AEWE
14.12.2004, 06:30
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.

PicNick
14.12.2004, 06:48
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. :-b

AEWE
14.12.2004, 08:37
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

AEWE
14.12.2004, 08:39
Muss mich erst anmelden um deine Mail zu sehen

AEWE
14.12.2004, 08:45
Hast keine Mail adresse man muss noch die 30 zeichen voll bekommen

14.12.2004, 10:44
Beim Zeus, roberttoegel@aon.at

PicNick
15.12.2004, 11:37
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