Witam
pomoże ktoś?? próbuję skompilować program w bascom 8051 dla AT89C2051 i 2x ds18b20 i zatrzymuje się na formacie tekstu
( Cc = Format(cc , " 0.0") )
format jest niezbędny i muszę go zrobić fusing odpada
w bascom 8051 nie ma takiej opcji?? bo w avr działa mi to świetnie ale mam aż 35 sztuk 89c2051 i szkoda mi dawać do termometru AVR kiedy tamte leżą w pudełku i się marnują.
dla I1 (1 -wszy czujnik) zrobiłem format przez rozdzielenie zmiennej cc ale nie działa to tak jak bym chciał ://
zamieszczam kod :
Pozdrawiam
pomoże ktoś?? próbuję skompilować program w bascom 8051 dla AT89C2051 i 2x ds18b20 i zatrzymuje się na formacie tekstu
( Cc = Format(cc , " 0.0") )
format jest niezbędny i muszę go zrobić fusing odpada
w bascom 8051 nie ma takiej opcji?? bo w avr działa mi to świetnie ale mam aż 35 sztuk 89c2051 i szkoda mi dawać do termometru AVR kiedy tamte leżą w pudełku i się marnują.
dla I1 (1 -wszy czujnik) zrobiłem format przez rozdzielenie zmiennej cc ale nie działa to tak jak bym chciał ://
zamieszczam kod :
$regfile = "89C2051.dat"
$large
$crystal = 14000000
$baud = 4800
'###############################################################################
T1 Alias P3.3
T2 Alias P3.5
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = P1.3 , Db5 = P1.4 , Db6 = P1.2 , Db7 = P1.5 , E = P1.7 , Rs = P1.6
Dim I1 As Integer
Dim I2 As Integer
Dim I11 As Integer
Dim I22 As Integer
Dim Cc As String * 6
Dim A As String * 2
Dim Aa As String * 2
Dim Zewmin As Integer
Dim Zewmax As Integer
Dim Wewmin As Integer
Dim Wewmax As Integer
Deflcdchar 0 , 8 , 20 , 8 , 32 , 3 , 4 , 4 , 3 ' znak stopnia celciusza
Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32
Deflcdchar 2 , 32 , 6 , 8 , 16 , 16 , 16 , 8 , 6
Zewmin = 125 * 16
Wewmin = 125 * 16
Zewmax = -55 * 16
Wewmax = -55 * 16
Cursor Off
Cls
'###############################################################################
Locate 1 , 1
Lcd " Termometr BY"
Waitms 500
Locate 2 , 1
Lcd " STANLEY :)"
Wait 1
'###############################################################################
Do
1wreset T1
1wwrite &HCC T1
1wwrite &HBE T1
I1 = 1wread(2 , P3.3)
1wreset T1
1wwrite &HCC T1
1wwrite &H44 T1
Waitms 500
'###############################################################################
1wreset T2
1wwrite &HCC T2
1wwrite &HBE T2
I2 = 1wread(2 , P3.5)
1wreset T2
1wwrite &HCC T2
1wwrite &H44 T2
Waitms 500
Cls
'###############################################################################
I1 = I1 * 10
I1 = I1 / 16
If I1 >= I11 Then
I11 = I1
End If
If I1 >= 100 Then
Cc = Str(i1)
A = Left(cc , 2)
Aa = Right(cc , 1)
Locate 1 , 1
Lcd "W Pokoju: " ; A ; "," ; Aa ; Chr(1) ; Chr(2)
End If
If I1 < 100 Then
Cc = Str(i1)
A = Left(cc , 1)
Aa = Right(cc , 1)
Locate 1 , 1
Lcd "W Pokoju: " ; A ; "," ; Aa ; Chr(1) ; Chr(2)
End If
I11 = I1
'###############################################################################
I2 = I2 * 10
I2 = I2 / 16
If I2 >= I22 Then
I22 = I2
End If
Cc = Str(i2)
Cc = Format(cc , " 0.0")
Locate 2 , 1
Lcd "Na Polu : " ; Cc
I22 = I2
'###############################################################################
If I1 < Zewmin Then Zewmin = I1
If I1 > Zewmax Then Zewmax = I1
If I2 < Wewmin Then Wewmin = I2
If I2 > Wewmax Then Wewmax = I2
'###############################################################################
LoopPozdrawiam