Home / میکروکنترلر / آموزش PIC / LED چشمک زن با میکروکنترلر PIC

LED چشمک زن با میکروکنترلر PIC

این پست در واقع ادمه پست قبلی آموزش PIC کار با MPLAB  است.  در این پست در اول با یک ویدیویی آموزشی آموزش قبلی را مرور کرده و در ادمه توضیحات لازم درباره ی نحوه برنامه نویسی LED چشمک زن با میکروکنترلر PIC توضیح داده خواهد شد.

خانواده ی PIC16 میکروکنترلر های 8 بیتی هستند که در کنار قیمت مناسب از امکانات مناسبی نیز برخوردار هستند. مثل هر میکروکنترلر دیگری تعدادی I/O دارند اولین و ساده ترین قدم  برای شروع کار با یک میکروکنترلر یادگیری نحوه ی کنترل پایه های I/O در یک میکروکنترلر است. در ادمه رجیستر های لازم برای کار با I/O ها در میکروکنترلر PIC16 توضیح داده خواهد شد.

رجیستر TRIS:

این رجیستر جهت خروجی یا وروردی بودن هر پین از هر پورت را مشخص میکند. طبق عکس پایین اگر TRIS یک باشد پین به صورت ورودی تنظیم میشود. و اگر مقدار صفر به این رجیستر اختصاص داده شود پین به صورت خروجی تنظیم می شود.

PORT-and-TRIS-Register-in-PIC-Microcontroller-الکترولب
رجیستر PORT:

اگر به هریک از بیت های این رجیستر مقدار 1 داده شود پین متناظر از پورت در صورت خروجی بودن به HIGH تغییر وضعیت می دهد. و اگر 0 مقدار دهی شود وضعیت پین مورد نظر به LOW تغییر می کند. در پایین نمونه مثالی در مورد نحوه ی مقدار دهی به این رجیستر ها قرار  می دهم.

برنامه LED چشمک زن با میکروکنترلر PIC

توضیحاتی در مورد برنامه:

عبارت #define _XTAL_FREQ 8000000  فرکانس کلاک میکروکنترلر را برای برنامه مشخص می کند تا تابع __delay_ms()  زمان مورد نظر را به درستی برای ما ایجاد کند.

عبارت #pragma config  و کدهای بعد از آن بیت های وضعیت میکروکنترلر PIC را تنظیم می کند که در ادمه درباره ی نحوه ی تنظیم این بیت ها بیشتر توضیح میدم.

شماتیک لازم برای راه اندازی LED چشمک زن با میکروکنترلر PIC

Blinking-LED-using-PIC-Microcontroller-Circuit-Diagram-1024x771

 تنظیم بیت های وضعیت میکروکنترلر PIC

برای تنظیم این بیت ها کافیه از منوی window این مسیر رو دنبال کنید.

Window >> PIC Memory Views >> Configuration Bits

PIC-Memory-Views-Configuration-Bits

بعد پنجره ی زیر باز می شود که می توانید تنظیمات مورد نظرتون رو اعمال کنید و کلیدی که در تصویر مشخص هست رو برای تولید کد استفاده کنید.
Select-Required-Configurations
در مرحله بعد کد تولید شده را کپی کرده و در نوشته خود استفاده کنید.
Generated-Configuration-Bits-Source
دانلود پروژه همراه شبیه سازی

About علی عزتی

علی عزتی هستم. رشته ی مهندسی برق الکترونیک رو خوندم. علاقه ی من به یادگیری و به اشتراک گذاشتن چیز هایی که یاد گرفتم. باعث شد تا الکترولب ایجاد بشه. علاقه ی زیادی به الکترونیک دارم. و دوست دارم چیزهای جدید یادبگیرم و بسازم … :))

Check Also

معرفی خانواده ی میکروکنترلر STM8

در الکترولب مطلبی در مورد میکروکنترلر های 8 بیتی STM8 نداشتیم با توجه به قیمت ...

6 comments

  1. سلام
    به نظر شما
    pic بهتره یا avr
    منظورم یک بار برای همیشه است

    • سلام هر کدام از این میکروکنترلر ها ویژگی خاص خودشون رو دارند و نمیشه گفت این برتری مطلق بر اون یکی داره توصیه من اینه که با هر میکروکنترلری که راحت هست یادگیریش براتون شروع کنید و در زمینه ی برنامه نویسی برای میکروکنترلر حرفه ای بشین بعدا که به این حد رسیدید یادگیری سایر میکروکنترلر ها شاید نهایتا 1 هفته از وقت شمارو بگیره

  2. سلام
    شما برای یک مبتدی پیشنهاد شروع چه میکروکنترلی رو توصیه می کنید

    • یونس عباس زاده

      بهترین گزینه میتونه ARM باشه چرا که الان تمام سیستم های پیشرفته مثل همین گوشی های موبایل از پردازنده های ARM استفاده میکنند

  3. سلام.
    از مطالب مفیدی که به اشتراک گذاشتید تشکر میکنم.
    دستور delay که در این برنامه استفاده شده رو من برای شماره های دیگه مثلا 18F نتونستم استفاده کنم و در برنامه پیغام خطا میده. علتش چیه؟
    ممنون.

    • نمی دونم من زیاد با pic کار نکردم همین دو سه پستی که می بنید رو برای آشنایی نسبی باهاش نوشتم و تست کردم همین

پاسخ دهید

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