ايران ويج

نسخه‌ی کامل: سوالات مربوط به بخش برنامه های بدون شرح
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6
سلام
در این بخش می توانید تمامی مشکلات و سوالات خود را مربوط به بخش برنامه های بدون شرح جهت بررسی و تحلیل، مطرح کنید.
پس خواهشا جهت جلوگیری از اسپم و شلوغی بخش برنامه ها، سوالات و مشکلات مربوط را تنها در این بخش مطرح کنید.



خوش باشید
نقل قول: راه اندازی srf05 در mode1 با بسکام
نقل قول: راه اندازی srf05 در mode2 با بسکام
سلام
هادی جون منظور از mode1و mode2 چیه؟تفاوت هاشون؟
با هرکدوم چه بردی رو میگری؟
ماژول srf05 دو روش برای راه اندازی داره
1- که در اصطلاح بهش میگن مود1 که ما دو تا سیم از ماژول به میکرو وصل می کنیم و از یکی شون یه پالس می فرستیم و از دومی یه پالس دریافت می کنیم که پالس دریافتی میشه فاصله ای که اندازه گرفته
2-یا همون مود2 که با یه سیم ماژول رو به میکرو وصل می کنیم که از یک سیم یه پالسی می فرستیم و بعد از همون سیم یه پالس دریافت می کنیم که پالس دریافتی میشه فاصله
تو سخت افزار هم برای استفاده از مود 2 باید یکی از سیم های ماژول رو بدیم به منفی و اگر هم آزاد بذاریمش اتوماتیک وار مود 1 استفاده میشه
بردشون هم هیچ فرقی نمی کنه هر دو روش یکی هستن فقط تعداد سیم های استفاده شده فرق می کنه
سلام

لطفا درباره راه اندازی مقایسه کننده آنالوگ هم یه برنامه بذارین ...

این مقایسه کننده خودش یه پایه خروجی در میکرو نداره ؟؟

این ACO که نوشته خروجیشه منظورش داخلیه دیگه ... پایه خارجی نداره؟؟

باید خودمون توی برنامه واسش تعریف کنیم درسته؟

و اینکه بدون وقفه نمیشه راه اندازیش کرد؟؟
مقایسه کننده مثل آپ امپ ولتاژ انالوگ دوپایه ورودی AIN0(پایه مثبت) و AIN1(پایه منفی) رو با هم مقایسه می کنه و در صورت بالاتر بودن سطح ولتاژ پایه مثبت، خروجی آنالوگ میکروکنترلر(ACO) برابر 1 میشه.
برای راه اندازی هم دستورش تو بیسیک؛
کد:
Config Aci = On -off , Compare = On -off , Trigger = Toggle -rising -falling
Config Aci = On-OFF برای فعال و غیرفعال سازی مقایسه کننده
Compare = On -off برای اتصال به ورودی مد CAPTURE تایمر-کانتر
Trigger = Toggle -rising -falling برای تعیین نوع وقفه ACI (این وقفه به تغییر خروجی مقایسه کننده(ACO) واکنش نشون میده.
TOGGLEبرای ایجاد واکنش درهر دو حالت بالا و پایین رونده، FALLING تعیین واکنش در برابر لبه پایین رونده و RISING برای واکنش در برابر لبه بالارونده تعیین میشه.
برای فعال سازی وقفه ACI هم از دستور زیر استفاده میشه؛
کد:
ENABLE ACI
ON ACI LABE
LABLE برچسب دلخواه

برنامه نمونه؛
کد:
Config Aci = On , Compare = Off , Trigger = Rising
Enable Interrupts
Enable Aci
On Aci Rasul
Dim A As Byte
Do
Loop
End
Rasul:
If A < 255 Then Incr A
Return
در برنامه بالا زمانیکه مقدار ولتاژ پایه مثبت مقایسه کننده بیشتر از پایه منفی باشه خروجی پایه AC0 یک شده و با آمدن هر پالس بالا رونده در خروجی ACO، وقفه اجرا میشه.
با تشکر از امید جانClap
(۱۲-بهمن-۱۳۹۱, ۰۲:۰۶:۱۷)رسول نوشته است: [ -> ]این مقایسه کننده خودش یه پایه خروجی در میکرو نداره ؟؟
این ACO که نوشته خروجیشه منظورش داخلیه دیگه ... پایه خارجی نداره؟؟
باید خودمون توی برنامه واسش تعریف کنیم درسته؟
و اینکه بدون وقفه نمیشه راه اندازیش کرد؟؟
پایه ی خاصی نداره
بیت ACO که در رجیسترACSR وجود دارد تغییر می کنه و اگر ولتاژ AIN0 بیشتر از ولتاژ AIN1 بیشتر شد رجیستر ACO یک میشه وبرعکس
حالا باید با وقفه این بیت بررسی کنیم
البته می تونیم بیت رو بررسی کنیم و بدون وقفه راه اندازیش کنیم
دوستان، من قصد دارم که پروژه های RTC-timer و دمای هادی جان رو با هم ادغام کنم، اما دما رو نشون نمی ده.
می خوام با فشردن سوئیچ dama ،دما رو نشون بده:
دوستان، کسی برنامه بالا رو چک کرد؟
بفرما مسلم جون واست کامل کردمWink
یه نکته؛
ببین وقتی که adc رو پیکربندی می کنیم توسط Reference تغذیه adc رو تعیین می کنیم .
کد:
Config Adc = Single , Prescaler = Auto , Reference = Avcc
الان تو این کد، تغذیه adc رو پایه avcc تنظیم شده که تو شبیه ساز تغذیه داده نشده بود.

[attachment=8739]
سپاس امید جان.
پیری و هزار دردسر...
سلام .
ساعت از تایمر 2 استفاده شده، دما سنج از adc و رطوبت از تایمر 0 و تایمر 1.
حالا وقتی که ساعت و دما رو با یه میکرو انجام میدم درست کار می کنه اما وقتی رطوبت رو اضاف می کنم دیگه کار نمی کنه. ساعت رو برداشتم و فقط رطوبت بود و دما اما باز کار نمی کنه، بنظر میاد که همزمان نمیشه از تایمر 0 و تایمر 1 و adc استفاده کرد. چرا؟
صفحه‌ها: 1 2 3 4 5 6