Bascom I2C LCD In einen Code einfügen per zeit

Thorsten_Sch

Mitglied
31. Okt. 2010
152
0
16
47
HH
Sprachen
  1. BascomAVR
Hallo Forum gemeinde und Bastler

Ich versuche die ganze zeit per I2C-LCD Hintergrund per taster drücken das nach der zeit das hintergund aus geht.
Bekomme es nicht hin, da ich nicht genau weis wie oder was ich wo einfügen muss....
könnte mir jemanden helfen bitte.
Hier mein code

Code:
$lib "Lcd_i2c.lib"                                          'ersetzt die Standard LCD Library
$regfile "m32def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 32
$framesize = 40

I2cinit                                                     'dies ist die Kennung für Lib Lcdpin                                                 'etwas warten LCD-Controller wird geladen
'*****************************************************
'Nun legen wir die Dimensionierung der Taster fest
 T1 Alias Portd.3
Dim T1_alt As Bit                                           'ist Merker
 T2 Alias Portd.4
Dim T2_alt As Bit                                           'ist Merker
 T3 Alias Portd.5
Dim T3_alt As Bit                                           'ist Merker
 T4 Alias Portd.6
Dim T4_alt As Bit                                           'ist Merker

Dim Status1 As String * 3                                   'für LCD
Dim Status2 As String * 3
Dim Status3 As String * 3
Dim Status4 As String * 3

Dim Realis_1 As Byte
Dim Realis_2 As Byte
Dim Realis_3 As Byte
Dim Realis_4 As Byte
Realis_1 = &B00000001
Realis_2 = &B00000010
Realis_3 = &B00000100
Realis_4 = &B00001000
'Config LCD PCF8574 LCD-HINTERGRUND
Dim A As Byte
Dim B As Byte
A = &B10000000                                              'Aus
B = &B00000000                                              'An

Const Pcf8574_lcd = &H7A                                    'I2C Adresse &H40 ( 16x2 LCD )
Config I2cdelay = 15                                        'delay von 5=20µs=50kHz,10=10µs=100kHz;5=5µs=200KHz
Config Scl = Portc.0                                        'I2C SCL Pin
Config Sda = Portc.1                                        'I2C SDA Pin
Dim _lcd_e As Byte
_lcd_e = 64

'Port Einstellungen PortC4 wird der Variable T1 zugeordnet(als Eingang)
Config Portd.3 = Input
Portd.3 = 0                                                 'Internen PullUp-Widerstand aktivieren.
'Port Einstellungen PortC5 wird der Variable T2 zugeordnet(als Eingang)
Config Portd.4 = Input
Portd.4 = 0                                                 'Internen PullUp-Widerstand aktivieren.
'Port Einstellungen PortC5 wird der Variable T3 zugeordnet(als Eingang)
Config Portd.5 = Input
Portd.5 = 0
'Port Einstellungen PortC5 wird der Variable T4 zugeordnet(als Eingang)
Config Portd.6 = Input
Portd.6 = 0
'--------------------------------------------------------------------------------------------
'Hier werden die Ausgänge dimensionieren und ein"Name" vergeben
'--------------------------------------------------------------------------------------------
Re1 Alias Porta.0                                           'Realis1 Ausgang
Re2 Alias Porta.1                                           'Realis2 Ausgang
Re3 Alias Porta.2                                           'Realis3 Ausgang
Re4 Alias Porta.3                                           'Realis4 Ausgang
Re5 Alias Porta.4                                           'Realis5 Spannung zufuhr ( NEU )
Config Re1 = Output                                         'als Ausgang zuweisen
Config Re2 = Output                                         'als Ausgang zuweisen
Config Re3 = Output                                         'als Ausgang zuweisen
Config Re4 = Output                                         'als Ausgang zuweisen
Config Re5 = Output                                         'als Ausgang zuweisen
'-------------------------------------------------------------------------------------------
La1 Alias Portb.0                                           'Lampe1
La2 Alias Portb.1                                           'Lampe2
La3 Alias Portb.2                                           'Lampe3
La4 Alias Portb.3
Out7 Alias Portb.7                                          'Lampe4
Config La1 = Output                                         'als Ausgang zuweisen
Config La2 = Output                                         'als Ausgang zuweisen
Config La3 = Output                                         'als Ausgang zuweisen
Config La4 = Output                                         'als Ausgang zuweisen
Config Out7 = Output
'Hier nicht muss doch ständig abgefragt werden
'Lcd_hi = 1
'----------------NEU---------------------------------------------------------------------
Wait 2                                                      'ausprobieren Relais sind doch etwas träge.
' dann Lampentest
Set La1                                                     'alle EIN = H
Set La2
Set La3
Set La4
Wait 2
'-------------------------------------------------------------------------------------------
'nach Start einmal Anzeigen und etwas warten (nur mal so)
  Locate 1 , 1                                              'Cursor auf 1 Zeile, 1 Spalte
   Lcd "Schreibtisch  "
  Locate 2 , 1                                              'Cursor auf 2 Zeile, 1 Spalte
   Lcd "Steuerung   "
  Locate 3 , 1                                              'Cursor auf 3 Zeile, 1 Spalte
   Lcd "alles OK   "
  Locate 4 , 1                                              'Cursor auf 3 Zeile, 1 Spalte
   Lcd "BITTE WARTEN   "
 Waitms 30

 'so schnell kann man doch nichts sehen Wait 1 gerade So.
