PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sensorproblem



Obstler92
27.11.2012, 16:36
Hallo Forum...

Ich muss für ein Projekt einen Microcontroller programmieren. Ich habe leider nicht wirklich viel Ahnung vom Programmieren.
Als Bauteile habe ich einen Atmega8515, LCD, Tsic 206

im folgenden befindet sich mein bisher programmierter Quellcode. Jedoch zeigt mir das Display nicht den erwünschten wert :(.... Weiß weiß einfach nicht weiter..
Darum bitte ich euch um Hilfe.

Quellcode

$regfile "m8515.dat"
$crystal = 8000000

'_________________________________________________ ______________________________

Config Pind.2 = Input
Sensor Alias Pind.2

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.7 , Db5 = Porta.6 , Db6 = Porta.5 , Db7 = Porta.4 , E = Porta.3 , Rs = Porta.2
Cursor Off
'_________________________________________________ ______________________________
Waitms 150
Config Pind.1 = Output
Portd.1 = 1

'_________________________________________________ ______________________________

Config Int0 = Falling
On Int0 Interrupt
Enable Int0
Enable Interrupts

'_________________________________________________ ______________________________

Dim Temperatur As Single
Dim Bitzaehler As Byte
Dim Strobe As Word
Dim Strobe_speicher As Word
Dim Bitnummer As Byte
Dim Fertig As Bit
Dim Sensorwert As Word
Sensorwert = 0

'_________________________________________________ ______________________________


Do


If Fertig = 1 Then
Reset Fertig
Locate 1 , 10
Lcd Fusing(temperatur , "#.#") ; Chr(223) ; "C"
Waitms 200
End If


Loop

End
'_________________________________________________ ______________________________

Interrupt:

Strobe = 0

Incr Bitzaehler

Select Case Bitzaehler

Case 1:
Do : Incr Strobe : Loop Until Sensor = 1
Strobe_speicher = Strobe

Case 2 To 6:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 0


Case 7:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 1024


Case 8:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 512

Case 9:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 256

Case 10 To 12:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 0


Case 13:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 128

Case 14:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 64

Case 15:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 32

Case 16:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 16

Case 17:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 8

Case 18:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 4

Case 19:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 2

Case 20:
Do : Incr Strobe : Loop Until Strobe = Strobe_speicher
If Sensor = 1 Then Sensorwert = Sensorwert + 1

Case 21:
Temperatur = 0.0977 * Sensorwert
Temperatur = Temperatur - 50
Sensorwert = 0
Bitzaehler = 0
Strobe_speicher = 0
Set Fertig
End Select




Return