اون کارهای بالا رو اول انجام بده. روتین یعنی همون کد بعد از int0_r تا return.
همه ساب رو ببر تو برنامه اصلیت یعنی بعد از تعریف بیرون روتین وقفه. باید اونجا کنترل کنی . تا جایی که ممککنه wait نذار.ببینم چه میکنی. من سره همین داستان 1 ماه درگیر بودم.چرا؟
استفاده از دو لوپهای زیاد تو وقفه.اصلا وقفه فقط برای دریافت خوبه یعنی بفهمی چی اومد تو وقفه.
باشه ولی نفهمیدم چی گفتی!!
اجازه بده اول تایمر رو یاد بگیرم زود برمیگردم ببینم چه میکنم!
پس به جای دو لوپ چی بزارم؟ اگه نزارم که کار نمیکنه؟
(۰۳-دى-۱۳۹۰, ۱۹:۳۱:۴۹)parviz2012 نوشته است: [ -> ]اون کارهای بالا رو اول انجام بده. روتین یعنی همون کد بعد از int0_r تا return.
همه ساب رو ببر تو برنامه اصلیت یعنی بعد از تعریف بیرون روتین وقفه. باید اونجا کنترل کنی . تا جایی که ممککنه wait نذار.ببینم چه میکنی. من سره همین داستان 1 ماه درگیر بودم.چرا؟
استفاده از دو لوپهای زیاد تو وقفه.اصلا وقفه فقط برای دریافت خوبه یعنی بفهمی چی اومد تو وقفه.
نفهمیدم، تایمر/کانتر بود ولی فک کنم برا ساعت و اینجور چیزا نوشته بود!!! مثالی هم که مرتبط با کار من باشه ندیدم.
داداش درد و بلات به کاسه سرم بیا خودت یادم بده دیگه، مگه زکات علم یاد دادنش نیست آخه؟!
اصلا بیا بیشتر ثواب ببر: !! این برنامه رو درستش کن!!!!! تا هم یاد بگیرم و هم کارم راه بیافته، نزدیک به یک ماهه درگیرشم. دعات میکنم به خدا.
این هم مدار رطوبت سنجه که میزارم و خواهش دارم درباره اتصالش به میکرو نظرت رو بگی.
البته در رابطه با رطوبت سنج با تغییر در مقاومت سنسور در اثر مقادیر مختلف رطوبت، مقدار جریان در آمپرمتر تغییر پیدا میکنه و مثل سنسور ال ام 35 نیست که ولتاژ تولید بکنه، چطور میشه اون رو به میکرو اتصال داد؟
قربونت بشم. من نرم افزاری میتونم کمکت کنم نه سخت افزاری. با این سنسورها هم کار نکردم.نمیگم دو لوپ رو وردار . ببین ایرادی توش نباشه.بجان تو اگه وقت کنم و برام توضیح بدی مینویسم. ولی فعلا خودت باید انجام بدی.اگه میخوای سیکل بنامه رو دقیق توضیح بده. تو اون موقع توضیحاتی دادی میدونم 12 ساعت ایکس 12 ساعت ایگرگ 1 ساعت ررررررررربربی بربربربر من سرم گیج رفت.
(۰۴-دى-۱۳۹۰, ۰۰:۲۴:۲۵)parviz2012 نوشته است: [ -> ]قربونت بشم. من نرم افزاری میتونم کمکت کنم نه سخت افزاری. با این سنسورها هم کار نکردم.نمیگم دو لوپ رو وردار . ببین ایرادی توش نباشه.بجان تو اگه وقت کنم و برام توضیح بدی مینویسم. ولی فعلا خودت باید انجام بدی.اگه میخوای سیکل بنامه رو دقیق توضیح بده. تو اون موقع توضیحاتی دادی میدونم 12 ساعت ایکس 12 ساعت ایگرگ 1 ساعت ررررررررربربی بربربربر من سرم گیج رفت.
پرویز داداش جان خودم فکر نکن دارم از زیر کار در میرم تا یکی دیگه کارم رو راه بندازه مطمئن باش حداکثر تلاشم رو کردم و دارم میکنم ولی به نتیجه ای نمی رسم

حالا خیلی ساده تر برنامه رو برات توضیحش میدم تا ایشاللا کمکم کنی

میکروی مورد استفاده atmega8
فایل فشرده damasanj مدار سخت افزار دماسنج به همراه برنامه کامل که به خوبی کار میکنه و امتحان شده،
و اما میخوام همزمان با دماسنج از میکرو کار دیگه ای هم بکشم که زیاد بیکار نباشه که سرمایه جاودانیست کار

کارم هم اینه که تعدادی از پورتهای آزادش رو به عنوان خروجی بدم و در زمانهای مختلف صفر و یک بشن،
من یک لامپ روشنایی دارم بعد یک فن تهویه دارم و یک المنت سماور برقی و یک موتور کوچولوی پمپ آب، نحوه کار هم اینطوریه که این لامپ روشنایی باید نصف روز (12 ساعت یا بهتر 14 ساعت) روشن باشه بقیه روز (12 ساعت یا بهتر 10 ساعت) خاموش، این که مشخص شد، میزاریمش کنار میریم سر مبحث بعدی!!

بعدش فن تهویه، هر یک ساعت یکبار فعال میشه و 3 دقیقه هم فعال میمونه.
بعد که فن خاموش شد بلافاصله المنت روشن میشه و 3 دقیقه روشن میمونه بعد خاموش میشه، بعد هم بلافاصله موتور کوچولی پمپ آب روشن میشه و 30 ثانیه روشن میمونه بعد خاموش میشه، بعد یک ساعت کاری با این سه دستگاه نداره و بعد از یک ساعت دوباره از اول این پاراگراف شروع میکنه و باز تکرار.
البته مهم اینه که دماسنج و صفر و یک شدن پورتها همزمان اجرا بشن و اینطور نباشه که وقتی یکی غیر فعال میشه اون یکی فعال بشه.
اگر این مبحث با هم اجرا شدن دو برنامه رو شما لطف کنی برنامشو بنویسی برام

فکر میکنم بعد از داشتن برنامه خودم میتونم اون رطوبت سنج رو هم بهش متصل کنم.
حالا من منتظر میمونم تا شما لطف کنی و کمکم کنی، البته تو رو خدا به حساب پر رویی نزار ، تو همون زکات علم رو در نظر داشته باش!!


این هم مدار و برنامه دماسنج:
آهان حالا شد یه توضیح خوب.
ببین این ذهنیت wait ' waitms رو بزار کنار.
تو باید برای اینهمه تایمینگ خاص تو برنامت بیای ساعت RTCبسازی بعد زمانها رو توش بررسی کنی. اوکی تا اینجا؟
از متغیر $time استفاده کن بعد با متغیرهای sec_ ثانیه min_ دقیقه hour_ ساعت رو میتونی بفهمی حالاست که باید زمانها رو بررسی کنی و کارهات رو انجام بدی یه سر به هلپ بیسکام بزن. البته این متغیر داره خودش از یکی از تایمرهای 0 یا 2 برای ساخت ساعت استفاده میکنه.اینو کار کن ببین چقدر برنامه کوتاهتر میشه.اصلا wait رو جای خاص خودش باید بکار ببری جایی که زمان کار cpu تلف نشه.
این برنامه رو خودت نوشتی؟ پس اگه میتونی تو هر خط براش توضیح بزار.بعد ارسال کن چون من از adc چیزی نمیدونم. در واقع نمیونم سنسور دما چی میفرسته.
ممنون
برنامه دماسنجو میگی دیگه؟ نه مال خودم نیست!
پس یه فرصت کوتاه میخوام تا یاد بگیرم و سعی کنم برنامه صفر و یک شدن پورتها رو از نو بنویسم بعد میگم که تونستم یا اگر هم نتونستم از شما کمک میخوام. اگه درست تحویل گرفته باشم باید یک ساعت بسازم و بهش بگم در چه ساعتی کدوم پایه رو 1 یا صفر کن، آره؟ از تایمر 0 یا دو؟ فرقی که نمیکنه؟
برای همزمان اجرا شدنشون هم که از همون دستور سابق استفاه باید بکنم.
پس خواهشا تا فردا شب فرصت بده تا خوب مطالعه کنم ببینم میتونم چیزی پیدا کنم یا نه.
از تو هم واقعا ممنونم که داری کمکم میکنی.
پس تا فردا شب، یا علی
سلام. قطعا موفق خواهی شد شکی نیست. اصلا نمیخواد تایمر استفاده کنی . خود اون متغیر اینکارو انجام میده فقط:
کد:
config clock=soft
time$="00:00":01"
enable interrupts
مثلا
lcd time$
یادت نره حتما کریستال ساعت 32.768kH به پایه های tosc1,2 وصل کنی.اگه برنامت جواب میده که دیگه مشکل چندانی نخواهی داشت فقط هنر خودته که چه طوری از اینا استفاده کنی.فعلا
اوکی داداش ممنون، دارم سعی میکنم یاد بگیرم، تا فردا شب نتیجه معلوم میشه!
تا فردا شب
یا علی
(۰۴-دى-۱۳۹۰, ۱۸:۰۲:۳۶)parviz2012 نوشته است: [ -> ]سلام. قطعا موفق خواهی شد شکی نیست. اصلا نمیخواد تایمر استفاده کنی . خود اون متغیر اینکارو انجام میده فقط:
کد:
config clock=soft
time$="00:00":01"
enable interrupts
مثلا
lcd time$
یادت نره حتما کریستال ساعت 32.768kH به پایه های tosc1,2 وصل کنی.اگه برنامت جواب میده که دیگه مشکل چندانی نخواهی داشت فقط هنر خودته که چه طوری از اینا استفاده کنی.فعلا
پرویز داداش جان خودم از دیروز دارم میگردم دنبال مطالبی که گفتی ولی نتونستم حتی یک سطر هم برنامه بنویسم!

همه کتابهایی که میخونم بطور ساده توضیح ندادند و بیشتر چون مرحله به مرحلست باید مراحل قبلی رو بدونی تا برسی به این مبحث ولی من چون تازه شروع کردم اگه بخوام اول اون مراحل رو یاد بگیرم تا برسم به این بیشتر از یک سال طول میکشه،

من سعی میکنم یاد بگیرم ولی از شما و سایر سرورانی که توانایی این کار رو دارند خواهش میکنم این برنامه رو برای من بنویسد، دعاتون میکنم به خدا.
من به این مدار و برنامه واقعا نیاز فوری دارم و نزدیک به یک ماه هم هست که از صفر شروع کردم به آموختن برنامه نویسی و طراحی این مدار، حالا میبینم که دیگه مغزم نمیکشه، هنگ کردم، البته یاد گرفتنش سخت نیست، شیرینه ولی زمان میخواد و با یکی دو ماه نمیشه برنامه نویس خوبی شد به نظر من.
به هر حال من چشم امیدم به شما سروران عزیزه که کمکم کنید و این برنامه رو برای من درست کنید.
پیشاپیش سپاسگزارم.
پس قشنگ تیکه به تیکه برنامت رو برام توضیح بده. بنویسم ببینم جواب میده یا نه.دقیقا(تیکه به تیکه)