باسلام
من میخوام با این مدار دماسنج که تو لینک زیر گذاشتم دمای جایی رو البته بصورت منفی کنترل کنم
میخوام مثلا L رو -5 و H رو 5 بزارم ولی زمانی که محدوده رو منفی میکنم مدار درست کار نمیکنه
میشه کمکم کنید
http://www.eca.ir/forum2/index.php?topic=75908.0
اینم کد برنامه
من میخوام با این مدار دماسنج که تو لینک زیر گذاشتم دمای جایی رو البته بصورت منفی کنترل کنم
میخوام مثلا L رو -5 و H رو 5 بزارم ولی زمانی که محدوده رو منفی میکنم مدار درست کار نمیکنه
میشه کمکم کنید
http://www.eca.ir/forum2/index.php?topic=75908.0
اینم کد برنامه
کد:
$regfile = "m8def.dat" $crystal = 1000000 Config Lcdpin = Pin , Rs = Portd.7 , E = Portd.6 , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 Config Lcd = 16 * 2 Cursor Off Config 1wire = Portb.7 Dim Byte0 As Byte Dim Byte1 As Byte Dim Sign As String * 1 Dim T As String * 4 Dim T1 As Single Dim T2 As Single Dim L As Single Dim H As Single Dim Ll As String * 4 Dim Hh As String * 4 '******************************* '******************************* '******************************* 'in adad haro baraye damaye made nazareton taghir bedin L = 37.5 : H = 37.8 '******************************* '******************************* '******************************* Ll = Fusing(l , "#.#") Hh = Fusing(h , "#.#") '************** Config Portb.0 = Output Config Portb.1 = Output '************** Do Cls Cursor Off 1wreset If Err = 1 Then Cls Lcd "No DS18B20" Wait 1 Else 1wwrite &HCC 1wwrite &H44 Waitms 250 1wreset 1wwrite &HCC 1wwrite &HBE Byte0 = 1wread() Byte1 = 1wread() If Byte1 > 248 Then Byte0 = &HFF - Byte0 Byte1 = &HFF - Byte1 Sign = "-" Else Sign = "+" End If T1 = Byte0 / 16 T2 = Byte1 * 16 T1 = T1 + T2 If Sign = "-" Then T1 = T1 + 1 End If If Sign = "+" And T1 = 0 Then Sign = " " End If '********** T = Fusing(t1 , "#.&&") '********** Home Cls Lcd " " ; Sign ; T ; Chr(223) ; "C" ; " " Locate 2 , 1 Lcd "L" ; Ll ; " H" ; Hh Waitms 500 End If '*************** Deflcdchar 1 , 31 , 28 , 29 , 29 , 13 , 19 , 27 , 27 ' replace ? with number (0-7) If T1 > L And T1 < H Then Locate 2 , 9 Lcd Chr(1) End If '*************** 'Sard _shodan If T1 < L Then Locate 2 , 7 Lcd "<--" Set Portb.0 Waitms 250 Else Reset Portb.0 Waitms 250 End If '*************** 'Gharm Shodan If T1 > H Then Locate 2 , 8 Lcd "-->" Set Portb.1 Waitms 100 Else Reset Portb.1 Waitms 100 End If '*************** Loop End
دیدگاه