Naxos
30.12.2008, 11:41
Ich möchte mir über einen Interrupt am Lcd die Spannung des Akkus anzeigen lassen. Ich betätige dazu einen Schalter am Atmega16. Mein Problem ist jetzt, dass wenn ich die Variable Akku als Single definiere, dann zeigt es mir nichts mehr an. Wenn ich sie als Word definiere zeigt es mir die Zahlen hinter dem Komma nicht an. Die Formel für die Berechnung stimmt.
Hier der Bascom Code:
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 19200
$framesize = 32
Config Adc = Single , Prescaler = 32
Config Portd.2 = Input
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Config Lcdbus = 4
Config Single = Scientific , Digits = 1
Config Int0 = Falling
Enable Interrupts
Enable Int0
On Int0 Spannungsausgabe_auf_tastendruck
Dim Batterypower As Integer
Dim Akku2 As Word
Dim Akku As Single
Portd.2 = 1
Cls
Locate 1 , 1
Lcd "Bereit"
Do
Batterypower = Getadc(0)
Print Batterypower
Wait 5
Loop
Spannungsausgabe_auf_tastendruck:
Akku2 = Getadc(0)
Akku2 = Akku2 * 5.9
Akku = Akku2 / 368.28
Locate 2 , 1
Lcd Akku
Wait 2
Cls
Return
Vielen Dank im Voraus
Naxos
Hier der Bascom Code:
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 19200
$framesize = 32
Config Adc = Single , Prescaler = 32
Config Portd.2 = Input
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Config Lcdbus = 4
Config Single = Scientific , Digits = 1
Config Int0 = Falling
Enable Interrupts
Enable Int0
On Int0 Spannungsausgabe_auf_tastendruck
Dim Batterypower As Integer
Dim Akku2 As Word
Dim Akku As Single
Portd.2 = 1
Cls
Locate 1 , 1
Lcd "Bereit"
Do
Batterypower = Getadc(0)
Print Batterypower
Wait 5
Loop
Spannungsausgabe_auf_tastendruck:
Akku2 = Getadc(0)
Akku2 = Akku2 * 5.9
Akku = Akku2 / 368.28
Locate 2 , 1
Lcd Akku
Wait 2
Cls
Return
Vielen Dank im Voraus
Naxos