درست شد .
مشکل من اساسي بود تمام کتابخونه ها را هم داشتم البته داخل فولدر و بايد اينا رادر قسمت solution Explorer هم اضافه ميکردم (Existing Item) که اين کار را نکرده بودم .
درست شد .
مشکل من اساسي بود تمام کتابخونه ها را هم داشتم البته داخل فولدر و بايد اينا رادر قسمت solution Explorer هم اضافه ميکردم (Existing Item) که اين کار را نکرده بودم .
سلام
چند تا سوال برام بوجود اومده
وقتی که بخوایم زمانی رو با تایمر تولید کنیم از چه فرمول هایی باید استفاده کرد؟؟
و اینکه مثلا باید prescale رو چند بگذارم یا فرکانس میکرو روی چند تنظیم بشه؟؟ و مقدار اولیه تایمر رو چند بگذارم یا اینکه تایمر به چه مقداری برسه زمان تولید شده؟؟
و همینطور برای pwm از چه مدی باید استفاده کنم مقدار ocrx چند باشه ؟؟
با تشکر!!
سلاموقتی که بخوایم زمانی رو با تایمر تولید کنیم از چه فرمول هایی باید استفاده کرد؟؟
باید با در نظر گرفتن فرکانس کریستال و همچنین مقدار تقسیم فرکانسی که برای تایمر انتخاب میکنی زمان مورد نظر رو دربیاری
به فرض مثال اگه بخوای زمان 1 ثانیه رو ایجاد کنی باید به تایمر هات نگاه کنی
میدونیم که تایمر0 هشت بیتی هستش و تایمر 1 شانزده بیتی
من به صورت پیشفرض با استفاده از تایمر یک اینو برای شما توضیح میدم
فرض کنید که فرکانس کریستال شما 8 مگاهرتز باشه و برای تایمر 1 هم تقسیم فرکانسی 256 رو در نظر گرفته باشید
پس:
[PHP]8000000/256=31250[/PHP]
خب در این حالت میدونیم که فرکانس کلاک وارد شده به تایمر 31250 بار در ثانیه اس
پس زمان هر پله بالا رفتن تایمر میشه: (تایمر درواقع همون کانتره)
[PHP]1/31250=32us[/PHP]
و چون میخوایم یک ثانیه بسازیم داریم:
[PHP]1000000/32=31250[/PHP]
پس عدد تایمر باید به 31250 برسه که بدونیم 1 ثانیه گذشته(با توجه به تنظیمات انجام شده)
اگه تایمر 1 رو تو مد ctc بذارین و عددش رو هم 31250 بذارین سر 1 ثانیه میتونید وقفه هم داشته باشید
امیدوارم جواب بقیه سوالهاتونم داده باشم
در مورد انتخاب تقسیم فرکانسی برای تایمر هم باید بگم که باید نگاه کنید که از بین اعداد پیشفرض کدوم عدد برای کار شما مناسبه این کار با تجربه براتون راحتتر میشه
برای ایجاد pwm هم دو مود داریم که مد fast pwm در حالت یک شیبه هستش و اون یکی دو شیبه ، تو fast pwm از روی شیب تایمر میتونید درصد دیوتی رو تغییر بدین و دو دوشیبه هم همینطور یعنی شما با تغییر ocrx میتونید تغییراتی در دیوتی سایکل ایجاد کنید
موفق باشید
ویرایش توسط vahidasm : 30-07-2013 در ساعت 14:37
اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند
اقا وحید
دمت گرم با این سریع جواب دادنت
میرم کار میکنم اگه مشکلی بود مراحمت خواهم شد
راستی من هم یک سری فایل اموزشی از atmel studio گیر آوردم که به زبان انگلیسی هست ولی خیلی روان توضیح داده
لینک رو قرار میدم
http://vahid0561.persiangig.com/AVR-...tmelStudio.rar
ویرایش توسط vahid0561 : 30-07-2013 در ساعت 15:06
سلام
چرا ناراحت میشی؟در مورد warning .هم که Project> project properties این قسمت را من ندارم . منظورم از منوی
Project که وارد میشم project properties را نذاره .
منظور من از project اسم پروژتون بود!!
شما از منوی project گزینه آخر رو که اگه اسم پروژه رو تغییر نداده باشی GCC Application properties هست.
همچنین میتونی از کلید ترکیبی alt+f7 هم استفاده کنی.
سلام
توی تایمر1 منظور از top=ISR,OCRX چیه؟؟
کاربرد هرکدوم کجاست؟؟
isr مخفف اینتراپت سرویس روتین هستش یعنی زیر روال وقفه top هم توی تایمر معمولا در مود ctc و PWMاستفاده میشهسلام
توی تایمر1 منظور از top=ISR,OCRX چیه؟؟
کاربرد هرکدوم کجاست؟؟
ctc مخفف کلماتی هستش که معناش میشه پاک کردن تایمر (رجیستر) وقتی مقدارش به اون عددی که شما براش تعیین کردید میرسه
top=isr یعنی وقتی که تایمر به مقدار top رسید وقفه رخ بده که شما در زیر روال وقفه میتونید دستوراتی که میخواین رو بنویسین
منظورتون رو از OCRX نفهمیدم
ولی 4 تا رجیستر وجود داره به نامهای OCR1AL و OCR1AH و OCR1BL و OCR1BH
در دوتای اولی مقدار 16 بیتی این دو رجیستر با رجیستر TCNT1 مقایسه میشه که همون عملی که در بالا بهت گفتم رخ میده
دوتای بعدی هم کارشون همینه فقط شما باید به L و H آخرشون دقت کنید که اشتباهی پیش نیاد
ویرایش توسط vahidasm : 01-08-2013 در ساعت 14:08
اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند
سلام
اینطور که معلومه شما دارید از کتابخونه آقای نوربخش که واسه lcd1100 نوشتن استفاده میکنید.
به نظرم شما به جای استفاده از ورژن winavr از ورژن مخصوص کدویژن این کتابخونه دارید استفاده میکنید چون هدر مگا 128 فراخوانی شده!
اگه فایل پروژتون رو بزارید بهتر میشه راهنماییتون کرد
موفق باشید
بله از اقای نور بخش هست .ولی همون ورژن WIN هست نه کدویژن
اینم لینک دانلود
http://s2.picofile.com/file/71526349...00_P3.rar.html
سلام
ببخشید اشتباه نوشتم
icr
توی درس میکرو دانشگاه
استاد گفت مقدار top در pwm میتونه icr هم باشه
حالا من نمیدونم قضیه چیه و فرقش با oc1x چیه؟؟ و کجا استفاده میشه
راستی فرمولی برای تعیین فرکانس pwm و dutycycle نیست؟؟
که به مقدار n و oc1x رو بدست اورد ؟؟
سلام.
این کتابخونه هم برای کدویژن قابل استفاده هست و هم winavr !!
برای همین شما اول باید مشخص کنید که از کدوم کامپایلر میخواید استفاده کنید!
شما هدر app_config.h رو باز کنید خطوط 5 و 6 رو نگاه کنید:
دو تا ثابت تعریف شده شما مقدار winavr رو به 1 و مقدار codevision رو به 0 تغییر بدید و یک بار دیگه برنامه رو کامپایل کنید.
انشالله که درست میشه
موفق باشید
سلام جناب m3r
شما در جریان برنامه های اقای نوربخش هستین . خودشون که وقت نمیکنن جواب مشکلات دوستان را بدن .
اگه شما در جریان برنامه هاشون هستین . سوالم این که میتونید روتین ها و توابعی که برای فایل ساعت RTC تعریف کردن را توضیح بدین . من تو یه برنامه میخواستم برنامه ساعت را اضافه کنم ولی اون فایلی که اقای نوربخش گذاشته و از روتین هاش سر در نمیارم . میشه راهنمایی کنین چه کار کنم
تشکر
سلام.
آقای نوربخش برنامه و کتابخونه واسه winavr و codevision زیاد نوشتن!
اگه امکان داره کتابخونه رو قرار بدید شاید من یا دوستان بتونیم راهنماییتون کنیم.
سلام.
دوست عزیز من زیاد از توابعش سر در نیاوردم به غیر از اونایی که از اسمشون مشخص هست!!
بهتره تو همون تاپیکی که آقای نوربخش این کتابخونه رو گذاشتن سوالتون رو مطرح کنید قطعا راهنماییتون میکنن.
البته اگه به برنامه ای که به همراه هدر فایل ارائه دادن یه نگاهی بندازید کاربرد توابع رو تقریبا متوجه میشید.