سلام.من در پایان نامه به چندتا مشکل کوچک برخوردم که به دلیل ضعف برنامه نویسی منه.لطفا کمکم کنید که گیر افتادم :angry:
من 2سنسور lm335 دارم یکی توی آب مخزن و یکی تو هوا و درlcd نمایش داده میشن.میخوام اگه دمای آب 24 یا بیشتر بود هیتر خاموش و اگه کمتر بود میکرو با رله روشنش کنه به مدت 3دقیقه و بعد خاموش بشه.سنسور آب به adc0 و سنسور هوا به adc1 وصلن.اگر یک سنسور باشه که نمونش در کتابها هست ولی من 2تا دارم. :angry: هم در خواندن و محاسبه دما و هم در فرکانس کریستال مشکل دارم.برنامه یک سنسور اینه:
من 2سنسور lm335 دارم یکی توی آب مخزن و یکی تو هوا و درlcd نمایش داده میشن.میخوام اگه دمای آب 24 یا بیشتر بود هیتر خاموش و اگه کمتر بود میکرو با رله روشنش کنه به مدت 3دقیقه و بعد خاموش بشه.سنسور آب به adc0 و سنسور هوا به adc1 وصلن.اگر یک سنسور باشه که نمونش در کتابها هست ولی من 2تا دارم. :angry: هم در خواندن و محاسبه دما و هم در فرکانس کریستال مشکل دارم.برنامه یک سنسور اینه:
crystal=4000000
config adc=single,prescaler=1024,reference=....
enable interrups
enable timer0
on timer0 t-sample
start timer0
dim sample as word,temp as word,water as integer,sum as integer
deflcdchar 0,24,........
cursor off:cls
do
loop
end
t-sample:
incr sample
temp=getadc(0)
sum=sum+temp
if sample=15 then
sample=0
stop timer0
sum=sum/15
sum=sum-558
water=sum/2
start timer0
sum=0
enf if
return
همونطور که گفتم من 2سنسور دارم برای محاسبه دمای هریک باید با dim، متغیرهایی مثل همینا با اندیس دیگه ای بسازم؟در این برنامه هر ثانیه 15 نمونه گرفته میشه و دما محاسبه میشه.من از اینا هم خوب سردرنمیارم!!یعنی مثلا کریستال بشه 8000000 چی میشه prescalerها؟
config adc=single,prescaler=1024,reference=....
enable interrups
enable timer0
on timer0 t-sample
start timer0
dim sample as word,temp as word,water as integer,sum as integer
deflcdchar 0,24,........
cursor off:cls
do
loop
end
t-sample:
incr sample
temp=getadc(0)
sum=sum+temp
if sample=15 then
sample=0
stop timer0
sum=sum/15
sum=sum-558
water=sum/2
start timer0
sum=0
enf if
return
دیدگاه