Hallo ich bin dabei ein Menu für meine Abschlussarbeit zu
schreiben(zutritskontrolle per Transponder)... ich habe bereits
begonnen... jedoch stelle ich fest das wenn ich noch weiter mache... das
ganze zu unübersichtlich wird...nun wollte ich mal fragen ob mir da
jemand ne andere Programmier möglichkeit zeigen könnte...
hier mein "erstes" Programm...: (das ist nur das menü... zudem kommen
noch eine Uhr,transponderleseeinheit,teilprogramm zum anzeigen der
Transponderschlüssel,usw...)
$regfile = "M8def.dat"
$crystal = 3686400
$hwstack = 32 ' default
use 32 for the hardware stack
$swstack = 10 ' default
use 10 for the SW stack
$framesize = 40 ' default
use 40 for the frame space
Cls
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 ,
Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Cursor Off Noblink
Config Portb = Input
Config Portb.1 = Output 'PWM für die
Bildschirmbeleuchtung
Config Portc = Output
Dim Wertx As Byte , Werty As Byte
Dim X As Byte , Y As Byte , Z As Byte
Dim Unterprogramm As String * 15 , Unterprogramm2 As String * 15 ,
Eunterprogramm1 As String * 15 , Eunterprogramm2 As String * 15
Dim Belunterprogramm1 As String * 15
Z = 10 'Z ist
Untermenu angabe
X = 1
Y = X + 1
Portb = &B00111100
Do
Debounce Pinb.2 , 0 , Rauf , Sub
Debounce Pinb.3 , 0 , Runter , Sub
If Z = 10 Then Gosub Hauptmenu
If Z = 2 Then Gosub Einstellungen
If Z = 5 Then Gosub Lcdbeleuchtung
Waitms 10
Debounce Pinb.4 , 0 , Bestaetigen , Sub
Debounce Pinb.5 , 0 , Zuruek , Sub
Loop
'Unterprogramm zum Raufzählen
Rauf:
Y = Y + 1
X = Y - 1
If X > 3 Then X = 1
If Y > 3 Then Y = 1
Return
'Unterprogramm zum Runterzählen
Runter:
X = X - 1
Y = X + 1
If X < 1 Then X = 3
If Y < 1 Then Y = 3
Return
Bestaetigen:
If Z = 10 And X = 1 Then Gosub Einstellungen
If Z = 10 And X = 2 Then Gosub Schluessel
If Z = 10 And X = 3 Then Gosub Letzter_eintrag
If Z = 2 And X = 2 Then Gosub Lcdbeleuchtung
If Z = 5 And X = 1 Then Gosub Lcdan
If Z = 5 And X = 2 Then Gosub Lcdaus
Return
Einstellungen:
Z = 2
If X = 2 Then Eunterprogramm1 = "LCDBeleuchtung "
If Y = 2 Then Eunterprogramm2 = "LCDBeleuchtung "
If X <> 2 Then Eunterprogramm1 = "Reserve "
If Y <> 2 Then Eunterprogramm2 = "Reserve "
Locate 1 , 1 : Lcd X ; Eunterprogramm1
Locate 2 , 1 : Lcd Y ; Eunterprogramm2
Return
Schluessel:
Z = 3
Cls
Waitms 5 'da sonst
5Buchstaben nicht auf die LCD kommen
Locate 1 , 1 : Lcd "Hinzufuegen "
Return
Letzter_eintrag:
Z = 4
Cls
Waitms 5 'da sonst
5Buchstaben nicht auf die LCD kommen
Locate 1 , 1 : Lcd "Schluessel nr "
Return
Lcdbeleuchtung:
Z = 5
If X = 1 Then Belunterprogramm1 = "Beleuchtung AN "
If X = 2 Then Belunterprogramm1 = "Beleuchtung AUS"
If X = 3 Then Belunterprogramm1 = " "
Locate 1 , 1 : Lcd X ; Belunterprogramm1
Locate 2 , 1 : Lcd " "
Return
Lcdan:
Portb.1 = 1
Return
Lcdaus:
Portb.1 = 0
Return
Zuruek:
Z = 10
Return
Hauptmenu:
Z = 10
'Unterprogramm zum
Ausgeben auf die LCD-Anzeige
If X = 1 Then Unterprogramm = "Einstellungen "
If Y = 1 Then Unterprogramm2 = "Einstellungen "
If X = 2 Then Unterprogramm = "Schluessel + "
If Y = 2 Then Unterprogramm2 = "Schluessel + "
If X = 3 Then Unterprogramm = "Letzter Eintrag"
If Y = 3 Then Unterprogramm2 = "Letzter Eintrag"
Locate 1 , 1 : Lcd X ; Unterprogramm
Locate 2 , 1 : Lcd Y ; Unterprogramm2
Return
Gruss Mike
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.