Wo ist der Fehler im Programm weil nichts auf den Displays erscheint //---------------------------------------------------------------------- // Titel : Laufschrift auf den Segmenten des MAX7219 //---------------------------------------------------------------------- // Funktion : Laufschrift // Schaltung : ... //---------------------------------------------------------------------- // Prozessor : ATmega8 // Takt : 3.6864 MHz // Sprache : C // Datum : 06.04.09 // Version : Version 1.0 // Autor : Markus Ziegerer //---------------------------------------------------------------------- #define F_CPU 3686400// Taktferquenz des myAVR-Boards #include <avr\io.h> // AVR Register und Konstantendefinitionen #include <util\delay.h> // Bibliothek mit Warteroutinen #include <stdlib.h>//AVR Register und Konstantendefinitionen //---------------------------------------------------------------------- void uebertragung(char, char); //---------------------------------------------------------------------- void Low() { PORTB &= ~(1 << PB2); //Bit auf 0 setzen } //---------------------------------------------------------------------- void High() { PORTB |= (1 << PB2); //Bit auf 1 setzen } //---------------------------------------------------------------------- void Port(void) { DDRB = (1<<PB2)|(1<<PB3)|(1<<PB5); //ganzen Port deklarieren SPCR = (1<<SPE)|(1<<MSTR); PORTB |= (1 << PB5)|(1 << PB2); //Bit auf 1 setzen bei beiden Ports } //---------------------------------------------------------------------- void uebertragung(char addr, char data) { SPDR = addr; //adresse in Datenregister while(!(SPSR & (1<<SPIF))); //warten bis bits übertragen sind SPDR = data; //daten in Datenregister while(!(SPSR & (1<<SPIF))); //warten bis bits übertragen sind } //---------------------------------------------------------------------- void test(void) { Low(); //Aufruf von Low uebertragung(0x00,0x05);//6 Digits uebertragung(0x0c,0x01);//Kein Shutdown uebertragung(0x0f,0x00);//Kein Displaytest uebertragung(0x09,0xff);//Decodemode für alle Digits uebertragung(0x0a,0x02);//Die Helligkeit der Digits wird hier eingestellt uebertragung(0x01,0x00);//Zahl 0 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x01);//Zahl 1 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x02);//Zahl 2 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x03);//Zahl 3 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x04);//Zahl 4 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x05);//Zahl 5 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x06);//Zahl 6 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x07);//Zahl 7 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x08);//Zahl 8 _delay_ms(5000);//5000ms warten uebertragung(0x01,0x09);//Zahl 9 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x00);//Zahl 0 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x01);//Zahl 1 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x02);//Zahl 2 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x03);//Zahl 3 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x04);//Zahl 4 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x05);//Zahl 5 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x06);//Zahl 6 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x07);//Zahl 7 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x08);//Zahl 8 _delay_ms(5000);//5000ms warten uebertragung(0x02,0x09);//Zahl 9 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x00);//Zahl 0 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x01);//Zahl 1 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x02);//Zahl 2 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x03);//Zahl 3 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x04);//Zahl 4 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x05);//Zahl 5 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x06);//Zahl 6 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x07);//Zahl 7 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x08);//Zahl 8 _delay_ms(5000);//5000ms warten uebertragung(0x03,0x09);//Zahl 9 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x00);//Zahl 0 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x01);//Zahl 1 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x02);//Zahl 2 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x03);//Zahl 3 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x04);//Zahl 4 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x05);//Zahl 5 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x06);//Zahl 6 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x07);//Zahl 7 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x08);//Zahl 8 _delay_ms(5000);//5000ms warten uebertragung(0x04,0x09);//Zahl 9 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x00);//Zahl 0 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x01);//Zahl 1 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x02);//Zahl 2 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x03);//Zahl 3 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x04);//Zahl 4 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x05);//Zahl 5 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x06);//Zahl 6 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x07);//Zahl 7 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x08);//Zahl 8 _delay_ms(5000);//5000ms warten uebertragung(0x05,0x09);//Zahl 9 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x00);//Zahl 0 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x01);//Zahl 1 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x02);//Zahl 2 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x03);//Zahl 3 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x04);//Zahl 4 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x05);//Zahl 5 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x06);//Zahl 6 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x07);//Zahl 7 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x08);//Zahl 8 _delay_ms(5000);//5000ms warten uebertragung(0x06,0x09);//Zahl 9 _delay_ms(5000);//5000ms warten High(); //Aufruf von High } //---------------------------------------------------------------------- int main () //Hauptprogramm, startet bei Power ON und Reset { Port(); //Aufruf von Port test(); //Aufruf von test } //----------------------------------------------------------------------
http://stefan-buchgeher.info/elektronik/max7219/max7219_dot_matrix_kap3.html#Kap3 low() und high() stehen falsch (müssen in uebertragung()
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.