Code umschreiben in AVR oder ist dieser Code kompatibel

Gast #1116155
Lesenswert?
• ▲
▼
Der Max7219 soll damit angesteuert werden vielleicht gibt es hier auch 
Beispielprogramme nur noch keine gefunden.




Programm für CCS

Wie  muss der Code aussehen in AVR  hab davon keine Ahnung.

Routine AUSGABE():
void AUSGABE(char adresse,char wert)
{
char x;
// Bevor die Daten übertragen werden, wird zuerst der PIN LOAD auf LOW 
gesetzt.
// Die Daten beginnen mit dem Bit D15, also MSB
output_low(LOAD);
// Die Datenbits D15-D12 werden übertragen
// Da diese nicht wichtig sind, wird eine 0 übermittelt
for (x=0;x<4;x++)
{
output_low(DATA);
output_high(CLK);
output_low(CLK);
}
// Die Datenbits D11-D8 beinhalten die Registeradresse des MAX7219
for (x=4;x>0;x--)
{
if (bit_test(adresse,x-1)) output_high(DATA);
else output_low(DATA);
output_high(CLK);
output_low(CLK);



Routine AUSGABE_INIT():

void ausgabe_init()
{
ausgabe(0x0b,0x04); // Hier wird die Anzahl der Digits angegeben (5 
Digits)
ausgabe(0x0c,0x01); // Displays werden auf Normal-Betrieb gesetzt (kein 
Shutdown)
ausgabe(0x09,0xff); // Displays werden auf Normal-Betrieb gesetzt (kein 
Displaytest)
ausgabe(0x0a,0x00); // Die Helligkeit der Digits wird hier eingestellt
}

}
// Die Datenbits D7-D0 sind die Daten an den MAX7219
for (x=8;x>0;x--)
{
if (bit_test(wert,x-1)) output_high(DATA);
else output_low(DATA);
output_high(CLK);
output_low(CLK);
}
// Zum Schluß wird der PIN LOAD auf HIGH gesetzt, damit ist die
// Datenübertragung zu Ende
output_high(LOAD);
}


http://www.bobhobby.com/wp-content/uploads/2008/04/physical-hit-counter-interface.GIF 
das ist der Schaltplan den ich benutze


Und zur Ansteuerung benutze ich das MYAVR LPT Board das auch einen RS232 
Anschluss hat
#1116610
Lesenswert?
• ▲
▼
Ich hab den C-Code (die Programmiersprache heißt "c") mal 
übersichtlicher formatiert. Leider ist er syntaktisch unbrauchbar. (Du 
hast nicht alles kopiert). Solltest Du wirklich Interesse daran haben, 
etwas in einen Mikroprozessor zu programmieren, dann wirst Du mit Hilfe 
von http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial das alles 
ganz allein hinbekommen können.
1
//Routine AUSGABE():
2
void AUSGABE(char adresse,char wert)
3
{
4
  char x;
5
  // Bevor die Daten übertragen werden, wird zuerst der PIN LOAD auf LOW   gesetzt.
6
  // Die Daten beginnen mit dem Bit D15, also MSB
7
  output_low(LOAD);
8
  // Die Datenbits D15-D12 werden übertragen
9
  // Da diese nicht wichtig sind, wird eine 0 übermittelt
10
  for (x=0;x<4;x++) {
11
    output_low(DATA);
12
    output_high(CLK);
13
    output_low(CLK);
14
  }
15
  // Die Datenbits D11-D8 beinhalten die Registeradresse des MAX7219
16
  for (x=4;x>0;x--)
17
  {
18
    if (bit_test(adresse,x-1)) output_high(DATA);
19
    else output_low(DATA);
20

21
    output_high(CLK);
22
    output_low(CLK);
23

24

25

26
//  Routine AUSGABE_INIT():
27
    void ausgabe_init() {
28
      ausgabe(0x0b,0x04); // Hier wird die Anzahl der Digits angegeben (5Digits)
29
      ausgabe(0x0c,0x01); // Displays werden auf Normal-Betrieb gesetzt (keinShutdown)
30
      ausgabe(0x09,0xff); // Displays werden auf Normal-Betrieb gesetzt (keinDisplaytest)
31
      ausgabe(0x0a,0x00); // Die Helligkeit der Digits wird hier eingestellt
32
    }
33
  }
34
  // Die Datenbits D7-D0 sind die Daten an den MAX7219
35
  for (x=8;x>0;x--)   {
36
    if (bit_test(wert,x-1)) output_high(DATA);
37
    else output_low(DATA);
38
    output_high(CLK);
39
    output_low(CLK);
40
  }
41
  // Zum Schluß wird der PIN LOAD auf HIGH gesetzt, damit ist die
42
  // Datenübertragung zu Ende
43
  output_high(LOAD);
44
}

Grüße, Gregor

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.