مهندس موفق الکترونیک

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

مقدمه کار با میکروکنترلر PIC18F4550 و MPLABX IDE

برای میکروکنترلر PIC18f4550 که از خانواده میکروهای قدرتمند PIC است، محیط‌های توسعه‌ی‌ (IDE) متنوعی از جمله MPLABX IDE و MikroC و یا C compilerهایی چون XC8 ،Hi-Tech و C18 قابل استفاده و موجود هستند. و بعد از مرحله‌ی کد، برای لود کردن فلش مموری می‌توان از کیت‌هایی همانند PIC kit3 ،PIC kit2 ،PIC kit1 و ICD استفاده نمود.

در این جلسه می‌خواهیم پروژه‌ی ساده‌ی LED چشمک‌زن را با استفاده از MPLABX IDE و XC8 compiler انجام دهیم و در نهایت کد را با استفاده از PIC kit2 بر روی میکرو بارگذاری کنیم.

MPLABX یک IDE شناخته شده است که توسط شرکت Microchip، برای کدنویسی و توسعه کدهای میکروکنترلرهای PIC طراحی و ارائه شده است. کار کردن با آن فوق‌العاده ساده و صریح است. با ما همراه باشید تا یک بار با هم آن را تجربه و مرور کنیم.

  1. کامپایلر XC8 را دانلود و نصب کنید. (برای دانلود آن می‌توانید از این لینک استفاده کنید)
  2. MPLABX IDE را هم دانلود و نصب کنید. (می‌توانید از این لینک آن را دانلود کنید)
  3. پروگرمرهای سخت‌افزاری مختلفی برای پروگرم کردن میکروکنترلرهای PIC وجود دارند؛ مانند PicKit2 ،PicKit3 و USBPicProg. همان ‌طور که گفتیم ما در اینجا از PicKit2 استفاده می‌کنیم.
  4. پس از دانلود و نصب موارد بالا، MPLABX IDE را باز کنید.
مطلب پیشنهادی:  آشنایی با میکروکنترلرهای PIC و نرم‌افزار MPLABX و آموزش کار با آنها

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  1. حالا از مسیر زیر یک پروژه جدید بسازید. می‌توانید نام آن را Blinking LED بگذارید.
Select File -> New Project

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  1. پس از انتخاب new project، پنجره‌ای مانند تصویر زیر ظاهر خواهد شد. در این پنجره ابتدا Microchip Embedded را، و بعد Standalone و سپس next را انتخاب کنید.

  1. در این مرحله نوع Deviceها و خانواده‌ی آنها را انتخاب می‌کنیم. device ما PIC18F4550 است که از خانواده‌ی PIC18 می‌باشد. پس از انتخاب این دو گزینه، next را بزنید.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  1. پس از اینکه next را زدید، پنجره‌ای باز خواهد شد که باید در آن نوع ابزار خود را انتخاب کنید. PicKit2 را انتخاب می‌کنیم و به مرحله بعد می‌رویم.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  1. حالا باید کامپایلر را انتخاب کنیم که برای ما XC8 است. آن را انتخاب کرده و به مرحله بعدی می‌رویم.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  1. نام پروژه و مسیر ذخیره‌سازی آن را وارد کنید و در نهایت finish را بزنید.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

همان‌ طور که می‌بینید، صفحه‌ی پروژه برای ما ساخته و نمایش داده می‌شود.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  • فولدری که با نام source file وجود دارد، حاوی کد اصلی و سایر فایل‌های لازم و پشتیبان برای اجرای کد است.
  • باید تعدادی از رجیسترها و بیت‌ها مانند WDT ،MCLRE’ ،FOSC و … را مطابق با تنظیمات PIC18f4550 تغییر دهیم.
  • این تغییرات را به شکل زیر در کد وارد می‌کنیم.
