آیا میدانید ملکه ميوه ها جوز هندي است
همه ي مردم را <<بعضي مواقع >> مي توان فريفت
و بعضي مردم را براي <<همه ي عمر >>.
ليکن نميتوان همه مردم را براي هـمه عمر فريب داد. |
![]() |
آموزش گام به گام برنامه نویسی AVR به زبان C
کامپایلر قدرتمند Atmel AVR Studio 6 نسخه 6
دانلود شبیه ساز قدرتمند proteus 7.10 SP0 همراه با کرک و لایسنس و کتابخانه
کتابخانه شبیه ساز LCD های نوکیا برای پروتیوس
پروژه تولید سیگنال های ویدیوئی PAL با AVR به زبان اسمبلی
پروژه ارتباط AVR با RS232 و برنامه کنترلی با ویژوال بیسیک
اتصال کیبورد 4*4 به میکروکنترلر AVR و نمایش روی سون سگمنت
قبل از همه چيز چرا 8051 ؟
ميكرولنترلر 8051 پايه و اساسي است براي يادگيري ديگر ميكروكنترلر ها دستورات اسمبلي اين ميكرو نسبت به AVR خيلي كمتر هست و داراي امكانات كمتري نسبت به ديگر ميكرو ها است به همين دليل يادگيري و فهم آن خيلي راحت و آسان مي باشد كه براي شروع ابتدا بايد مفاهيم منطق و ديجيتال را خوب فهميده باشيد و بعد از آن بايد سخت افرار 8051 و RAM و ROM داخلي آن را درك كرده باشيد تا بتوانيد يك برنامه كاربردي بنويسيد تا يك پروسه را كنترل كند. خيلي ها براي يادگيري ميگن كه ما كه مي خواهيم برنامه نويسي ميكرو را ياد بگيرم پس بهتر بالاترين ميكرو يعني AVR يا PIC ياد بگيريم در صورتي كه به نظر من كاملا اشتاه بوده و كار غلطي است كه اگه بخواهيد تا آخر ادامه دهيد كاري طاقت فرسا خواهد بود. مثل اين خواهد بود كه سقف طبقه اول يك ساختمان را درست نكرده باشيم و بخواهيم طبقه دوم را درست كنيم. در اين وبلاگ من تا بتوانم به زبان ساده و روان مطالب را بيان خواهم كرد كه البته اگه يكم علاقه و پشتكار داشته باشد مطمئن باشيد به ميكرو مسلط خواهيد شد و مي توانيد آن را به راحتي برنامه ريزي كنيد. قيمت اين ميكرو خيلي ارزان مي باشد در حدود 1000 تومان و حافظه ROM آن قابل پاك كردن و استفاده مجدد مي باشد پس شما به راحتي مي توانيد در خانه يا محل كار براي راحتي خود و افراد خانواده چيزهايي با آن بسازيد كه آدم باورش نشه كه اينو خودش ساخته و طراحي كرده.
بیشتر
دستور EQU و DB
البته اين دو دستور جزء قالب هاي دستوري 8051 نيست يعني اصلا ميكرو چنين دستوري را ندارد و اجرا هم نمي كند. اين دو دستور را فقط كامپايلر ها مي شناسد كه به رهنمون هم معرف هستند اينها براي راحتي كار و برنامه نويسي هستند.
EQU به كمك اين دستور مي توان يه متغير تهريف كنيم مثلا ما در يك پروژه داريم كه در آن يك كليد به نام OK وجود دارد ما مي خواهيم OK را روي بيت 3 از پورت 2 قرار دهيم يعني اينكه P2.3=OK براي راحتي كار در طول برنامه ممكن از اين كليد بخواهيم زياد استفاده كنيم به همين دليل اول برنامه اين بيت را به متغيير OK نسبت مي دهيم به روش زير:
OK EQU P2.3
…………………….
JB OK,LOOP
برنامه اينطور مي باشد كه P2.3 به OK اختصاص داده شده و در برنامه اصلي ما مي خواهيم كه هر گاه اين بيت يك شد به آدرس LOOP پرش كند. پس ما مي نويسيم اگر OK يك شده به LOOP پرش كن.
DB اگه با LCD سرو كار داشته باشيم براي نمايش پيغام ها روي LCD بايد كد اسكي آنها رو نوشت كه خيلي كار سخت و وقت گيري به همين دليل در برنامه پيغام خود را به صورت زير مي نويسيم:
بیشتر
توضيح مختصري در مورد كار كردن با اين برنامه نوشته ام اميدوارم هستم كه كارآمد باشد.
نكته: اين توضيحات كل برنامه نيست بلكه در حدي هست تا دوستاني كه تازه مي خواهند كار كنند يه كم راحت باشند. و بقه كار به عهده خوتان مي باشدمنظورم اين كه باش كار كنيد (ور بريد)
اول از همه فرق بين proteus و Pspice را برس مي كنيم.
Pspice نرم افزاري بسيار قوي خصوصا در زمينه مدارات آنالوگ مي باشد البته مدارت ديجيتال را هم شبيه سازي مي كند. برترين مزيت proteus نسبت به pspice اين است كه شبيه سازي اين برنامه به صوت آنلاين هست يعني اگر در مدار ما كليدي داشته باشيم و آن را تغيير وضعيت دهيم اين تغيير فورا اجرا مي شود و مي توان در آن لحظه نتيجه را ببينيم در صورتي كه در Pspice براي مشاهده يك تغيير وضعيت بايد شبيه سازي را توقف كنيم و دوبار شروع كنيم.
بیشتر برای امروز ، پروژه کامل اتصال صفحه کلید (کیبورد) کامپیوتر به میکرو کنترلرهای AVR رو با زبان سی ، و نرم افزار کدویژن آماده کردم .
بیشتر هر برنامه به زبان C مجموعه ای از یک یا چندین تابع است که یکی از آنها تابع اصلی بنام ()main است، مابقی توابع از داخل این تابع اصلی فراخوانی می شوند. تابع در واقع یک زیر برنامه است که توسط برنامه نویس برای انجام کارهای خاص نوشته و فراخوانی می شود. به طور کلی توابع به دو دسته تقسیم می شوند:
در اینجا ما نوع دوم را توضیح می د هیم. در کل این گونه توابع دو حالت دارند یکی اینکه مقدار برگشتی دارند و دیگری مقدار برگشتی ندارند. مقدار برگشی یعنی چی؟
بیشتر
| ||||||||||||||||||||||||||||||||||||||||||
رخدادی برای امروز ثبت نشده |