امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل نوشتن برنامه AVR با تایمر مد مقایسه
نویسنده پیام
dr.mohammad آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۹۴

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #1
Exclamation  مشکل نوشتن برنامه AVR با تایمر مد مقایسه
سلام خسته نباشید !!
کسی میتونه برنامه کامل زیر رو بهم بده :

میخواهیم یک موج مربعی متقارن بر روی یکی از پایه های AVR تولید کنیم به نحوی که دو کلید فشاری به نامهای UP و Down به میکروکنترلر متصل باشد و فرکانس مربعی را با گام مناسب 500 هرتز کم یا زیاد نماییم.کلاک اصلی 8 مگاهرتز فرض شود و از تایمر در مد مقایسه استفاده شود .

ممنون میشم کمکم کنید برای فردا بشدت نیاز دارمش.
۲۵-دى-۱۳۹۴, ۱۰:۱۸:۴۴
ارسال‌ها
پاسخ
dr.mohammad آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۹۴

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #2
RE: مشکل نوشتن برنامه AVR با تایمر مد مقایسه
کسی نیست؟
۲۵-دى-۱۳۹۴, ۱۴:۲۱:۲۲
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #3
RE: مشکل نوشتن برنامه AVR با تایمر مد مقایسه
سلام.

شما تلاش کنید و تا جایی که می تونید برنامه رو بنویسید، هر جاییش رو مشکل داشتید مطرح کنید تا دوستان راهنماییتون کنن.

موفق باشید.

۲۵-دى-۱۳۹۴, ۱۸:۱۳:۵۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ghoghnus, vigraz
dr.mohammad آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۹۴

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #4
RE: مشکل نوشتن برنامه AVR با تایمر مد مقایسه
شما درست میفرمایید ولی مشکل اینجاست که این بحث اخرین بحث کلاس بود و بعد از امتحانات استاد یک پروژه برای بنده در نظر گرفته که چون من اولین بار هست میخوام بصورت عملی کدنویسی کنم و روی پروتوس ببندم  فقط پیکربندی و یه سری اصطلاحات رو بلدم .
اگه میشه این برنامه رو برای من یکی از دوستان کامل بنویسه چون فردا باید حتما بفرستم دست استاد بد بخت میشم .
 ):  ):  ):  ):  ):  ):  ):  ):
۲۵-دى-۱۳۹۴, ۲۳:۱۹:۱۰
ارسال‌ها
پاسخ
dr.mohammad آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۹۴

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: مشکل نوشتن برنامه AVR با تایمر مد مقایسه
هر چی تونستم نوشتم جواب نداد لطفا کمکم کنید 
کد:
$regfile = "m32def.dat"
$crystal = 8000000
Config Timer1 = Timer , Prescale = 8 , Compare A = Set , Compare B = Disconnect , Clear Timer = 0
Config Porta = Input
Config Portb = Output
Dim F As Integer , Up As Bit , Down As Bit
Porta.0 = Up
Porta.1 = Down
Portb.0 = F
F = 0
Enable Interrupts
Enable Timer1
On Oc1a L1
Start Timer1
L1:
If Up = 1 Then F = F + 500
If Down = 1 Then F = F - 500
Do
Loop
Return
۲۷-دى-۱۳۹۴, ۱۴:۰۸:۵۴
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #6
RE: مشکل نوشتن برنامه AVR با تایمر مد مقایسه
یه مقدار اشکالات پایه ای به چشم می خوره که اول باید اونها رو مرتفع کنید. 
مثلا یک حلقه ی بینهایت در روتین وقفه نوشتید!
به این مفهوم که با اولین بار که وقفه رخ می ده، میکرو تو روتین وقفه گیر می کنه و دیگه نمی تونه خارج بشه ...
یا در روتین وقفه یه متفییر بی هدف داره مقدار دهی می شه و ...

یه مورد خیلی مهم اینه که خود برنامه نویس بدونه چی می خواد و با توجه به قوانین کامپایلر، کدها رو به صورت صحیح بنویسه... چون کامپایلر علم غیب نداره ...

در بسکام برای استفاده از کلید می تونید از دستور debounce استفاده کنید.
برای pwm مهمه که درکی از نحوه ی تولیدش توسط میکرو داشته باشید. بعد از پیدا کردن آشنایی با انواع مودهای pwm آشنا بشید.
کاری رو که می خواهید انجام بدید، بسکام براش تابع مستقیمی نداره، پس باید قدری با رجیسترهای واحد pwm آشنایی داشته باشید.
برای این منظور می تونید از یه کتاب مرجع میکرو AVR به زبان C کمک بگیرید و بخش pwm اش رو بخونید.
نحوه ی تنظیم رجیسترها رو که یاد گرفتید، سمت بسکام رجیسترها رو به همون صورت مقدار دهی کنید.
2-3 تا رجیستر مهم بیشتر نداره .

