پاسخ : چند مشکل در کد نویسی دماسنج ...
سلام دوست عزیز من در مورد ترموستات نیتونم کمکت کنم چون خودم هم یه تاپیک در همین مورد اما استفاده ار ماژول RF زدم که همینجا از همه دوستان میخوام به این تاپیک http://www.eca.ir/forum2/index.php?topic=53153.0 برند و کمک کنند .ولی در مورد دما سنج با LM35 یه برنامه برات میزارم که خودم تست کردم و خوب جواب داد و نکته مهم اینه که در این برنامه از خاصیت NOSIE CANCEL میکرو برای اینکه تند تند دمای روی LCD تغییر نکنه استفاده شده که امیدوارم به کارت بیاد.
برنامه دما سنج با کاهنده نویز داخلی میکرو:
[pre]$regfile = "M16def.dat"
$crystal = 8000000
'****************************
Config Porta = Input
Config Portc = Output
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Rs = Portc.6 , E = Portc.7 , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2
Config Timer1 = Timer , Prescale = 256 , Noise Cancel = 1
Stop Timer1
Timer1 = 34285
Enable Interrupts
Enable Ovf1
On Ovf1 M1
'*********************
Dim Result As Word
Dim Volt As Word
'*********************
Deflcdchar 0 , 3 , 3 , 32 , 14 , 16 , 16 , 16 , 14
'*********************
Cls
Start Adc
Start Timer1
Do
Locate 1 , 1
Lcd "Temp=" ; Volt ; Chr(0)
Waitms 10
Loop
M1:
Stop Timer1
Timer1 = 34285
Result = Getadc(0)
Volt = Result * 4.88
Volt = Volt / 10
Start Timer1
Return[/pre]
سلام دوست عزیز من در مورد ترموستات نیتونم کمکت کنم چون خودم هم یه تاپیک در همین مورد اما استفاده ار ماژول RF زدم که همینجا از همه دوستان میخوام به این تاپیک http://www.eca.ir/forum2/index.php?topic=53153.0 برند و کمک کنند .ولی در مورد دما سنج با LM35 یه برنامه برات میزارم که خودم تست کردم و خوب جواب داد و نکته مهم اینه که در این برنامه از خاصیت NOSIE CANCEL میکرو برای اینکه تند تند دمای روی LCD تغییر نکنه استفاده شده که امیدوارم به کارت بیاد.
برنامه دما سنج با کاهنده نویز داخلی میکرو:
[pre]$regfile = "M16def.dat"
$crystal = 8000000
'****************************
Config Porta = Input
Config Portc = Output
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Rs = Portc.6 , E = Portc.7 , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2
Config Timer1 = Timer , Prescale = 256 , Noise Cancel = 1
Stop Timer1
Timer1 = 34285
Enable Interrupts
Enable Ovf1
On Ovf1 M1
'*********************
Dim Result As Word
Dim Volt As Word
'*********************
Deflcdchar 0 , 3 , 3 , 32 , 14 , 16 , 16 , 16 , 14
'*********************
Cls
Start Adc
Start Timer1
Do
Locate 1 , 1
Lcd "Temp=" ; Volt ; Chr(0)
Waitms 10
Loop
M1:
Stop Timer1
Timer1 = 34285
Result = Getadc(0)
Volt = Result * 4.88
Volt = Volt / 10
Start Timer1
Return[/pre]
دیدگاه