sooo hir ist das übel was mir schlaflose nächte bereitet....
Code:
$lib "glcdks108.lib "
$crystal = 16000000
$regfile = "m128def.dat"
$hwstack = 40
$swstack = 40
$framesize = 40
'LCD pin
' 1 Vss GND
'2 Vdd +5V
'3 V0 poti
'4 D/I Cd
'5 R/W Rd
'6 E enable
'7-14 DB Porta
'15 Cs1 Ce1
'16 Cs2 Ce2
'17 RESET reset
'18 Vee poti
'19 A 7,2V
'20 K Gnd
Config Portc = Output
Config Porta = Output
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 2 , Ce2 = 5 , Cd = 1 , Rd = 0 , Reset = 4 , Enable = 3
Wait 1
Locate 16 , 1 : Lcd "Geschwindikeitsanzeige"
Cls
'--------------------------------------------------------------------------
'**********************
'
'FUNKMODUL KOMMUNKATION
'
'**********************
config Portb = output 'verbunden mit den eingängen des funkmoduls
config portf = output 'verbunden mit LEDs die ein signal geben
set portb
set portf
if portb.0 = 0 then portf.0 = 1
if portb.1 = 0 then portf.1 = 1
if portb.2 = 0 then portf.2 = 1
'--------------------------------------------------------------------------
'*********************************
'
'GESCHWINDIGKEITSMESSUNG & AUSGABE
'
'*********************************
Set Pind.6 'Pullup aktiv
Config Pind.6 = Input 'Konfiguration des Timer/Counter und Signalinput für Geschwindigkeitsanzeige
Config Int0 = Falling
Config Timer1 = Timer , Prescale = 1024
Const Timervorgabe = 3036 ' festgelegte Konstanten
Const Schraubenprowelle = 6 '
Const Reifenumfangincm = 127 '
Dim Reifenumfanginkm As Long 'Dimensionierung der Bytes zur Berechnung der Geschwindigkeit
Dim Zaehlerirq0 As Long '
Dim Impulseprosekunde As Long '
Dim Impulseprostunde As Long '
Dim Umdrehungenprostunde As Integer '
Dim Kilometerprostunde As Integer '
Zaehlerirq0 = 0 'Prozedur Timer
On Int0 Irq0
Enable Int0
On Timer1 Timer_irq
Enable Timer1
Enable Interrupts
Do
Cls
'Das Programm brechnet die Geschwindikeit und zeigt sie auf dem LCD an
Print
Reifenumfanginkm = Reifenumfangincm / 100000
Impulseprostunde = Impulseprosekunde * 3600
Umdrehungenprostunde = Impulseprostunde / Schraubenprowelle
Kilometerprostunde = Umdrehungenprostunde * Reifenumfanginkm
locate 2 , 2 : Lcd Kilometerprostunde
Locate 3 , 3 : Lcd "Km/h"
Waitms 30
Loop
End
Irq0:
Incr Zaehlerirq0
Return
Timer_irq:
Timer1 = Timervorgabe
Impulseprosekunde = Zaehlerirq0
Zaehlerirq0 = 0
Return
'---------------------------------------------------------------------------
'****************************
'
'ZUFALLSGENERATOR
'
'****************************
'die drei ausgänge sollen alternativ auch über einen zufallsgenerator aktiviert werden
Dim A As Byte
Dim Count As Byte
Dim Lotto As Byte
Do
Cls
Print A
Incr A
Count = Rnd(12)
Lotto = Count + 2
Print Count
Waitms 30
Loop Until A = 40
End
Lesezeichen