موفق باشید.

۲۹-دى-۱۳۹۴, ۰۱:۲۷:۴۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : vigraz
dr.mohammad آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۹۴

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #7
RE: مشکل نوشتن برنامه AVR با تایمر مد مقایسه
ممنون من این برنامه رو نوشتم و دیدم جواب نداد و استاد یه سری راهنمایی کرد :

فقط از تایمر یک در مد مقایسه استفاده شود و شکل موج مربعی مورد نظر روی پایه oc1a تولید شود. شکل موج اولیه را دارای یک فرکانس دلخواه در نظر بگیرید و سپس کلیدها را به گونه ای طراحی کنید که با هر بارفشردن کلید up فرکانس شکل موج مربعی تولید شده 500Hz  افزایش یابد و با هر بار فشردن کلید down فرکانس شکل موج مربعی تولید شده 500Hz کاهش یابد.

بازم گیج شدم !!!!
 درضمن استاد گفت فقط باید با تایمر یک باشه :|
من تازه کارم یعنی اینو بگم اولین برنامه منه :((


اون برنامه ای که نوشتم رو میتونید واسم کامل کنید :|
۲۹-دى-۱۳۹۴, ۰۹:۱۱:۴۶
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #8
RE: مشکل نوشتن برنامه AVR با تایمر مد مقایسه
تا ندونید صورت مسئله چیه، نباید شروع به کد زنی کنید... !
کارهایی رو که باید انجام بدید در پست قبل نوشتم، اما قبل از اونها در مورد pwm و timer ها قدری سرچ بزنید و با مفاهیم و کاربرداش آشنا بشید. وقتی فهمیدید قراره چیکار کنید و صورت مسئله چی می خواد، اون موقع می تونید کد زنی رو شروع کنید.
اصل کار دونستن مفهوم هست، کدها فقط  یه سری ابزار هستن ... 
چون بسکام با تایمر 0 نمی تونه pwm رو با توابعش پیکربندی کنه، به همین دلیل گفته با تایمر 1 انجام بدید. گرچه همونطور که گفتم نیاز شما رو توابع بسکام رفع نمی کنه و باید رجیستر نویسی کنید ... .

طبیعیه که هرکس کار خودش رو خودش باید انجام بده ، خیلی هنر کنم و وقت پیدا کنم، نهایتا می تونم راهنمایی کنم.

موفق باشید.

۲۹-دى-۱۳۹۴, ۱۳:۲۸:۴۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : dr.mohammad, vigraz


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question خواندن/نوشتن بر روی کارت مغناطیسی SMNsoft 14 31,089 ۱۸-دى-۱۴۰۱, ۰۵:۱۰:۱۳
آخرین ارسال: Arsam.6988
  مشکل در پاک کردن برنامه میکرو Salam7 1 398 ۲۹-بهمن-۱۴۰۰, ۲۲:۵۰:۴۴
آخرین ارسال: 1نفر
  مشکل برنامه تایمر با بیسکام soy1345 7 2,026 ۲۲-فروردین-۱۳۹۸, ۲۰:۴۸:۰۶
آخرین ارسال: 1نفر
Question مشکل در نوشتن فایل در MMC HamidSay 9 4,042 ۳۰-شهریور-۱۳۹۷, ۰۵:۲۶:۰۹
آخرین ارسال: HamidSay
  مشکل در کار با تایمر 1 در بسکام klick 3 4,535 ۳۰-بهمن-۱۳۹۵, ۰۴:۰۴:۴۲
آخرین ارسال: omid_phoenix
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 3,420 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  مشکل در برنامه code vision 3.12 ali74342 10 7,232 ۲۲-مرداد-۱۳۹۵, ۰۰:۱۶:۰۷
آخرین ارسال: shima.rrr
  مشکل در ساخت تایمر لطفا کمک کنید omidsafari 8 6,502 ۰۹-مرداد-۱۳۹۵, ۱۷:۲۸:۰۹
آخرین ارسال: omidsafari
  [سوال] پیکربندی تایمر mostafa-m 5 4,271 ۲۹-خرداد-۱۳۹۵, ۲۲:۴۸:۰۷
آخرین ارسال: mostafa-m
  [سوال] خواندن از پورت سریال و نوشتن روی mmc index 0 2,246 ۲۷-مهر-۱۳۹۴, ۱۱:۵۹:۰۰
آخرین ارسال: index

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS