- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 44

Thema: LCD- Ansteuerung mit ATMEGA48 funzt nicht :(

  1. #21
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    53
    Beiträge
    2.806
    Anzeige

    Praxistest und DIY Projekte
    Hast Du Deinen MC denn intern auch auf 4Mhz gefused ?

    Und Du bist Dir sicher, dass die 6 Leitungen in korrekter Reihenfolge an den richtigen Portpins liegen ?

  2. #22
    Benutzer Stammmitglied
    Registriert seit
    02.11.2008
    Beiträge
    57
    also ich habe die E und RS leitungen vertauscht ....jetzt tut sich gar nichts mehr am display! am ende des programmes habe ich noch eine LED angeschlossen, die wie erwartet nach 2 sekunden leuchtet, das heisst dass das programm am ende ist und auch der takt stimmt (würde die led nicht nach 2 sekunden leuchten wär was falsch)

    mein code schaut so aus:

    Code:
    $regfile = "m48def.dat"
    $crystal = 4000000
    $baud = 9600
    
    Config Portc = Output                                       'PORTC als Ausgang definieren
    Config Portb = Output                                       'PORTB als Ausgang definieren
    
    Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
    Config Lcd = 16 * 2
    Initlcd
    Waitms 1000
    Cursor Off
    
    Cls
    
    Enable Interrupts
    
    Display On
    Locate 1 , 1
    Lcd "1234"
    Locate 2 , 1
    Lcd "4321"
    Waitms 1000
    sbi portb,1
    
    End

  3. #23
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    53
    Beiträge
    2.806
    ...nochmal die Frage, ob der Takt richtig gefused ist...ansonsten funktioniert`s nämlich nicht !

  4. #24
    Benutzer Stammmitglied
    Registriert seit
    02.11.2008
    Beiträge
    57
    ja klar, sonst würd ja meine kontroll led am ende des programmes nach 2 sekunden nicht leuchten! (2* "waitms 1000" im programm)
    CKSEL0 und CKSEL 1 sind angekreuzt. also CKSEL3...0 = 1100
    das heisst dass beim Low Power Crystal Oscillator den bereich 3.0- 8.00 MHz gewählt ist...und ich hab n resonator dran, mit 4 MHz.

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.02.2007
    Ort
    BA-Wü
    Alter
    32
    Beiträge
    165
    Du sagst, du hast das Display im 4-Bit Modus angeschlossen?
    muss da nicht ein
    " Config Lcdbus = 4"
    nach "Config LCDPin ?
    Viele Grüße,
    Michael

    Sn60Pb40 Rulez
    www.silvestercountdown.de.vu- Dein Countdown bis Neujahr!

  6. #26
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    WICHTIG: dein controller darf NIE das END erreichen!!!! das ist ein undefinierter zustand ... am ende immer ne endlose schliefe machen

    füge VOR dem ersten init doch ne mind. 32 ms lange pause ein bitte .. am besten 1000, wie du es schon zwischen den initialisierungen gemacht hast

    möglich dass dein controller am ende des programm irgenwelche undefinierbaren zustände am ausgang hat, wenn er ins END geht, die dein display nochmals löschen

    sry ich verwende C, kein bascom, ich arbeite da wesentlicher elementarer, vielleicht ist die zugrunde liegende bibliothek nicht ganz angepasst

    nach einem schaden klingt es nicht direkt aber ich würde es nicht ausschliessen

  7. #27
    Benutzer Stammmitglied
    Registriert seit
    02.11.2008
    Beiträge
    57
    ja danke, habs auch grad gesehen als die seite vorhin überlastet war und ich mal bei rn- wissen über lcd's gelesen habe! ist schon komisch dass dieser befehl in Bascom nicht aufgeführt ist, bei der beschreibung wie man so ein ding in betrieb nimmt
    aber nun denn...er steht..uuuund....es geht immernoch nicht

    also hier mein code:

    Code:
    $regfile = "m48def.dat"
    $crystal = 4000000
    $baud = 9600
    
    
    Config Portc = Output                                       'PORTC als Ausgang definieren
    Config Portb = Output                                       'PORTB als Ausgang definieren
    
    Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
    Config Lcdbus = 4
    
    Config Lcd = 16 * 2
    Initlcd
    Waitms 1000
    
    Enable Interrupts
    Cls
    
    Locate 1 , 1
    Lcd "1234"
    Waitms 1000
    sbi portb,1
    
    End

  8. #28
    Benutzer Stammmitglied
    Registriert seit
    02.11.2008
    Beiträge
    57
    kann mir jemand ein quellcode schikcne, von dem er denkt er würde gehen? ich hab die leitungen alle mit dem multimeter ausgemessen, da stimmt also alles, kontrastabgleich geht auch, also ich weiss echt nicht an was es noch liegen könnte! muss man irgend eine libary inportieren oder wie siehts aus??

    würde mich freuen wenn das endlich mal funktioniert

    mfg
    aykay

  9. #29
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Über den Hinweis von Ceos habe ich beim lesen dieses Threads auch schon mal nachgedacht - wieso lässt Du den Controller am Schluss ins Leere laufen?

    Hast Du´s schon mal mit einer Do-Loop-Schleife probiert, in der z.B. alle 100ms das LCD angesteuert wird?

    (kann ja wohl nicht sein, dass das dermaßen hartnäckig nicht geht, oder??...)

  10. #30
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.02.2007
    Ort
    BA-Wü
    Alter
    32
    Beiträge
    165
    Probier mal folgenden Code, echt merkwürdig!

    Code:
    $regfile = "m48def.dat"
    $crystal = 4000000
    $baud = 9600
    
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    
    
    Config Portc = Output                                       'PORTC als Ausgang definieren
    Config Portb = Output                                       'PORTB als Ausgang definieren
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
    Config Lcdbus = 4
    
    Initlcd
    Waitms 1000
    
    Cls
    
    Do
    Locate 1 , 1
    Lcd "TEST123"
    toggle portb.1
    Waitms 1000
    loop
    
    End
    [IronieON]
    Hast du vielleicht einen Kettenbrief nicht weitergeleitet und hast deshalb 7 Jahre lang Pech oder sowas?
    [IronieOFF]
    Viele Grüße,
    Michael

    Sn60Pb40 Rulez
    www.silvestercountdown.de.vu- Dein Countdown bis Neujahr!

Seite 3 von 5 ErsteErste 12345 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test