سلام دوستان من با دماسنجم مشکل دارم اونم اینه که کلی ارور میده و من نمی دونم دقیقا مشکلش چیه چون نه کد ها اروری دادن نه مدار فقط هشدار هست
ممنون میشم نگاهی بندازید
این کل فایل ها
https://www.mediafire.com/?93tdfc4wjuf4tsm
اینم عکس مدار

اینم کد های بسکامش
و یک کد دیگه که هیچکدوم کار راه ننداخت
فایل اماده شده و درستش رو دارم اما می خوام مشکلم بر طرف بشه
ممنون میشم نگاهی بندازید
این کل فایل ها
https://www.mediafire.com/?93tdfc4wjuf4tsm
اینم عکس مدار
اینم کد های بسکامش
کد:
$regfile = "m32def.dat" $crystal = 8000000 Config Portc = Output Config Porta = Input Config Lcdpin = Pin , E = Portc.5 , Rs = Portc.4 , Db7 = Portc.0 , _ Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 Config Lcd = 16 * 2 Config Adc = Single , Prescaler = Auto Start Adc Dim Temp As Word Cursor Off Do Temp = Getadc(0) Temp = Temp / 2 Select Case Temp Case Is =< 25 : 'compare temperature Home L Lcd " Low " Case 25 To 35 : 'compare temperature Home L Lcd " Normal " Case Is >= 36 : 'compare temperature Home L Lcd " High " End Select Home Lcd Temp ; Chr(0) ; "C " 'show temperature Loop End
کد:
$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




دیدگاه