+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Mc14499 - avr

  1. #1

    Frage Mc14499 - avr

    Hallo Liebes Forum!

    So ich hab mich entschlossen mich hier mal anzumelden weil mir niemand mehr weiterhelfen konnte bisher! Ich hoffe Ihr könnt das ändern

    Also zunächst mal ein Syntax aus BASCOM:

    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    
    Dim 0(4) As Byte
    Dim 1(4) As Byte
    Dim 2(4) As Byte
    Dim 3(4) As Byte
    Dim 4(4) As Byte
    Dim 5(4) As Byte
    Dim 6(4) As Byte
    Dim 7(4) As Byte
    Dim 8(4) As Byte
    Dim 9(4) As Byte
    
    Dim Stat As Bit
    
    Dim Frequenz As Integer
    Dim Z1 As Integer
    Dim Z2 As Integer
    Dim Z3 As Integer
    
    Dim X As Integer
    Dim Y As Integer
    
    Config Portd.0 = Output
    Config Portd.1 = Output
    Config Portd.2 = Output
    
    Enb Alias Portd.0
    Clk Alias Portd.1
    Dat Alias Portd
    
    Frequenz = 245
    
    Do
    
    Z1 = Frequenz Mod 10
    Frequenz = Frequenz / 10
    Z2 = Frequenz Mod 10
    Frequenz = Frequenz / 10
    Z3 = Frequenz Mod 10
    
    
    Do
       For X = 0 To 3
       Dat = Lookup(x , Z1)
       Clk = 1
       Clk = 0
       Next X
    Loop Until X = 3
    X = 0
    
    Do
       For X = 0 To 3
       Dat = Lookup(x , Z2)
       Clk = 1
       Clk = 0
       Next X
    Loop Until X = 3
    X = 0
    
    Do
       For X = 0 To 3
       Dat = Lookup(x , Z3)
       Clk = 1
       Clk = 0
       Next X
    Loop Until X = 3
    X = 0
    
    
    
    
    Loop
    End
    
    0:
    Data &B00000000
    Data &B00000000
    Data &B00000000
    Data &B00000000
    
    1:
    Data &B00000000
    Data &B00000000
    Data &B00000000
    Data &B00000100
    
    2:
    Data &B00000000
    Data &B00000000
    Data &B00000100
    Data &B00000000
    
    3:
    Data &B00000000
    Data &B00000000
    Data &B00000100
    Data &B00000100
    
    4:
    Data &B00000000
    Data &B00000100
    Data &B00000000
    Data &B00000000
    
    5:
    Data &B00000000
    Data &B00000100
    Data &B00000000
    Data &B00000100
    
    6:
    Data &B00000000
    Data &B00000100
    Data &B00000100
    Data &B00000000
    
    7:
    Data &B00000000
    Data &B00000100
    Data &B00000100
    Data &B00000100
    
    8:
    Data &B00000100
    Data &B00000000
    Data &B00000000
    Data &B00000000
    
    9:
    Data &B00000100
    Data &B00000000
    Data &B00000000
    Data &B00000100

    Als aller erstes will ich noch dazu sagen:
    Ich weis das die Ansteuerung des Treibers (MC14499) so hier noch nicht funktioniert - ich konnte den Syntax noch nicht abschliesen weil ich leider hier schon hänge..

    Mein Problem ist folgendes:
    Der AVR soll später über einen Counter und einen Timer die Hz Zahl eines Anliegenden signals ermitteln und dann an 7 segment Anzeigen (3 Stück) weitergeben.
    Zum Multiplexen der Anzeigen nutze ich nun den og. IC.

    Mein Problem war/ ist eben nur wie ich die Zahlen an den TreiberIC ohne Millionen 'If Then' Schleifen sende...

    Ich dachte mir die Zahlen (Durch 4 Bit codiert) In Tabellen zu hauen und dann wie im Syntax über Zählerschleifen (For...) an den IC zu Schicken...

    Wenn ich aber den Syntax von oben Compilieren dann Kommen Fehlermeldungen, dass Z1 oder Z2 oder Z3 nicht gefunden wurden ("... Label Not Found").

    Was muss ich ändern, oder wie kann ich das eleganter lösen, dass ich nur einen Dreistelligen Wert vom Counter (kommt später noch, hier nur testweise der wert 245) in eine Variable einlese und Diese dann auf 3 Segmentanzeigen ausgeben kann?

    BITTE HELFT MIR!!!

    Danke schonmal
    Lg

  2. #2
    NOCH EINE ERGÄNZUNG:

    Ich habe herausgefunden, dass das Problem darin liegt, dass man beim LOOKUP Befehl die Bezeichnung der Tabelle(Also bei mir Z1,Z2,Z3) nicht durch ebendiese Variablen ausdrücken darf. Das Programm sucht vergebens nach den Tabellen Z1, Z2 oder Z3.

    Kann ich Das Irgendwie Anders klären? Vielleicht über eine andre Form der Tabellen? (Mehrdimensional?, hab den Beitrag darüber hier schon gelesen aber leider nicht verstanden...)


    Lg Tony

  3. #3
    Hallo. Nach einem Tag hab ich es nun geschafft.

    Ich stehe aber vor einen Neuem Problem. Dieser Chip wird nicht mehr hergestellt.
    Ich suche jetzt einen Chip, der 16Bit BCD Code einliest und dann automatisch Multiplext (quasi wie der andere)...

    Könnt Ihr mir einen Chip nennen der die kann?

    Lg

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    24
    Beiträge
    3.474
    Blog-Einträge
    9
    Schau dir mal den Chip an:

    http://de.farnell.com/freescale-semi...-ch/dp/1457137

    Ist der ok?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Zitat Zitat von Kampi Beitrag anzeigen
    Schau dir mal den Chip an:

    http://de.farnell.com/freescale-semi...-ch/dp/1457137

    Ist der ok?
    Absolut! =)
    Danke Kampi!...

    Der wäre soweit ideal nur hoffe ich das dieser nicht auch bald abgesetzt wird...

    Wenn jemand noch ne andre Idee hat immer her damit, aber der ist schonmal super!

    Lg

+ Antworten

Stichworte

Berechtigungen

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