'Eine Testanzeige die man nicht sieht ist doch unnütz oder ???

Wait 2                                                      'waten
'Test beenden
Reset La1                                                   'alle AUS = L
Reset La2
Reset La3
Reset La4
Wait 2
Set Re5
Waitms 100
Cls
I2csend &H7A , A
'-------------------------------------------------------------------------------------------
'Fred Zuslasung wegen ob Aus
Status1 = "AUS"                                             'Das ist hab ich eingefügt und wird angezeigt
Status2 = "AUS"
Status3 = "AUS"
Status4 = "AUS"
'Fred Zulasung wegen ob Aus
'------------------------------------------------------------------------------------------
'hier ist Schleife die permanent läuft
Do
T1 = Pind.3
T2 = Pind.4                                                 'die Ports für Taster lesen
T3 = Pind.5
T4 = Pind.6
'Wait ist besser wie [Debounce Pinx.x]. ist eine sehr langsame Flankenberechnung
'für Taster Entprellung. Da in deiner Schleife die Laufzeiten kaum eine Rolle
'spielen, passe  dieses Wait an wenn nötig.
 Waitms 10                                                  'voher 100
'## toggeln für Output ist getriggerte Doppelabfrage ##

 '-- Abfrage Tasten 1 ---
 If T1 <> T1_alt Then
    If T1 = 0 Then
       'fallende Flanke
         Toggle Re1
         Toggle La1
      If Re1 = 1 Then Status1 = "EIN"
      If Re1 = 0 Then Status1 = "AUS"

 Else
   'steigende Flanke
     End If
 End If
'------letzen Tastendruck merken----------
         T1_alt = T1
'-----------------------------------------

'-- Abfrage Tasten 2 ---
 If T2 <> T2_alt Then
    If T2 = 0 Then
         Toggle Re2
         Toggle La2
      If Re2 = 1 Then Status2 = "EIN"
      If Re2 = 0 Then Status2 = "AUS"
 Else                                                       '
     End If
 End If
'------letzen Tastendruck merken----------
         T2_alt = T2
'-----------------------------------------

'-- Abfrage Tasten 4 ---
 If T3 <> T3_alt Then
    If T3 = 0 Then
         Toggle Re3
         Toggle La3
      If Re3 = 1 Then Status3 = "EIN"
      If Re3 = 0 Then Status3 = "AUS"
 Else                                                       '
     End If
 End If
'------letzen Tastendruck merken----------
         T3_alt = T3
'-----------------------------------------

'-- Abfrage Tasten 4 ---
 If T4 <> T4_alt Then
    If T4 = 0 Then
         Toggle Re4
         Toggle La4
      If Re4 = 1 Then Status4 = "EIN"
      If Re4 = 0 Then Status4 = "AUS"
 Else                                                       '
     End If
 End If
'------letzen Tastendruck merken----------
         T4_alt = T4
'-----------------------------------------

'+++++++ LCD-Anzeige ++++++++

  Locate 1 , 1                                              'Cursor auf 1 Zeile, 1 Spalte
   Lcd "RGB-Licht   =   " ; Status1
  Locate 2 , 1                                              'Cursor auf 2 Zeile, 1 Spalte
   Lcd "Verstearker =   " ; Status2
  Locate 3 , 1                                              'Cursor auf 3 Zeile, 1 Spalte
   Lcd "L I C H T   =   " ; Status3
  Locate 4 , 1                                              'Cursor auf 3 Zeile, 1 Spalte
   Lcd "12Volt/AVR  =   " ; Status4

Loop
    End
'****************END****************************

Bitte um ratschläge und tipps
Mit Freundtlichen Grüßen
Thorsten Sch.
 
Und könnte mir jemend helfen Bitte

Hallo Forum gemeinde und bastler

ist denn nu jemand da der mir helfen könnte oder tipps......

Mit Freundtlichen Grüßen
Thorsten Sch.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)