سلام
برنامه زیر مربوط به دماسنج کتاب اقای کاهه هستش ولی من مدار رو بستم دما رو 222 درکه نشون میداد!!
به نظرتون اشکالش از کجاست؟
برنامه زیر مربوط به دماسنج کتاب اقای کاهه هستش ولی من مدار رو بستم دما رو 222 درکه نشون میداد!!
به نظرتون اشکالش از کجاست؟
کد:
$regfile = "m32def.dat" 'We use internal osc 4000000 for atmega32 $crystal = 4000000 Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = Portc.3 , Db7 = _ Portc.4 , E = Portd.2 , Rs = Portd.3 Config Lcd = 16 * 2 Config Adc = Single , Prescaler = Auto Start Adc Config Timer0 = Timer , Prescale = 1024 Enable Interrupts Enable Timer0 On Timer0 Temp_sample Start Timer0 Dim Sample As Word Dim Temp As Word Dim Temp_final As Integer Dim Sum As Integer Deflcdchar 0 , 24 , 24 , 32 , 32 , 32 , 32 , 32 , 32 '' sign -> (') Cursor Off Cls Do Loop end 'end program Temp_sample: Incr Sample 'incr sampling counter Temp = Getadc(0) 'read adc(0) every 65ms Sum = Sum + Temp 'sum the sample data If Sample = 15 Then '20 samples Sample = 0 'reset sample counter Stop Timer0 'stop timer to calculation Sum = Sum / 15 'mean calculation Sum = Sum - 558 'decrementing offset Temp_final = Sum / 2 'every 10mv is almost 2 step of adc (adc step=5/1023=4.88mv) Select Case Temp_final Case Is =< 10 : 'compare temperature Home L Lcd " Low " Case 11 To 34 : 'compare temperature Home L Lcd " Normal " Case Is >= 35 : 'compare temperature Home L Lcd " High " End Select Home Lcd Temp_final ; Chr(0) ; "C " 'show temperature Start Timer0 Sum = 0 End If Return
دیدگاه