#pragma config FOSC = INTOSC_EC
#pragma config WDT = OFF
#pragma config MCLRE = OFF
  • البته این میکروکنترلر رجیسترهای بسیار زیاد دیگری نیز دارد که در زمان کامپایل شدن ممکن است کامپایلر به ما هشدار بدهد که تنظیمات این رجیسترها در حالت پیش‌فرض قرار دارد. اما MPLABX یک راهکار خوب برای تنظیم کردن این رجیسترها نیز ارائه داده است:
  1. به مسیر Window -> PIC Memory Views بروید و از آنجا Configuration Bits را انتخاب کنید.
مطلب پیشنهادی:  آشنایی با میکروکنترلرهای PIC

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

پنجره‌ای مانند تصویر زیر باز خواهد شد.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  • بیت‌ها را مطابق با تنظیمات مورد نیاز قرار می‌دهیم و سپس گزینه‌ی Generate Source Code to Output را که در قسمت پایین صفحه وجود دارد بزنید.
  • سورس کد تولید شده را کپی کنید و آن را در header file پیست کنید.
  1. برای این کار ابتدا باید خود Header file را تولید کنید.
  • در قسمت project روی Header file راست کلیک کنید و در آنجا new و C Header File را انتخاب کنید.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  • نام Header file را انتخاب کنید و finish را بزنید.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  • حالا می‌توانیم کد اصلی (main) برای پروژه‌ی LED چشمک زن را بنویسیم.
  1. ابتدا باید main file را ایجاد کنیم.
  • در قسمت project این بار روی Source راست کلیک کنید و new و سپس C Main File را انتخاب کنید.
  • برای نوشتن کد به زبان اسمبلی، ASM file را انتخاب کنید.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  • برای آن نام انتخاب کنید و finish را بزنید.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  1. در این مرحله می‌توانیم یک کد ساده و کاربردی به زبان C برای پروژه خود بنویسیم.

کد

/*
 Led blinking using PIC18F4550
 http://www.melec.ir
 */

#include "Configurations_Header_File.h"  /*Header file for Configuration Bits*/
#include <pic18f4550.h>                  /*Header file PIC18f4550 definitions*/

void MSdelay(unsigned int);

void main()
{
    OSCCON=0x72;                /* Use internal oscillator of 8MHz Frequency */
    TRISB=0x00;                 /* Set direction of PORTB as OUTPUT to which LED is connected */
    while(1)
    {
        LATB = 0xFF;            /* Turn ON LED for 500 ms */
        MSdelay (500);
        LATB = 0x00;            /* Turn OFF LED for 500 ms */
        MSdelay (500);
    }
}
void MSdelay(unsigned int val)
{
 unsigned int i,j;
 for(i=0;i<val;i++)
     for(j=0;j<165;j++);         /*This count Provide delay of 1 ms for 8MHz Frequency */
 }
  1. پس از نوشتن کد باید پروژه را Build کنیم.
  • در بالای صفحه یک آیکون به شکل چکش وجود دارد. روی آن کلیک کنید.
مطلب پیشنهادی:  آموزش وقفه های خارجی PIC

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  • اگر پروژه با موفقیت Build شود، در پنجره‌ی ظاهر شده یک پیام مبنی بر Build Successful خواهید دید و اگر خطایی وجود داشته باشد، لیست errorها و warningها را در پنجره خواهید دید.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

  • فایلی که به شکل تصویر زیر می‌بینید؛ همان فایلHex‌ای است که باید بر روی میکروکنترلر بارگذاری شود.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

پس از اینکه برنامه را بر روی میکرو بارگذاری کردید، LED را به آن متصل کنید و خواهید دید که شروع به چشمک زدن می‌کند.

کار با میکروکنترلر PIC18F4550 و MPLABX IDE

فایل‌های پشتیبان

  • دانلود سورس کد پروژه‌ی LED چشمک‌زن با استفاده از میکروکنترلر PIC18f4550 (لینک دانلود)

در ادامه توصیه می‌کنم مقاله AVR یا PIC؟ کدام میکروکنترلر را برای پروژه‌ها انتخاب کنیم؟ را نیز مطالعه کنید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *