آموزش PIC قسمت دوم: شروع کار با میکروکنترلرهای PIC

blog
۱۳۹۹-۱۰-۲۹
4 دقیقه

دوره آموزشی آموزش PIC برای مبتدیانی که تازه وارد دنیای میکروکنترلرها شده‌اند، طراحی شده است تا در مورد این فناوری مقداری اطلاعات ارائه بدهد. خانواده PIC (Peripheral Interface Controller) به دلیل کم هزینه بودن، قابلیت برنامه‌ریزی سریال و سهولت در دسترس بودن در بین دانشجویان، علاقه‌مندان و همچنین توسعه‌دهندگان صنعتی محبوب است. میکروکنترلرهای 8 بیتی PIC بر اساس ویژگی‌های خاص داخلی به چهار خانواده بزرگ تقسیم می‌شوند:

  • PIC10FXXX series
  • PIC12FXXX series
  • PIC16FXXX series
  • PIC18FXXX series

اگرچه، میکروچیپ همچنین میکروکنترلرهایی از قبیل PIC32 ،PIC24 و DSpic را عرضه می‌کند. اما اگر در این زمینه تازه‌وارد هستید، توصیه می‌کنیم ابتدا با سری PIC16 یا PIC18 شروع کنید.

 

چگونه یادگیری میکروکنترلرهای Pic را شروع کنیم؟

برای شروع به فرآیند یادگیری میکروکنترلر Pic، ابتدا باید یک میکروکنترلر انتخاب کنیم. ما همیشه باید یک میکروکنترلر ساده (تعداد پین کم و تعداد وسایل پریفرال کمتر) و معروف را انتخاب کنیم، چونکه در صورت بروز هرگونه مسئله و مشکلی، به راحتی می‌توانیم منابع و پشتیبانی انجمن‌های آنلاین زیادی را پیدا کنیم.

بیایید فقط یک نمونه از میکروکنترلرهای PIC از خانواده PIC 16FXXX را برای این مقاله استفاده بکنیم. در پایان این مقاله، شما دانش کافی برای کار با سایر MCUهای استاندارد خانواده PIC16FXXX را نیز کسب می‌کنید، زیرا همه آن‌ها دارای معماری مشابه هستند. ما از میکروکنترلر PIC16F877A استفاده می‌کنیم، زیرا این یکی از محبوب‌ترین میکروکنترلرهای شرکت میکروچیپ است.

 

میکروکنترلر PIC16F877A

PIC16F877A یکی از پرکاربردترین کنترل‌کننده‌ها است. پیکره‌بندی پین میکروکنترلر و برخی از عملکردهای آن در زیر نشان داده شده است. این یک میکروکنترلر 40 پین DIP است (در پکیج‌های دیگر نیز موجود است.)

 

میکروکنترلر PIC16F877A

 

اتصالات سخت افزاری مورد نیاز

 

پین‌های منبع تغذیه

ابتدا باید پین‌های Vdd (منبع تغذیه) و Vss (زمین) میکروکنترلر Pic را بررسی کنید. برای تأمین ولتاژ معمولاً از دو پایه استفاده می‌شود. همانطور که از نمودار pinout میکروکنترلر PIC16F877A مشاهده می‌کنید، pin11 و pin32 پین‌های Vdd هستند. طبق دیتاشیت، ما می‌توانیم منبع تغذیه 5 ولت را به این پایه‌ها متصل کنیم. اطمینان حاصل کنید که برای تأمین انرژی به میکروکنترلر pic از منبع کم نویز و پایدار استفاده کنید.

 

پین‌های زمین

به طور مشابه، دو پایه برای اتصال ترمینال‌های زمین منبع تغذیه استفاده می‌شود. PIC16F877A دارای دو پایه Vss مانند پایه 12 و pin31 است. شما باید این پایه‌ها را با ترمینال زمین منبع تغذیه وصل کنید.

 

مدار ریست

میکروکنترلر PIC16F877A دارای یک پایه کاملاً آزاد است. این پین با 0 فعال می‌شود. ما برای ریست میکروکنترلر از این پین استفاده می‌کنیم. مشابه زمانی که می‌خواهیم کامپیوتر خود را راه‌اندازی مجدد کنیم. هنگامی که ما یک سیگنال 0 به این پین اعمال می‌کنیم، میکروکنترلر pic ریست می‌شود و همه عملکردهای میکروکنترلر را متوقف می‌کند.

 

Pic microcontroller reset circuit

 

مدار اسیلاتور

میکروکنترلر Pic گزینه‌های زیادی را برای انتخاب منبع کلاک فراهم می‌کند. تقریباً تمام میکروکنترلرهای PIC از نوسانگر داخلی نیز پشتیبانی می‌کنند. بنابراین مجبور نیستیم یک اسیلاتور خارجی را متصل کنیم. اما نوسان‌ساز داخلی معمولاً از فرکانس عملکرد پایین پشتیبانی می‌کند. اما اگر پروژه نهفته شما به فرکانس کاری بالا نیاز دارد، باید از یک اسیلاتور کریستال خارجی استفاده کنید. PIC16F877A دارای دو پایه است که برای اتصال اسیلاتورهای کریستال خارجی مانند OSC1 و OSC2 استفاده می‌شود.

 

oscillator

 

الزامات استاندارد

Vdd (pwr) و Vss (ground) باید به ترتیب به تغذیه و زمین متصل شوند. پین 1، پین MCLR برای ریست برنامه است و باید با مقاومت پول آپ به Vdd متصل باشد. از آن‌جا که PIC16F877A نوسان‌ساز داخلی ندارد، بنابراین شما باید یک کریستال خارجی را به پین ​​13 و 14 متصل کنید.

 

