- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 26

Thema: ...mit logischer "1" LCD "zuschalten" ?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2011
    Beiträge
    13
    Hallo Harry,

    aaaaaalso, ich war wohl in meiner "Problembeshreibung" nicht ganz aufrichtig

    In meinem Programm läuft in der Do-Loop-Schleife eine Berechnung welche in jeder Sekunde auf dem LCD ein Ergebnis zeigt.
    Meine Idee war nun nicht die ganze Zeit die Anzeige darstellen (die Berechnung soll in Hintergrund weiter laufen).
    Also habe ich alle ~10 Sekunden für ~5 Sekunden den Pin C.5 auf "1" gesetzt. Mit dieser "1" wollte ich das Display steuern,
    also alle 10 Sek. für 5 Sek. das LCD "befeuern".
    Ich habs nicht hinbekommen, nehem ich dem Display den Pin3 (Kontrast) weg, wird es logischer Weise dunkel, gebe ich ihm Masse zurück
    (und zwar nur die Masse des definierten Dispayports) funktioniert es. Masse vom Board funktioniert nicht, dann kommt das Display durcheinander
    und zeigt alles schwarz???.
    Habe nun mit einem Bauerntrick experimentiert und mit meiner logischen "1" ein CMOS-IC 4066 befeuert (4 digitale Schalter).
    Einer dieser Schalter unterbricht die Kontrastleitung...brauch ich halt noch ein IC, schade, 'ne Softwarelösung wäre mir lieber gewesen

    ...trotzdem danke an alle, treffen uns beim nächsten Problem wieder


    gruß Kugelblitz

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von Kugelblitz Beitrag anzeigen
    also alle 10 Sek. für 5 Sek. das LCD "befeuern".
    Und warum kannst du nicht einfach 5 Sekunden nichts zum LCD schicken? Verstehe ich nicht.
    Wenn das LCD dazwischen leer sein soll, dann vorher noch ein CLS.

    Zitat Zitat von Kugelblitz Beitrag anzeigen
    Habe nun mit einem Bauerntrick experimentiert und mit meiner logischen "1" ein CMOS-IC 4066 befeuert (4 digitale Schalter).
    Einer dieser Schalter unterbricht die Kontrastleitung...brauch ich halt noch ein IC, schade, 'ne Softwarelösung wäre mir lieber gewesen
    Ziemlich viel Aufwand, der Sinn bleibt mir verborgen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2011
    Beiträge
    13
    Hallo for_ro

    ja, ja ziemlich viel Aufwand, haste recht, ich glaube ich denke zu verbogen, "einfach 5 Sek. nichts zum LCD schicken" ist wohl der Schlüssel.
    Ich glaube ich denke schon zu lange darüber nach
    Jetzt geh ich mal spazieren, wenn ich wiederkomme mache ich einen neuen anlauf und versuche mal 5 Sekunden nix zu schicken.

    danke für den hinweis, werde später mal das Programm "verschlimmbessern"

    gruß Kugelblitz

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2011
    Beiträge
    13
    ...so, war spatzieren, hat aber nix gebracht,

    deshalb poste ich euch das ganze Ausmaß des Elends---

    Code:
    $regfile "2313def.dat"
    $crystal = 3686400
    $baud = 9600
    
    Dim Sekunden As Long
    Dim Tik As Integer
    Dim Minuten As Long
    Dim Stunden As Long
    Dim Tage As Integer
    Dim Starttag As Byte , Startmonat As Byte , Startjahr As Byte
    Dim Zieltag As Byte , Zielmonat As Byte , Zieljahr As Byte
    Dim Bday1 As Byte , Bmonth1 As Byte , Byear1 As Byte
    Dim Bday2 As Byte , Bmonth2 As Byte , Byear2 As Byte
    Dim Datdiff1 As Integer , Datdiff2 As Integer
    Dim Wert As Integer
    
    Deflcdchar 0 , 32 , 24 , 30 , 7 , 27 , 24 , 22 , 16
    Deflcdchar 1 , 24 , 24 , 28 , 12 , 30 , 31 , 31 , 15
    Deflcdchar 2 , 6 , 1 , 1 , 32 , 32 , 32 , 16 , 16
    Deflcdchar 3 , 16 , 1 , 14 , 12 , 1 , 7 , 32 , 16
    Deflcdchar 4 , 30 , 30 , 8 , 32 , 32 , 32 , 32 , 32
    Deflcdchar 5 , 32 , 32 , 32 , 4 , 24 , 32 , 32 , 32
    Deflcdchar 6 , 23 , 19 , 15 , 12 , 8 , 10 , 15 , 15
    Deflcdchar 7 , 7 , 7 , 7 , 7 , 5 , 13 , 24 , 16
    
    
    
    'LCD CONFIG'
    '----------'
    Config Lcd = 20 * 4
    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
    Config Lcdbus = 4
    
    Enable Interrupts
    Config Clock = User
    Config Date = Ymd , Separator = .                           ' ANSI-Format
    
    Starttag = 08 : Startmonat = 01 : Startjahr = 12 : Datdiff1 = Sysday(starttag)
    Zieltag = 24 : Zielmonat = 12 : Zieljahr = 12 : Datdiff2 = Sysday(zieltag)
    
    Tage = Datdiff2 - Datdiff1
    
    Tik = 0
    Stunden = Tage * 24
    Minuten = Stunden * 60
    Sekunden = Minuten * 60
    
    Config Timer1 = Timer , Prescale = 1024                     'Bestimmt das Timer 1 verwendet
    Enable Timer1
    On Timer1 Test
    Enable Interrupts
    Timer1 = 61935
    Cls
    
    Do                                                          ' Schleifenanfang
    Cursor Off Noblink
    Locate 1 , 1
    Lcd " nur noch " ; Sekunden
    Locate 2 , 1
    Lcd " Sekunden bis...???"
    Locate 3 , 8 : Lcd Chr(0) ; Chr(2) ; Chr(4) ; Chr(6)
    Locate 4 , 8 : Lcd Chr(1) ; Chr(3) ; Chr(5) ; Chr(7)
    
    Waitms 50
    If Tik = 25 Then Gosub Tiktest1                             'Ausgang C.5 ein  [15]
    If Tik = 35 Then Gosub Tiktest2                             'Ausgang C.5 aus  [25]
    'Differenz von 10 entspricht ~ 10Sek eingeschaltet
    
     Loop
        End
    
     Test:
    Incr Tik
    Decr Sekunden
    Timer1 = 61935                                              ' Timer soll ab 61935 hochzählen
     Return
    
      Tiktest1:
      Portb.5 = 1
      Return
    
     Tiktest2:
     Tik = 0
      Portb.5 = 0
     Return
    '
    ...zwischen Tiktest1 und Tiktest2 sollte nach meiner Idee das LCD Display
    das Ergebnis anzeigen...

    mfg
    Kugelblitz
    Geändert von radbruch (08.01.2012 um 14:50 Uhr) Grund: Code-Tags eingefügt

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2011
    Beiträge
    13
    P.S.
    wenn es nicht üblich ist Prog-teile auf diese Art zu posten, bitte bescheid sagen,
    hänge ich das Prog das nächste mal an

    Kugelblitz

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Das ist schon so OK.
    Ich kann nur kein BASCOM. In C würde ich das so machen, wenn du den Port auf 1 setzt also Ausgabe dann ein Flag setzen.
    Vor der LCD-Ausgabe ein if in dem du das Flag abfragst. Wenn Flag dann LCD Ausgabe, wenn kein Flag dann nicht.
    Ich hoffe das war einigermassen Verständlich.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    @Kugelblitz: Möchtest Du mit Portb.5 den Kontrast ein/aus schalten? Ich kann nicht finden, wo Portb.5 als Output konfiguriert ist.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2011
    Beiträge
    13
    ...moin, moin Hubert,

    jou, verständlich war das, an meinem Quellcode kannste sehen ich kann werde Bascom vernüftig noch C oder C++ oder Assembler,
    habe ein gefährliches halbwissen

    Aber die Idee ist gut, werde die Befehlslage in Bascom prüfen ob sich etwas findes was in diese Richtung geht, danke für den Tipp


    gruß Kugelblitz

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2011
    Beiträge
    13
    @ Searcher

    mhmmm??? stimmt, habe PortB.5 nicht explizit als Output gekennzeichnet!!!!
    Habe aber in meiner Versuchanordnung 'ne LED an Port B.5, die ist immer schön "angegangen",
    gehe also davon aus der Portbefehl funzt...

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 15.06.2011, 21:18
  2. Geschwindigkeitsmesser "testen" / "prüfen"
    Von Goblin im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 12.04.2011, 09:53
  3. "Soft-Reset?" und "Finger-Interrupt?"
    Von trapperjohn im Forum Asuro
    Antworten: 8
    Letzter Beitrag: 10.06.2008, 23:02
  4. "HCF 4096 BE" und "HCF 4095 BE" seriell-
    Von Bastler5 im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 15.05.2005, 13:23
  5. ASM: was machen "swap" und "cbr" genau?
    Von RHS im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 18.08.2004, 17:16

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress