مشاهده نسخه کامل
: ◄◄ آموزش پله به پله ی برنامه نویسی با میکروکنترلر AVR و شبیه سازی مدار
سلام دوستان
میخوام با تکیه بر اطلاعات خودم و اون چیزی که تا به حال یاد گرفتم ؛ در زمینه ی برنامه نویسی میکرو کنترلر AVR ؛ و در مرحله ی بعد شبیه سازی و مونتاژ مدار ، اطلاعاتی رو در اختیارتون قرار بدم .
تصمیم گرفتم آموزشم رو از پایه شروع کنم تا دوستانی که با میکرو کنترلر ها کاملا بیگانه هستند بتونند مفهوم و معنای کلی رو درک کنند ؛ و به امید خدا خودشون برنامه نویسی کنند و لذت کار با میکرو رو حس کنند .
این تاپیک به طور کل این موضوعات رو در بر خواهد گرفت :
آموزش میکرو کنترلر AVR
آموزش برنامه نویسی به زبان C ؛ و نرم افزار Codevision
آموزش شبیه سازی مدارات به وسیله ی نرم افزار Proteus
در برنامه نویسی و شبیه سازی مدارات با میکروکنترلر AVR ؛ 2 نرم افزار اصلی به کمک ما میایند و به آنها نیاز داریم :
نرم افزار Codevision
که از آن برای برنامه نویسی میکرو و پروگرام کردن میکرو استفاده میشود
دانلود آخرین ورژن نرم افزار Codevision از لینک زیر :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نرم افزار Proteus
که یک نرم افزار شبیه ساز است . از آن برای شبیه سازی مدار مورد نظر قبل از مونتاژ استفاده میشود .
دانلود آخرین ورژن نرم افزار Proteus از لینک زیر :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
" همچنین "
دانلود نرم افزار های مهندسی برق از لینک زیر
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همینطور مد نظر داشته باشید که این تاپیک فقط جهت آموزش است . پروژه های عملی و آماده ی میکرو کنترلر AVR در تاپیک زیر قرار میگیرند :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سوالات و اشکالات خودتون رو هم میتونید در تاپیک اختصاصی AVR پیگیری کنید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این آموزش هم صرفا اختصاص به سایت P30World خواهد داشت ! نکات گفتنی گفته شد . شروع به نوشتن آموزش میکنم که امیدوارم مورد توجه و استفاده قرار بگیره .
موفق باشید .
میکروکنترلر چی هست اصلا ؟!
میکرو ؛ یعنی یک واحد خیلی خیلی کوچیک . کنترلر هم یعنی کنترل کننده . میکرو کنترلر در واقع یعنی یک کنترلر کننده ی خیلی کوچیک . این قطعه میتونه تا میلیون ها ترانزیستور رو در خودش جای بده ! با توجه به ابعاد کوچک اون ؛ کار فوق العادست !
CPU کامپیوتر رو در نظر بگیرید ؛ عمل پردازش اطلاعات رو انجام میده . و مغز کامپیوتر هست . میکرو کنترلر هم دقیقا همین کار رو انجام میده و میتونیم بگیم که یک کامپیوتر کوچیکه ؛ با قدرت و سرعت بسیار زیاد در اجرای برنامه هایی که ما ازش میخوایم . میکرو خیلی حرف گوش کنه ؛ دقیقا همون کاریو میکنه که ما ازش میخوایم . نه کمتر نه بیشتر ! پس قابلیت اطمینان بهش خیلی زیاده .
آخرش نفهیمین میکرو چیه ؛ نه ؟!
میکرو یک IC خیلی جمع و جوره که معمولا چندین هزار قطعه الکترونیکی رو در کنار هم در یک بسته قرار دادن. اینطوری هم در فضایی که یک مدار خیلی بزرگ نیاز داره صرف جویی میشه، هم هزینه ساخت میاد پایین و هم مصرف برق کمتری داره.
ما دسته بندی های مختلفی هم برای انواع میکرو کنترلر ها داریم :
AVR
8051
PIC
Z80
6811
نمیخوام وارد بحث های تخصصی تر میکرو ها بشم ؛ و بیام کاملا شرح پایه ها و . . . رو تدریس کنم و بگم که آره AVR در یک سیکل کلاک انجام میده از این رو مفید است ! میخوام طوری یاد بدم که خسته کننده نباشه بحث ؛ و علاقه مندان بتونند اصول اولیه رو یاد بگیرند .
برای بحث های تخصصی تر ؛ توی همین انجمن و تاپیک های مربوطه زیاد کتاب و جزوه معرفی شده .
------------------------------------------------------------------------------------------------------------
AVR ها سه دسته هستند :
Tiny AVR - ATtiny
Classic AVR - AT90S
Mega AVR - ATmega
میخوایم یک نمونه میکرو کنترلر AVR بهتون معرفی کنم . که کارایی زیادی داره و نسبتا معروف هستش :
مدل Atmega 32
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مهمترین ویژگی هاش اینه که کارایی بسیار بالا و توان صرفی بسیار کمی داره . سرعتی برابر با 16 میلیون دستور در ثانیه , در فرکانس 16 مگا هرتز داره !
حافظه ی داخلی SRAM , Flash , EEPROM داره .در ولتاژی حدود 4.4 تا 5.5 کار میکنه .
جالبه بدونید ما میتونیم روی یک میکرو 10 هزار بار برنامه بنویسیم و پاک کنیم ؛ و اینکه برنامه ای که درونش ذخیره شده 100 سال بدون تغییر درش باقی میونه !
در شکل زیر هم پایه های میکرو رو مشاهده میکنید :
پایه های PA , PB , PC , PD که به ترتیب به پایه های A,B,C,D معروف هستند و هر کدوم 8 پایه رو شامل میشن ؛ پایه های ورودی هستند . در هنگام برنامه نویسی ما میتونیم مشخص کنیم که هر کدوم از این پایه ها ؛ کدوم ها ورودی باشند و کدوم ها خروجی .
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
پین VCC ؛ تغذیه هست . GND هم که زمین هستش .
Xtal 1 و Xtal 2 به ترتیب ورودی و خروجی تقویت کننده ی معکوس نوسانساز هستند .
Avcc ورودی ولتاژ تغذیه برای پورت A هستش .
مدار داخلی یک ATmega32 رو مشاهده کنید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تا اینجای آموزش رو داشته باشید ;) . در پست های بعدی شروع میکنیم به معرفی نرم افزار Codevision و شروع برنامه نویسی با این نرم افزار .
موفق باشید :)
خوب وقتشه بریم سر کار اصلیمون ؛ برنامه نویسی میکرو ! واسه برنامه نویسی میکرو به زبان C از نرم افزار و کامپایلر Codevision استفاده میکنیم .
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
توضیحات اضافی رو به موقعش مینویسم . الان میتونم بیام شروع کنم دونه دونه منو های نرم افزار و کاربرد هاشو بنویسم ؛ اما ترجیح میدم در مواقع نیاز و در حین آموزش بیان بشن . الان میریم سر کار برنامه نویسی .
واسه شروع کدنویسی ، اول باید یک پروژه ی جدید ایجاد کنیم
مسیر زیر رو دنبال کنید :
File / New / Creat New File
و مانند شکل زیر ؛ Project را انتخاب کنید و OK کنید .
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در قسمت بعد از شما سوال میشه که آیا میالید از نرم افزار CodeWizard AVR استفاده کنید یا خیر ؟
شما گزینه ی No را انتخاب میکنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در مرحله ی بعد پنجره ی Create New Project ظاهر میشود .
شما در این مرحله پروژه را با نام دلخواه ذخیره میکنید . ( Save میکنید )
پنجره ی جدیدی باز شده است که مربوط به تنظیمات کامپایلر است ! ابتدا در قسمت C Compiler و Code Generation نوع Chip را برابر ATmega32 قرار داده ؛ و Clock را برابر فرکانس 4 مگا هرتز قرار دهید .
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
OK کنید .
تا اینجا Project رو ایجاد کردیم . حالا باید فایل اصلی برنامه رو ایجاد کنیم ( کد های برنامه درون اون قرار دارن ) . برای این کار باز هم از این طریق وارد میشویم :
File / New / Creat New File
اینبار گزینه ی Source را انتخاب میکنیم .
پنجره ی جدیدی ظاهر میشه ؛ نام فایل را به دلخواه تغییر بدید ؛ مثلا Main.C
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
-------------------------------------------------------------------------------------
تا اینجا تنظیمات و مقدمات اولیه رو برای کد نویسی انجام دادیم .همه چیز محیاست برای نوشتن برنامه .
ما میخوایم به ساده ترین شکل عمل کنیم و در هر مرحله به نوشتن کد های سنگین تر بپردازیم .
اول میخوایم یاد بگیریم یک LED رو خاموش و روشن کنیم . یا در اصطلاح LED چشمکزن درست کنیم .
خوب باید چکار کنیم ؟
واضحه ! ما باید به میکرو کنترلر برنامه ای بدیم که مثلا یک led رو هر یک ثانیه خاموش و روشن کنه . این زمان میتونه هرچه قدر باشه ؛ مثلا 1 میلی ثانیه یا 100 ثانیه . بستگی به خودمون داره .
صفحه ی برنامه آماده ی کد نویسی است. ما باید در ابتدا امر مشخص کنیم که از چه میکرویی میخواهیم استفاده کنیم . در اینجا ما از Atmega32 استفاده میکنیم . پس تاپیک میکنیم :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با این دستور ما میگوییم که : آی سی مورد نظر ما Atmega32 است . include به معنای در بر گرفتن است . توجه کنید که باید آخر اسم میکرو ؛ h. بگذاریم . در واقع داریم فایل مربوط به آی سی را که در دیتا بیس نرم افزار موجوده رو به برنامه اظافه میکنیم .
در قسمت بعد باید با دستور delay آشنا بشیم .
ِdelay یعنی چی ؟ به خاطر بیارید در چند خط بالاتر گفتم میخوایم با تاخیری که خودمون مشخص میکنیم LED خاموش و روشن بشه . این تاخیر delay نام داره . چون میخوایم از دستور delay بهره ببریم ؛ پس باید در ابتدای برنامه قید کنیم که :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یعنی ؛ دستور delay رو هم در بر بگیر .
خوب . دستورات در یک فایل به نام main جا داشت ؛ اگه یادتون باشه . پس ما اول مینویسیم main ؛ و ادامه ی دستورات رو شروع به نوشتن میکنیم .
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
واسه شروع نوشتن کد ها ؛ باید تمامی کد ها درون دو عدد {} قرار داشته باشند . بدین صورت :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب . الان ما میخواهیم پایه های ورودی و خروجی رو مشخص کنیم . یعنی اینکه به آی سی بفهمونیم که کدوم پایه ی تو باید ورودی باشه ؛ و کدومش خروجی ! میدونیم که ما 4 تا پورت داریم A,B,C,d ؛ در اینجا ما میخوایم از یکی از پورت ها فقط استفاده کنیم . پس واسه ی این منظور مثلا از پورت D استفاده میکنیم .
ّبه آی سی اینطور برنامه میدیم که :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یعنی اینکه پایه ی 0 از پورت D رو ورودی در نظر میگیریم . توجه کنید که در این قسمت از برنامه ؛ همیشه باید با حروف بزرگ نوشته شوند . در برنامه نویسی به زبان C ؛ 0 یعنی ورودی و 1 یعنی خروجی !
حالا که پایه ی ورودی ( همون پایه ای که میخوایم یک سر LED رو بهش متصل کنیم ) رو تعریف کردیم ؛ باید ترتیبی بدیم که یک حلقه ایجاد کنیم . یعنی چی ؟ ببینید ؛ اگه ما تعریف کنیم که led یک ثانیه خاموش باشه و یک ثانیه روشن ؛ خوب این عمل انجام میشه اما تکرار که نمیشه ! نه ؟ پس باید ترتیبی بدیم که همین طور 0 و 1 بشه .
پس باید دستورات رو درون حلقه ای قرار بدیم که همش تکرار بشه . پس از دستور
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
استفاده میکنیم .
یادمون باشه که دستور while هم یک جایی شروع میشه ؛ و یک جایی تموم . پس از این ها بازم استفاده میکنیم :
}
{
دستوراتی که قراره درون این حلقه جای بگیرند اینها هستند :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این دستور داره میگه که PORTD.0=1 ! یعنی چی ؟ یعنی اینکه پایه ی 0 پورت D رو مساوی صفر قرار بده . به چه مدت ؟ به مدت 200 میلی ثانیه ! دستور delay داره این کارو انجام میده .
و همین طور در قسمت بعدی داریم که PORTD.0=0 به مدت 200 میلی ثانیه .
خوب ؛ دستور ما برای خاموش و روشن کردن LED به شکل زیر در اومد :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نکته ای رو که قابل ذکر میبینم بگم اینه که در برنامه نویسی ؛ آخر هر خط برنامه باید از سیمیکولون استفاده کنیم .
نترسید ؛ سیمیکولون اینه ---> ; که اگه توجه کنید آخر خط ها میبینیدش .
حالا که نوشتن برنامه تموم شده ؛ باید این فایل رو به پروژه اضافه کنیم . برای این کار از منوی Project گزینه ی Configure رو انتخاب میکنیم . از قسمت File گزینه ی Add رو میزنیم . فایل main.c رو که فایل های برنامه در اون قرار دارن رو انتخاب میکنیم . حالا فایل برنامه به پروژه اضافه شده است .
شکل زیر :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
---------------------------------------
حالا تنظیمات کامپایلر رو انجام میدیم .
از منوی Project گزینه ی Configure رو انتخاب کنید . از تب CCompiler نوع تراشه رو برابر ATmega32 و فرکانس clock رو 4 مگا هرتز قرار بدید .
حالا از منوی after build گزینه ی program the chip رو تیک بزنید . این کار واسه اینه که بعد از کامپایل مستقیما کد هارو به تراشه بفرستید .
خوب ؛ OK کنید .
حالا میریم سراغ کامپایل کردن برنامه ای که نوشتیم . از گزینه ی Projecy گزینه ی Compile یا Build رو انتخاب کنید . همچنین میتونید از ترکیب Shift + f9 هم استفاده کنید .
اگه برنامه بدون نقص بوده باشه ؛ و به درستی نوشته شده باشه پیغام زیر رو مشاهده میکنیم :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خوب خیالمون راحت شد که برنامه رو به درستی نوشتیم .
با زدن گزینه ی Program ؛ برنامه شروع به پروگرام کردن یا انتقال دادن برنامه ی ما به میکرو میکند .
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
البته برای این کار لازمه که پروگرامر هم داشته باشیم .
خوب کار برنامه نویسی تموم شد .
توی قسمت بعدی شروع به آموزش شبیه سازی مدار با استفاده از Proteus میکنیم . در اونجا به طور عملی خواهیم دید که چطور LED چشمک میزنه ;)
تا بعد . . .
با یاد و نام خدا !
سلام . خوب میخوایم درس امروز رو هم شروع کنیم به امید خدا . عنوان این پست هست :
آموزش شبیه سازی با Proteus !
پروتئوس اصلا چی هست ؟!
پروتئوس یک نرم افزار شبیه ساز مدارات الکترونیکی است . خوب ؛ شبیه ساز مدارات الکترونیکی یعنی چی اصلا ؟! یعنی یک محیط نرم افزاری است که در اون لیستی از قطعات و المان های الکترونیکی در اختیار ما قرار میگیره ؛ و ما میتونیم با اون ها یم مدار رو طراحی کنیم . همچنین میتونیم شکل موج نقاط مختلف مدار رو هم ببینیم + ولتاژ ها و جریان های نقاط مختلف مدار .
باز هم متوجه نشدید این نرم افزار چیه و به چه دردی میخوره ؟ خیله خوب ؛ بزارید وارد محیط کار بشیم کم کم یاد میگیرید ؛ خیلی آسونه :)
اولا که آخرین ورژن نرم افزار رو میتونید از لینک زیر دریافت کنید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
زمانی که نرم افزار ور نصب کردید ؛ برای اجرای نرم افزار مسیر زیر رو دنبال میکنیم :
Start / All Programs / Proteus Professional /ISIS Professional
این هم یک عکس از محیط کار پروتئوس :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در گوشه ی چپ تصویر این آیکون هارو مشاهده میکنید :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
هر کدوم از این آیکون ها برای ترسیم مدار استفاده میشند .
خوب ؛ برای شروع ترسیم شماتیک یک مدار ؛ روی آیکون [ [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ] کلیلک کنید ؛ و بعد این [ [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ] آیکون رو بزنید !
با این کار لیست قطعات جلوی چشمان شما ظاهر خواهند شد .
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ما اول در مورد مدار یک LED چشمک زن صحبت کردیم ؛ برنامه اش رو نوشتیم ؛ حالا میخواهیم مدارش رو شبیه سازی کنیم .
نیاز به چه قطعاتی داریم ؟
خوب قاعدتا یک میکرو کنترلر نیاز داریم ؛ که گفتیم با ATmega32 کار میکنیم . پس از لیست کتابخونه اول یک Atmega32 انتخاب میکنیم .
دیگه چی احتیاج داریم ؟ یک LED میخواهیم ؛ پس یک LED هم انتخاب میکنیم . این تا اینجای کار . پس بریم سراغ پیدا کردن قطعه !
در پنجره ی لیست قطعات ؛ در قسمت KeyWords تایپ میکنیم : Atmega32
این نتایج پدیدار میشوند :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
روی اولین نتیجه ی جستجو 2 بار کلیک میکنیم .
حالا LED میخواهیم ؛ توی همون قسمت تایپ میکنیم LED-Green چون LED قرمز میخوایم استفاده کنیم ؛ همینطور میتونیم رنگ های دیگه رو هم داشته باشیم .
خوب ؛ حالا در سمت چپ ما این دو المان رو خواهیم داشت :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در لیست بالا 2 المان داریم . روی یکیشون که کلیک کنیم میتونیم انتخابش کنیم و روی صفحه ی برنامه بیاریمش ( Drag کنیم )
هردو المان رو روی صفحه ی اصلی میاریم .
یادتون هست در قسمت برنامه نویسی گفتیم که PORTD.0=1 ؟!
الان پس باید LED رو به پایه ی 0 پورت D وصل کنیم !
به این شکل :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به سر آند LED یک مقاومت اهم پایین هم متصل میکنیم که ولتاژ مستقیما روی LED قرار نگیره ؛ همچنین سر کاتد رو هم زمین میکنیم . به شکل زیر :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
داشت یادم میرفت ! حالا که مدار رو کشیدیم ؛ باید فایل Hex برنامه ای رو که نوشتیم به میکرو اضافه کنیم . برای این کار 2 بار روی میکرو کلیک میکنیم ؛ در این حالت پنجره ی Edit Componet باز خواهد شد . از قسمت Program file فایل HEx رو انتخاب میکنیم و اوکی میزنیم .
خوب مدار آمادست ! با زدن کلید Play در پایین صفحه مدار روشن میشه ! میبینید که LED داره خاموش و روشن میشه یا در اصطلاح چشمک میزنه . آخ که چه زیباست :31:
خوب ؛ در درس های بعدی به آموزش یک سری پروژه های دیگه میپردازیم .
شاد باشید .
nekrasof
08-07-2009, 11:39
پیام جان داری از ابتدا شروع به گفتن می کنی و این خیلی خوبه چون من بهش احتیاج دارم آخه استاد میکرو ما قاق بود ما هیچی نفهمیدیم
فکر کنم در آینده نه چندان دور خیلی باید کمک کنی به من
راستی به نظر شما من با اسمبل یاد بگیرم یا سی؟
آخه این استاد اسمبل به ما گفت البته تقریبا هیچی بلد نیستم شما کدوم رو پیشنهاد می کنی:10::11:
راستی به نظر شما من با اسمبل یاد بگیرم یا سی؟
آخه این استاد اسمبل به ما گفت البته تقریبا هیچی بلد نیستم شما کدوم رو پیشنهاد می کنی[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام . والا به نظر من همونی رو کار کن که استاد گفته :)
اسمبل هم زبان آسونیه . من C رو ترجیح دادم چون دیدم روحیم با C سازگارتره . . .
اما با این حال میخوام اسمبل رو هم یاد بگیرم ؛ فعلا C رو کامل نکردم البته ؛ در حد نیاز یاد گرفتم :)
شاد باشی .
با سلام دوباره خدمت همگی :)
توی پروژه های قبلی یاد گرفتیم یک برنامه ی ابتدایی با Codevision بنویسیم . اون رو شبیه سازی کنیم و جواب هم گرفتیم !
الان میخوایم روی پروژه ی LED چشمکزن تغییراتی اعمال کنیم . میخوای این دفعه 8 تا LED رو با هم خاموش و روشن کنیم !
خیلی ساده به نظر میاد ؟ آره همین طوره . سادست :)
خوب ؛ تغییراتی رو که ما توی برنامه ی قبل میخوایم اعمال کنیم به این شکل هستش :
اول اینکه DDRD رو طوری انتخاب میکنیم پایه هاش همگی حکم خروجی رو داشته باشن . به صورت هگز مینویسیم :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حرف FF در این کد نشون دهنده ی حالت پایه های پورت D هست .
خوب ؛ تغییر بعدی :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این قسمت چی میگه ؟
میگه که اول PORTD=0xff ؛ یعنی پورت رو اول روشن کن ؛ و بعد PORTD=0x00 ، پورت رو خاموش کن !
داریم مثل مثال قبلی بهش میفهمونیم که 0 و 1 کنه پایه هارو .
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به مدت 500 میلی ثانیه .
خوب ؛ برنامه ی ما به شکل زیر در میاد :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شماتیک مدار در پروتئوس به شمل زیر در میاد :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خوب ؛ فایل کامل این پروژه رو میتونید از لینک زیر دریافت کنید .
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
انشاا... توی پست های بعد به سراغ مدارات پیچیده تر خواهیم رفت :)
شاد باشید...
مرسی پیام جان
واقعا مطالب کاربردی ای بود....
ما همچنان مشتاق ادامه هستیم
hadi_gh_1449
21-08-2009, 16:31
سلام پیام جان
اگه در مورد درایو چند تا سون سگمنت با AVR و به زبان c توضیحاتی بدی خیلی ممنون میشم
اگه فایل چند تا پروژه در این مورد بزاری خیلی عالی میشه
آخه برنامه ی AVR به زبان c نسبت زبانهای دیگه خیلی کمه و نمیتونم پروژه های زیادی پیدا کنم
ممنون
mani6606
29-09-2009, 17:46
پیام جان چرا دیگه ادامه نمیدین؟
سلام .
عرض كنم كه من چند وقتي دسترسي به اينترنت نداشتم . اما انشالله آموزش رو ادامه ميديم .
mani6606
01-10-2009, 18:27
پیام جان من اولین برنامه اموزشی شما رو نوشتم اما Codevison خطا میده و برنامه رو کامپایل نمیکنه :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
چکار کنم؟ در ضمن برنامه دوم رو هم با اینکه خطا نداره اما کامپایل نمیکنه.
ممکنه نرم افزار اشکال داشته باشه؟
خب برادر، آخر 2 تا از خط هات ; نذاشتی دیگه!
:دی
mani6606
01-10-2009, 22:36
دوستان حالا که برنامه رو درست نوشتم اما هنگامی که F9 رو می زنم تا کامپایل بشه فقط صفحه Information باز میشه چکار کنم؟
mani6606
02-10-2009, 08:30
یکی به داد من برسه .اقا برنامه بدون عیبه اما نمی تونم اون رو تبدیل به فایل HEX کنم اصلا وقتی که F9 رو می زنم فقط اطلاعات نمایش میده.
سلام .
عرض كنم كه من چند وقتي دسترسي به اينترنت نداشتم . اما انشالله آموزش رو ادامه ميديم .رادر پیام داداش ادامه نمیدی آموزشتو؟ اساساً دمت گرم
سلام . ماني جان مراحل توليد فايل ها رو درست انجام دادين به ترتيب ؟
راستي عكستون فرمتش BMP image هستش ؛ لطفا اگر بازم خواستين عكس بزاريد Jpeg بگذاريد .
رادر پیام داداش ادامه نمیدی آموزشتو؟ اساساً دمت گرم
آمادش ميكنم :)
mani6606
04-10-2009, 06:44
خوب اول پروژه را ایجاد میکنم و از codewizard هم که استفاده نمیکنم بعد از آن فایل source رو ایجاد میکنم تا برنامه اصلی در آن قرار گیرد بعد از ذخیره کردن ان با استفاده از configure فایل souvce ایجاد شده رو به برنامه اضافه میکنم.
mani6606
04-10-2009, 07:51
این برنامه هیچ اشگالی نداره اما هنگامی که F9 رو میزنم فقط اطلاعات نشان می دهد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ببين الان برنامه اي كه نوشتي اصلا مشكلي نداره . اين صفحه هم طبيعيه ؛ موقع كامپايل كردن پيداش ميشه و اگه دقت كني خط آخرش نوشته كه اين برنامه چند درصد از فضاي EEPROM رو مصرف كرده . اگر روي 0 باشه ؛ يعني كامپايل به درستي انجام نشده . بايد يه عددي به غير از 0 بنويسه .
حالا شما توي برنامه ؛ براي Main يك مقداري قرار بديد ؛مثلا 1 . بعد اون آيكون آي سي رو بزنيد ؛ بغل آيكون كامپيوتر و اون سوسكه :دي
موفق باشي .
mani6606
05-10-2009, 06:11
پیام جان این روشی که گفتی انجام دادم اما خطا داد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
:19:
Mahmood_N
05-10-2009, 18:18
اون عدد "یک" داخل پرانتز جلوی Main رو بردارید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید ...
behzad.hossieni
06-10-2009, 21:05
سلام این مدار به کجای کامپیوتر وصل میشه و چجوری میتونیم چنین مداری را پیاده سازی کنیم من باید این رو به استاد ارائه بدم نه به صورت شبیه سازی بلکه واقعه ای؟
سلام این مدار به کجای کامپیوتر وصل میشه و چجوری میتونیم چنین مداری را پیاده سازی کنیم من باید این رو به استاد ارائه بدم نه به صورت شبیه سازی بلکه واقعه ای؟
سلام .
دوست من اين مدار به جايي از كامپيوتر وصل نميشه . شما وقتي آي سي رو از طريق پروگرامر برنامه ريزي كرديد ؛ در مدار قرار ميدين . مدار هم بايد قبلا مونتاژ كرده باشيد . حالا مثلا روي برد بورد .
همين .
موفق باشي.
starblue7750
29-11-2009, 13:10
سلام
میشه طریقه ریختن برنامه به میکرو رو هم نشون بدید
با تشکر
سلام
میشه طریقه ریختن برنامه به میکرو رو هم نشون بدید
با تشکر
سلام دوست عزيز :10:
وقتي نرم افزار Codevision باز هستش و شما ميكرو رو از طريق پروگرامر به كامپيوتر متصل كرديد ؛ يك آيكون شبيه آي سي در كنار يه آيكون كه شبيه يه حشره هستش رو مشاهده ميكنيد . روي آيكون آي سي كليك ميكنيد و آي سي پروگرام ميشه .
موفق باشي .
البته بايد قبلش نوع پروگرامر رو انتخاب كنيد. ازمنوي Tools گزينه Programmer را انتخاب كنيد (معمولا از پروگرامر STK200/300 استفاده ميشه كه به پورت پرينتر وصل ميشه و بعضي از سيستمهاي جديد مثل سيستم من اين پورت را ندارن و از پروگرامر USB استفاده ميكنم )
اما در صفحه پروگرام كه آقا پيام گفتن ، بايد اول از منوها آي سي رو پاك كنين بعدش گزينه نوشتن در فلاش ( و در صورت وجود EEPROM را بزنيد - ببخشيد فارسي نوشتم ) اما گزينه فيوز بيتها و قفل ها به صورت پيش فرض خوب تنظيم هستن، اگه آشنايي نداريد فيوز بيتها و قفل بيتها رو برنامه ريزي نكنين ( گزينه Program All رو نزنين )
سلام این مدار به کجای کامپیوتر وصل میشه و چجوری میتونیم چنین مداری را پیاده سازی کنیم من باید این رو به استاد ارائه بدم نه به صورت شبیه سازی بلکه واقعه ای؟
شما يك دستگاه پروگرامر ميخواين + يك IC AVR + يك نرم افزار برنامه نويسي و پروگرام ( در اينجا codevision هردو كار را انجام ميده ) بعد مداري كه ميخواين درست كنين ( مثلا روي برد بورد ) درست ميكنين و جاي IC رو خالي ميذارين. پس از برنامه نويسي و ريختن برنامه در IC ( پروگرام كردن ) IC را از پروگرامر برداشته و در مدار خودتون قرار ميدين .
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.