PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Wie LCD im code einbinden ( schalten und text dazu anzeigen )



Der bastler
09.05.2011, 11:02
Hallo Forum und Bastler
ich habe ein 16x2 LCD mit einen ATtiny2313 asl 4Bit angeschlossen, hier mal den code

' Beispiel: Ansteuerung eines LCD im 4-Bit Modus
' ATtiny2313 Mit 16 x 2 Zeilen LCD
' Copyright (c) 2011 Thorsten Sch.
$regfile = "2313def.dat" ' ATtiny2313
$crystal = 8000000 ' 8MHz Takt

' LCD im 4-Bit Modus
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , _
Db7 = Portb.5 , E = Portb.7 , Rs = Portb.6

' Größe des LCD einstellen
' Mögliche Werte:
' 16 * 1, 16 * 1a, 16 * 2, 16 * 4
' 20 * 2, 20 * 4, 20 * 4a
' 40 * 4
Config Lcd = 16 * 2
' LCD initialisieren
Initlcd
' Cursor ausschalten
Cursor Off
' Anzeige leeren und zu Zeile 1, Zeichen 1 springen
Cls
Locate 1 , 2
' Text schreiben ( zeile 1 )
Lcd "melder 2"
' zu Position springen
' Zeile 2, Zeichen 5
Locate 2 , 2
' Text schreiben ( Zeile 2 )
Lcd "melder 1"
' Programmende
End
so nu möchte ich wenn ich einen ausgang geschaltet wird das der TEXT im display zu sehen ist solanger der geschaltet ist, habe dazu 4x eingänge/taster zur auswahl...

hab schon auf MICROCONTROLLER geschaut Forums und und leider finde ich den anfang nicht.

könnte mir jemand dabei helfen oder nur Tipps geben muss ja nicht gleich der ganze code sein.

Gruß DER BASTLER

Andree-HB
09.05.2011, 11:19
...etwa in dieser Richtung :



do
if pina.1=1 then
portb.1=1
lcd "Text1"
else
portb.1=0
lcd;
end if
loop
end

Der bastler
09.05.2011, 12:20
ja okay ich werde es gleich mal versuchen danke erstmal....

Gruß Der bastler

Der bastler
09.05.2011, 16:04
so hab mal den Code hier mal reingestellt und BITTE um HILFE oder Tipps

'-----------------------------------------------
'Schaltung Für
'Klingel Privat - KatzenPension - Lichtschranke
'Eingänge: 2 x klingeltaster und Lichtschranke
'Ausgänge: 2 Klingeln über realis geschaltet
' Deverse Led`s zur anzeige
'-----------------------------------------------
$regfile "2313def.dat"
$crystal = 8000000

Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , _
Db7 = Portd.2 , E = Portd.1 , Rs = Portd.0
Config Lcd = 16 * 2
Initlcd
Cursor Blink

Config Portb.0 = Output 'Klingel P
Config Portb.1 = Output 'Klingel K
Config Portb.2 = Output
Config Portb.7 = Output 'Klingel B
Config Pinb.3 = Input 'Klingeltaster P
Portb.3 = 0
Config Pinb.4 = Input 'Klingeltaster K
Portb.4 = 0
Config Pind.6 = Input 'Lichtschranke
Portd.6 = 0

Declare Sub Klingelp
Declare Sub Klingelk
Declare Sub Lichtschranke
Dim I As Byte

Do

If Pinb.0 = 0 Then
Locate 1 , 2
Lcd " Klingelmelder"
If Pinb.3 = 0 Then Gosub Klingelp
If Pinb.4 = 0 Then Gosub Klingelk
If Pind.6 = 0 Then Gosub Lichtschranke

Loop

End If

Sub Klingelp
Portb = &B10000010
Waitms 500

Portb = &B00000000
Waitms 400
End Sub

Sub Klingelk
Portb = &B10000011
Waitms 100

Portb = &B10000000
Waitms 150

Portb = &B10000010
Waitms 100

Portb = &B10000001
Waitms 150

Portb = &B10000010
Waitms 100

Portb = &B10000000
Waitms 150

Portb = &B10000011
Waitms 100

Portb = &B00000000
Waitms 150
End Sub

Sub Lichtschranke
Portb = &B10000011
Waitms 200

Portb = &B10000010
Waitms 250

Portb = &B10000011
Waitms 200

Portb = &B10000000
Waitms 200

Portb = &B10000011
Waitms 200

Portb = &B10000010
Waitms 250

Portb = &B10000011
Waitms 200

Portb = &B00000000
Waitms 200
End Sub

End
Return

könnt ihr mir helfen
Gruß Der Bastler genannt auch ( Thorsten )