پروژه 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ممنون از توجهتون.....امید وارم که براتون مفید بوده باشه.