پورت‌های GPIO میکروکنترلر PIC

یکی از اولین برنامه‌هایی که با میکروکنترلرها توصیه می‌کنیم، استفاده از مثال LED چشمک‌زن یا نحوه استفاده از دکمه فشاری با میکروکنترلر pic است. برای استفاده از LED و دکمه فشاری همراه با میکروکنترلر pic، باید پایه های ورودی/خروجی برای اهداف عمومی را درک کنیم.

5 پورت در PIC16F877A وجود دارد که پورت A و E دارای پین کمتری نسبت به پورت B ،C و D هستند. این‌ها پین‌های ورودی/خروجی دیجیتال نامیده می‌شوند. CCP1 و CCP2، با پین‌های ورودی/خروجی RC1 و RC2 مشترک هستند که می‌توانند برای تولید سیگنال‌های pwm با میکروکنترلر استفاده بشوند. از پین‌های PGC و PGD برای برنامه‌نویسی و دیباگ استفاده می‌شود. این اطلاعات هنگام نوشتن کد برنامه‌نویسی مفید است.

 

PORTA و TRISA

PortA یک پورت دو جهته است و دارای 6 بیت (A0-A5) است. رجیستر TRISA برای تعیین وضعیت پورت مربوطه استفاده می‌شود، یعنی اینکه آیا به عنوان یک پورت ورودی کار می‌کند یا یک پورت خروجی. اگر TRISA بیت = 1 باشد، پین پورت مربوطه به عنوان ورودی تنظیم می‌شود. اگر TRISA بیت = 0 باشد، پین پورت مربوطه به عنوان خروجی تنظیم می‌شود. بیشتر پین های PortA با پین‌های ورودی آنالوگ که برای مبدل های A/D استفاده می‌شوند، چندگانه هستند. هنگام استفاده از TRISA به عنوان ورودی آنالوگ مطمئن شوید که روی 1 تنظیم شده است.

 

PORTB و TRISB

PortB یک پورت دو جهته است و دارای 8 بیت (B0-B7) است و رجیستر TRISB جهت دیتا آن است. یک بیت در PortB به عنوان ورودی تنظیم می‌شود اگر بیت مربوطه در رجیستر TRISB برابر با 1 باشد. در حالی که اگر بیت TRISB پاک شود، بیت PortB مربوطه به عنوان خروجی تنظیم می شود. RB6 و RB7 که با هم مالتی پلکس هستند با توابع PGC و PGD برای برنامه‌ریزی و دیباگ استفاده می‌شوند.

 

PORTC و TRISC

درست مانند PortA و PortB ،PortC نیز یک درگاه 8 بیتی و دو جهته است. بیت TRISC = 1، بیت PortC مربوطه را به عنوان ورودی و بیت TRISC = 0 بیت PortC مربوطه را به عنوان خروجی تنظیم می‌کند. PORTC همچنین با بسیاری از عملکردهای جانبی مالتی پلکس شده است.

 

PORTD و TRISD

PORTD همچنین یک پورت 8 بیتی، دو جهته است. هر پین در PortD به صورت جداگانه به عنوان ورودی یا خروجی قابل تنظیم است. اگر 4 بیت TRISE (PSPMODE) روی 1 تنظیم شود، می‌توان آن را به صورت Parallel Slave Port تنظیم کرد.

 

PORTE و TRISE

PORTE فقط 3 بیت (E0-E2) دارد که به صورت جداگانه به عنوان ورودی یا خروجی نیز قابل تنظیم است. هر 3 پایه PORTE با ورودی‌های آنالوگ مالتی پلکس شده‌اند.

 

کامپایلرهای میکروکنترلر PIC

دو تا از معروف‌ترین کامپایلرها که برای نوشتن برنامه میکروکنترلرهای میکروچیپ استفاده می‌شود، کامپایلرهای MPLAB XC و mikroC Pro for PIC هستند. شما می‌توانید از هر کامپایلر استفاده کنید، اما اگر تازه شروع به کار کرده‌اید، به دلیل سهولت استفاده و کتابخانه‌های داخلی، mikroC Pro for PIC توصیه می‌کنیم.

 

تایمر و شمارنده

میکروکنترلرهای PIC دارای یک سیستم زمان‌بندی دقیق داخلی به نام تایمر/شمارنده هستند که می‌تواند برای انجام چندین کار مانند تولید سیگنال‌های زمان‌بندی، محاسبه دامنه یک رویداد، ثبت سابقه تاریخ و زمان و … استفاده شود. از آن‌جا که شمارنده به طور مستقل اجرا می‌شود، می‌تواند سیکل‌های دستورالعمل را همزمان با اجرای برنامه اصلی بشمارد. PIC16F877A از 3 ماژول تایمر تشکیل شده است:

  • TIMER0
  • TIMER1
  • TIMER2

 

منبع

اطلاعات
4
0
لینک و اشتراک
profile

سپهر

متخصص الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
reza گفت :
۱۳۹۹-۱۱-۰۳ ۲۰:۱۳

سلام
شروع خوبی هست.
PWM

profile
زئوس Zeus گفت :
۱۳۹۹-۱۱-۰۵ ۰۹:۳۶

سلام دوست عزیز کم کم مباحث مختلف رو پوشش میدیم 🙂

profile
reza گفت :
۱۳۹۹-۱۱-۰۵ ۲۰:۰۷

منظور من PWM بود که اشتباه نوشته شده PMW

profile
Zeus ‌ گفت :
۱۴۰۲-۰۷-۰۷ ۱۲:۰۳

ممنونم برای دقتتون
اصلاح شد

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله