علی اوشنی
علی اوشنی
خواندن ۴ دقیقه·۴ سال پیش

پروژه avr سون سگمنت با کلید افزایشی کاهشی

سلام,

علی اوشنی هستم,دانشجوی رشته ی مهندسی کامپیوتر,

از دانشگاه صدرا

Atmega 16

قبل از انجام این پروژه ابتدا باید آشنایی اولیه با این میکرو کنترولر داشته باشیم که در صفحات بعد با آن بیشتر آشنا می شویم

شکل ظاهری میکروکنترولر atmega 16 رو در شکل بالا میبینیم که لازمه اطلاعاتی در مورد اون داشته باشیم

ویژگی ها:

۱. کارایی بالا و توان مصرفی کم

۲. دارای ۱۳۱ دستور که اکثر آنها در یک سیکل انجام می شوند

۳ ۸*۳۲ رجیستر کاربردی .

۴. حداکثر کریستال مورد استفاده ۱۶ مگاهرتز

۵. سرعتی تا 16mipsدر فرکانس ۱۶ مگاهرتز


حافظه-برنامه و داده ی غیر فرار:

۱. 16k بایت حافظه فلش داخلی قابل برنامه ریزی

۲. 1024 بایت حافظه sram داخلی

۳. 512 بایت حافظه eepromداخلی برای ذخیره اطلاعات

۴. قفل برنامه داخل flashو eepromبرای جلوگیری از خواندن آن


انواع بسته بندی و تعداد پایه ها:

۱. 32 خط ورودی و خروجی(32 پین و 4 پورت a b c dکه هر کدام دارای 8 پایه می باشند
۲. 3 پایه مربوط به تغذیه ها در بسته بندی pdip
۳. 7 پایه مربوط به تغذیه ها در بسته بندی mlfو tqfp
۴. 2 پایه مربوط به کریستال موارد بالا
۵.1 پایه مربوط به resetمیکرو موارد بالا
۶. 2 پایه مربوط به تغذیه adcو ولتاژ مرجع آن
۷. 44پایه در بسته بندی mlfو 40 پایه در بسته بندی pdip

حداکثر کریستال مورد استفاده:

16 مگاهرتز برای Atmega 16

ولتاژ کاری:

4.5 تا 5.5 ولت برای Atmega 16

در این قسمت به بعد میخواهیم مرحله به مرحله تمام کارهایی که قرار است در برنامه کدویژن انجام دهیم را شرح دهیم

در ابتدا وارد نرم افزار شده و از منوی بالا سمت چپ new project را انتخاب می کنیم و برای اینکه از code wizard استفاده نکنیم ما no را انتخاب می کنیم.

در قسمت بعد نام پروژه را به دلخواه انتخاب و فایل را SAVE میکنیم.
در مرحله بعد باید نوع میکرو کنترلر را انتخاب کنیم که در اینجا Atmega 16انتخاب ماست . سپس okرا می زنیم .

در مرحله بعد در قسمت c compilerنوع chipرا Atmega 16و clockرا روی 8mhzگذاشته و okرا میزنیم.

حال پنجره ای باز میشود که کد های مورد نظرمان را در آن می نویسیم.

در ابتدا کتابخانه مورد نظرمان را اضافه میکنیم:

#include <io.h>
#include <mega16.h>
#include <delay.h>
#define key1 PINA.0
#define key2 PINA.1

سپس در بدنه ی اصلی mainکد های برنامه را مینویسیم:

void main(void)
{
int a=0 ;
unsigned char seg[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

در قسمت بعد برای اینکه شمارنده ی سون سگمنت حالت نزولی و صعودی را نشان دهد ، باید آرایه ای را تعریف کنیم که وضعیت صعودی و نزولی بودن اعداد مشخص شود که عکس مربوط به این آرایه در صفحه ی بعد نشان داده شده است.

بعد از اتمام کد نویسی در نوار بالای صفحه روی گزینه ی
build all project fileکلیک کرده و اگر در قسمت پایینی صفحه پیام خطایی نیامد وارد مرحله بعد میشویم که کار کردن در نرم افزار یا به اصطلاح دیگر شبیه ساز proteus است.

پس از اجرای برنامه در قسمت بالای صفحه روی file ، new project کلیک کرده و در پنجره باز شده نام پروژه و محل ذخیره سازی فایل را مشخص میکنیم و مراحل بعدی را نیز رد کرده تا صفحه ی اصلی این شبیه ساز برای ما نمایش داده شود.

در ابتدا وارد بر روی گزینه ی p کلیک کرده و قطعات مورد نظر را جست و جو میکنیم.

حالا نوبت بستن قطعات است که پس از اتصال قطعات به این شکل در می آید.

برای اینکه atmega16ما بر اساس برنامه ای که به آن داده ایم به درستی کار کند لازم است بر روی آن کلیک کرده و در پنجره ای که باز میشود در قسمت program fileکد ذخیره شده در برنامه کد ویژن را به آن داده و سپس دکمه ی okرا بزنیم.

سپس برنامه رو اجرا میکنیم.

ویدیو مربوط به این پروژه رو میتونین داخل آپارات مشاهده کنید:

https://www.aparat.com/v/YJfrL

ممنون از توجهتون.....امید وارم که براتون مفید بوده باشه.



علی اوشنیدانشگاه صدراآموزشمهندس داود یعقوبی تبارmicro controller
seems not bad....:)
شاید از این پست‌ها خوشتان بیاید