Witam. Ostatnio zrobiłem termometr na atmega8, jako czujnik temperatury użyłem LM35, wszystko wyświetla się na dwóch wyświetlaczach siedmiosegmętowych. Chciałem zrobić żeby termometr mierzył do 99°C, ale najwiekszą wartość jaką wyświetla to 62°C. Proszę o sprawdzenie kodu:
Dodano po 49 [minuty]:
Już znalazłem odpowiedz. Nie dałem zewnętrznego oscylatora bo nie miałem ale on jest niestety niezbędny do tego układu. Jutro jak kupie to zobaczę czy pomoże.
Dzięki za wyczerpujące odpowiedzi.
Pozdrawiam.
$regfile = "m8def.dat"
Config Portb = Output
Config Portd = Output
Dim X As Single , Y As Single
Dim A As Byte , B As Byte
Dim C As Byte , I As Byte
Dim Q As Byte
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Dim W As Byte
Declare Sub Proc
Do
For Q = 1 To 40
X = C
If X >= 10 Then
X = X / 10
A = X
Portd = Lookup(a , Wys2)
Waitms 1
X = X - A
X = X * 10
B = X
Portb = Lookup(b , Wys1)
Waitms 1
End If
If C =< 9 Then
B = C
Portb = Lookup(b , Wys1)
Waitms 1
A = 0
Portd = Lookup(a , Wys2)
Waitms 1
End If
Next Q
Gosub Proc
Loop
Sub Proc:
W = Getadc(5)
Y = W * 0.25
C = Y
End Sub
Wys1:
Data 63 , 6 , 91 , 79 , 102 , 109 , 125 , 7 , 127 , 111
Wys2:
Data 63 , 6 , 91 , 79 , 102 , 109 , 125 , 7 , 127 , 111Dodano po 49 [minuty]:
Już znalazłem odpowiedz. Nie dałem zewnętrznego oscylatora bo nie miałem ale on jest niestety niezbędny do tego układu. Jutro jak kupie to zobaczę czy pomoże.
Dzięki za wyczerpujące odpowiedzi.
Pozdrawiam.