Hallo, ich habe ein Problem bei dem ihr mir vielleicht weiterhelfen könnt. Zur Zeit versuche ich mit meinem Mikrocontroller (AT90S8515) vier 7-Segment-Anzeigen anzusteuern. Dazu benutze ich den Treiberbaustein Max 7219 von Maxim. Da Daten an diesen Baustein seriell geschickt werden müssen, habe ich erst versucht, ein Programm zu schreiben, dass dieses Problem löst. Als das nicht funktionierte habe ich versucht den Treiberbaustein mit der SPI-Schnittstelle anzusteuern, was leider auch nicht funktioniert hat. Ich habe meinen Schaltplan mehrmals überprüft und konnte keinen Fehler feststellen. Vielleicht kann mir jemand von euch ein Beispielprogramm schicken mit dem ich den Treiberbaustein ansteuern kann. Das Programm müsste allerdings in Assembler geschrieben sein, da ich noch kein C programmiert habe. Freue mich auf eure Antworten. Gruss D-Bracket
max_adresse equ 20h
max_daten equ 21h
max_clock equ p1.0
max_data equ p1.1
max_load equ p1.2
mov sp,#21h
main: lcall max_init
sjmp main
max_init: mov max_adresse,#...
mov max_daten,#...
lcall max_out
mov max_adresse,#...
mov max_daten,#...
lcall max_out
mov max_adresse,#...
mov max_daten,#...
lcall max_out
......
ret
max_out: mov a,#128
next: mov r0,a
anl a,max_adresse
clr max_data
jz set
setb max_data
set: setb max_clock
clr max_clock
mov a, r0
rr a
cjne a,#128,next
next1: mov r0,a
anl a,max_daten
clr max_data
jz set1
setb max_data
set1: setb max_clock
clr max_clock
mov a, r0
rr a
cjne a,#128,next1
setb max_load
clr max_load
ret
kann sein das en kleiner fehler drin is da ich das grad aus dem kopf geschrieben hab aber müsste gehen.-.. mach einfach erstmal nen displaytest
Hallo, mußte nicht beim MAX7219 Load währen des letzten Clock-H auf H gehen zum übernehmen? Deshalb ging ja Hardware-SPI nur mit dem MAX7921, wenn ich jetzt nicht irre. Gruß aus Berlin Michael
soweit ich mich erinnern kann brauchte der 7219 Low an Load beim Übetragen und übernimmt mit L nach H. Beim 7221 reicht eine Flanke an Load. Wurde hier aber schon mehrfach diskutiert. Suchfunktion !!!
Hallo, da ich gerade an einer Laufschrift mit 8x8Matrix und 7219 bastel konnte ich eure Vermutungen direkt ausprobieren. >>mußte nicht beim MAX7219 Load währen des letzten Clock-H auf H gehen zum >>übernehmen? Nein, die H-Flanke am LOAD-Eingang kann später als die letzte H-Flanke des CLK-Impulses kommen. >>Deshalb ging ja Hardware-SPI nur mit dem MAX7921, wenn ich jetzt nicht >>irre. Falsch, ich habe hier 8 kaskadierte 7219 über 0,5m abgeschirmte Leitung an der SPI-Schnittstelle eines ATmega32 hängen und steuer die mit 4 MHz CLK-Frequenz über die SPI Schnittstelle an. >>soweit ich mich erinnern kann brauchte der 7219 LOW an Load beim >>Übertragen und übernimmt mit L nach H. teilweise falsch, der 7219 übernimmt die Daten bei einer H-Flanke des LOAD-Signals, aber bei der Übertragung der Daten kann LOAD HIGH bleiben, erst nach der Übertragung der Daten muß LOAD einmal kurz auf LOW-HIGH wechseln. Es schadet aber auch nicht wenn vor der Datenübertragung LOAD auf LOW gesetzt wird und nach der Datenübertragung auf HIGH. Gruß Udo
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.