در این مقاله، راه اندازی KEIL IDE برای برنامه ریزی میکروکنترلر 8051 را یاد خواهیم گرفت . علاقمندان و توسعه دهندگان از میکروکنترلرهای Atmel 8051 در پروژه های IOT استفاده می کنند. این میکروکنترلرها برای برنامه نویسی خود به نرم افزار KEIL IDE نیاز دارند. برنامه را می توان به زبان C یا اسمبلی نوشت. حال به نحوه نوشتن اولین برنامه در نرم افزار KEIL IDE برای میکروکنترلر 8051 و تبدیل آن به فایل هگز می پردازیم.
برای دانلود نرم افزار به وب سایت کیل با کلیک بر روی اینجا مراجعه کنید .
برای نصب نرم افزار کیل نحوه دانلود و نصب Keil uVision برای ARM و ۸۰۵۱ را ببینید.
KEIL IDE Setup را دانلود کنید
ابتدا، ما تنظیمات KEIL µVision 3 را از وب سایت KEIL دانلود می کنیم. سپس با پیروی از دستورالعمل های ارائه شده توسط KEIL آن را نصب خواهیم کرد. نصب بسیار ساده است، زیرا دفترچه راهنمای کاربر و راهنمای نصب همراه با بسته نرم افزاری موجود است.
مراحل استفاده از KEIL IDE
نرم افزار KEIL µVision را راه اندازی کنید و این مراحل را دنبال کنید.
شروع یک پروژه جدید
- برای یک پروژه جدید، روی Project >> New µVision Project کلیک کنید.
- یک پنجره جدید روی صفحه ظاهر می شود که نام پروژه و فهرست را درخواست می کند. در اینجا، نام و مسیر پروژه خود را انتخاب می کنیم (جایی که باید داده ها را ذخیره کنیم). در مورد ما، نام پروژه “برنامه اول” است.
انتخاب میکروکنترلر
- هنگامی که بر روی دکمه ذخیره کلیک می کنیم، پنجره جدیدی با عنوان Select Device for Target ‘Target 1 ” انتخاب دستگاه برای هدف 1 ” ظاهر می شود. در اینجا، ما باید میکروکنترلر خاصی را که قرار است در پروژه خود استفاده کنیم، انتخاب کنیم. ما برای این آموزش که متعلق به خانواده اتمل است از 8051 استفاده می کنیم پس روی Atmel دوبار کلیک می کنیم. لیستی از تمام میکروکنترلرهای Atmel نمایش داده می شود. AT89C51 را انتخاب کنید و سپس روی «OK» کلیک کنید.
- وقتی روی OK کلیک می کنیم، پنجره ای با عنوان “Copy Standard 8051 Startup Code to Project Folder and Add File to Project?” ظاهر می شود. برای ادامه روی “بله” کلیک کنید.
- اگر به سمت چپ صفحه، یعنی در فضای کاری Project نگاه کنیم، می توانیم فایل “STARTUP.A51” را ببینیم. این فایل حاوی دستورات زبان اسمبلی برای میکروکنترلر 8051 است. آن را همانطور که هست رها کنید زیرا ابتدا باید مقادیر گزینه را برای Target 1 تنظیم کنیم.
پیکربندی میکروکنترلر
- برای پیکربندی option value پروژه میکروکنترلر, تارگت 1 را با کلیک روی Project >> “Option for Target ‘Target 1′” انتخاب کنید.
- برای پیکربندی میکروکنترلر، تب Target را انتخاب کنید . مقدار کریستال را از 24 مگاهرتز به 12 مگاهرتز تغییر دهید و به تب output بروید.
- در تب Output ، گزینه “create HEX file” را علامت بزنید و سپس روی “OK” کلیک کنید.
ایجاد فایل
- اکنون روی File >> New کلیک کنید تا یک فایل جدید ایجاد شود. یک فایل متنی خالی باز می شود و ما باید کد خود را در آن بنویسیم. پس از نوشتن کد، این فایل را ذخیره کنید و مهم ترین نکته این است که در نام فایل پسوند .c یا.asm (با توجه به زبان برنامه) به فایل داده شود.
روی target کلیک راست کرده و ” Manage Components ” را انتخاب کنید. از تب Project Component، STARTUP.A51 را انتخاب کنید >> روی Add Files کلیک کنید.
- فایل ذخیره شده را اضافه کنید و با کلیک بر روی “OK” پنجره اجزا را ببندید.
- اکنون دوباره در کد هستیم. فقط روی “Rebuild all target files” از نوار ابزار کلیک کنید. همچنین می توانیم Project >> Rebuild all target files را انتخاب کنیم. با کلیک بر روی این دکمه، برنامه ما شروع به کامپایل کرده و نتایج کامپایل را در پایین پنجره خروجی نمایش می دهد. اگر کد ما درست باشد، هیچ خطایی ایجاد نخواهد شد.
اکنون فایل hex در پوشه مشخص شده با پسوند “.hex” ایجاد می شود. می توانیم از طریق نرم افزار Fly Pro و مدار یرنر آن را روی میکروکنترلر حک کنیم.
نوشتن برنامه – 8051 KEIL IDE
ابتدا باید فایل هدر را به برنامه خود اضافه کنیم. این به ما کمک می کند تا به لوازم جانبی مربوط به ثبت دسترسی داشته باشیم. برای قرار دادن فایل هدر صحیح، کافیست روی صفحه فایل متنی کلیک راست کرده و فایل هدر را در آن قرار دهید. هر چهار پورت P0، P1، P2 و P3 میکروکنترلر 8051 دارای 8 پایه هستند که باعث می شود پورت های 8 بیتی داشته باشند. تمام پورت های تراشه 8051 به عنوان ورودی هنگام RESET پیکربندی می شوند.
- زمانی که PORT قرار است به عنوان پورت خروجی استفاده شود، 0 به آن پورت داده می شود.
- برای پیکربندی PORT به عنوان ورودی، 1 باید به آن پورت ارسال شود.
شماتیک پروتئوس
در این شماتیک یک میکروکنترلر 8051 را به یک LED متصل کرده ایم. ابتدا یک کریستال خارجی را به پایه های 18 و 19 میکروکنترلر متصل می کنیم. تنظیم فرکانس اسیلاتور کریستالی باید 11.059 مگاهرتز باشد. ما از PORT 2 به عنوان پورت خروجی استفاده کرده ایم، بنابراین 0 به آن پین PORT خاص داده می شود. ما کد ارائه شده در زیر را روی Proteus با ساخت مدار زیر آزمایش کرده ایم:
کد مثال 8051 در KEIL IDE
ما یک برنامه ساده برای چشمک زدن LED نوشته ایم. در این برنامه خروجی LED را تغییر می دهیم. همانطور که از حلقه “while” استفاده کردیم، این LED در حال تغییر به طور مداوم چشمک می زند. ما میتوانیم تابع تاخیر را جداگانه بسازیم، بنابراین هر زمان که این تابع را فراخوانی کنیم، تقریباً 1 ثانیه تاخیر در خروجی ایجاد میکند. کد میکروکنترلر 8051 به شرح زیر است:
#include<reg51.h>
sbit led = P2 ^ 0; // led at PORT 2 pin 0
void Delay(void); // Delay function declaration
void main() // main function
{
led = 0; //output PORT pin
while (1) // infinite loop
{
led = 1; // LED ON
Delay();
led = 0; // LED OFF
Delay();
}
}
void Delay(void) // delay function
{
int j;
int i;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10000; j++)
{
}
}
}
مدار را طبق شماتیک بالا می سازیم. سپس فایل Hex را در میکروکنترلر رایت می کنیم. هنگامی که میکروکنترلر به منبع تغذیه متصل می شود، LED با تأخیر 1 ثانیه شروع به چشمک زدن می کند. ما می توانیم این تاخیر را با تنظیم مقادیر در “حلقه ها” تغییر دهیم.
خلاصه
در این مقاله به این موضوعات پرداخته ایم:
- نصب و راه اندازی KEIL IDE.
- پیکربندی KEIL IDE برای یک پروژه.
- برنامه نوشتن در KEIL IDE.
- شماتیک و طرح.