ساده ترین مدار روی میکروکنترلر. بارق LED در میکروکنترلر PIC12f629 انتخاب حالت عملکرد بارق LED

بنابراین زمان مطالعه میکروکنترلرها و سپس برنامه ریزی آنها فرا رسیده است و همچنین می خواستم دستگاه هایی را روی آنها مونتاژ کنم که مدارهای آنها اکنون به وفور در اینترنت وجود دارد. خوب یه نمودار پیدا کردیم کنترلر خریدیم فریمور رو دانلود کردیم و با چی فلش کنیم؟؟؟ و در اینجا یک آماتور رادیویی که شروع به تسلط بر میکروکنترلرها می کند با سوال انتخاب یک برنامه نویس روبرو می شود! من می خواهم بهترین گزینه را از نظر تطبیق پذیری - سادگی مدار - قابلیت اطمینان پیدا کنم. برنامه نویسان "مارک" و آنالوگ های آنها به دلیل مدار نسبتاً پیچیده که شامل همان میکروکنترلرهایی است که باید برنامه ریزی شوند بلافاصله حذف شدند. یعنی معلوم می شود که یک "دایره باطل" است: برای ساختن یک برنامه نویس، به یک برنامه نویس نیاز دارید. بنابراین جستجو و آزمایش شروع شد! در ابتدا، انتخاب بر روی PIC JDM افتاد. این برنامه نویس از پورت com کار می کند و از آنجا تغذیه می شود. این گزینه آزمایش شد، با اطمینان 4 از 10 کنترلر برنامه ریزی شد، با منبع تغذیه جداگانه وضعیت بهبود یافت، اما نه چندان؛ در برخی از رایانه ها به هیچ وجه از انجام کاری امتناع کرد و از "احمق" محافظت نمی کند. سپس برنامه نویس Pony-Prog مورد مطالعه قرار گرفت. در اصل، تقریباً مشابه JDM است. برنامه نویس «Pony-prog» یک مدار بسیار ساده است که از پورت کامیپوتر تغذیه می شود، و بنابراین، در انجمن ها و اینترنت، اغلب سؤالاتی در مورد خرابی هنگام برنامه نویسی آن ظاهر می شود. یا میکروکنترلر دیگر در نتیجه، انتخاب بر روی مدل "Extra-PIC" انجام شد. من به نمودار نگاه کردم - بسیار ساده، شایسته! در ورودی MAX 232 قرار دارد که سیگنال های پورت سریال RS-232 را به سیگنال های مناسب برای استفاده در مدارهای دیجیتال با سطوح TTL یا CMOS تبدیل می کند، پورت COM رایانه را با جریان اضافه بار نمی کند، زیرا از استاندارد عملیاتی RS232 استفاده می کند و این کار را انجام نمی دهد. خطری برای پورت COM است.
با هر پورت COM، هر دو استاندارد (± 12 ولت؛ ± 10 ولت) و غیر استاندارد COM برخی از مدل های لپ تاپ های مدرن که ولتاژ خط سیگنال را کاهش داده اند، تا ± 5 ولت کار می کند - یک امتیاز دیگر! پشتیبانی شده توسط برنامه های محبوب IC-PROG، PonyProg، WinPic 800 (WinPic800) و دیگران - سومین پلاس!
و همه اینها با منبع تغذیه خودش تغذیه می شود!
تصمیم گرفته شد - ما باید جمع آوری کنیم! بنابراین در مجله رادیو 2007 شماره 8 نسخه اصلاح شده این برنامه نویس یافت شد. این اجازه می دهد تا میکروکنترلرها را در دو حالت برنامه ریزی کنند.
دو روش شناخته شده برای قرار دادن میکروکنترلرهای PICmicro در حالت برنامه نویسی وجود دارد:
1. با روشن بودن ولتاژ تغذیه Vcc، ولتاژ Vpp (در پایه -MCLR) را از صفر به 12 ولت افزایش دهید.
2. در حالی که ولتاژ Vcc خاموش است، ولتاژ Vpp را از صفر به 12 ولت افزایش دهید، سپس ولتاژ Vcc را روشن کنید.
حالت اول عمدتاً برای دستگاه های توسعه اولیه است؛ محدودیت هایی را بر پیکربندی پین -MCLR اعمال می کند، که در این حالت فقط می تواند به عنوان ورودی برای سیگنال نصب اولیه باشد و بسیاری از میکروکنترلرها توانایی تبدیل این پین را به خط منظم یکی از پورت ها. این یکی دیگر از مزایای این برنامه نویس است. نمودار آن در زیر نشان داده شده است:

بزرگتر
همه چیز روی تخته نان مونتاژ شد و آزمایش شد. همه چیز عالی و قابل اعتماد کار می کند، هیچ اشکالی مشاهده نشد!
یک علامت برای این برنامه نویس کشیده شد.
depozitfiles.com/files/mk49uejin
همه چیز در یک کیس باز مونتاژ شد که عکس آن در زیر است.




کابل اتصال به طور مستقل از یک قطعه کابل هشت هسته ای و کانکتورهای استاندارد کوموف ساخته شده است، هیچ مودم تهی در اینجا کار نخواهد کرد، بلافاصله به شما هشدار می دهم! هنگام مونتاژ کابل باید مراقب باشید؛ در آینده بلافاصله از شر سردرد خلاص خواهید شد. طول کابل نباید بیش از یک و نیم متر باشد.
عکس کابل


بنابراین، برنامه نویس مونتاژ شده است، کابل نیز مونتاژ شده است، وقت آن است که همه این تجهیزات را از نظر عملکرد بررسی کنید، به دنبال اشکالات و خطاها باشید.
اول از همه، ما برنامه IC-prog را نصب می کنیم که می توان آن را از وب سایت توسعه دهنده www.ic-prog.com دانلود کرد. برنامه را در یک فهرست جداگانه باز کنید. دایرکتوری به دست آمده باید شامل سه فایل باشد:
icprog.exe - فایل پوسته برنامه نویس.
icprog.sys - درایور مورد نیاز برای کار در ویندوز NT، 2000، XP. این فایل باید همیشه در دایرکتوری برنامه قرار داشته باشد.
icprog.chm - فایل راهنما.
نصب شده است، اکنون باید آن را پیکربندی کنیم.
برای این:
1. (فقط ویندوز XP): روی فایل icprog.exe کلیک راست کنید. "Properties" >> زبانه "Compatibility" >> کادر "Run this program in compatibility mode for:" را علامت بزنید >> "Windows 2000" را انتخاب کنید.
2. فایل icprog.exe را اجرا کنید. "تنظیمات" >> "گزینه ها"> زبانه "زبان" را انتخاب کنید >> زبان را روی "روسی" تنظیم کنید و روی "تأیید" کلیک کنید.
با عبارت "شما باید همین حالا IC-Prog را مجددا راه اندازی کنید" موافق باشید (روی "Ok" کلیک کنید). پوسته برنامه نویس دوباره راه اندازی می شود.
تنظیمات" >> "برنامه نویس

1. تنظیمات را بررسی کنید، پورت COM مورد استفاده خود را انتخاب کنید، روی "Ok" کلیک کنید.
2. بعد، "تنظیمات" >> "گزینه ها">> برگه "عمومی" را انتخاب کنید >> مورد "روشن" را علامت بزنید. درایور NT/2000/XP" >> روی "تأیید" کلیک کنید >> اگر درایور قبلاً روی سیستم شما نصب نشده است، در پنجره "تأیید" ظاهر شده روی "تأیید" کلیک کنید. درایور نصب می شود و پوسته برنامه نویس دوباره راه اندازی می شود.
توجه داشته باشید:
برای رایانه های بسیار سریع، ممکن است لازم باشد پارامتر «I/O Latency» را افزایش دهید. افزایش این پارامتر قابلیت اطمینان برنامه نویسی را افزایش می دهد، اما زمان صرف شده برای برنامه نویسی تراشه نیز افزایش می یابد.
3. "تنظیمات" >> "گزینه ها" >> برگه "I2C" را انتخاب کنید >> کادرها را علامت بزنید: "فعال کردن MCLR به عنوان VCC" و "فعال کردن ضبط بلوک". روی "تأیید" کلیک کنید.
4. "تنظیمات" >> "گزینه ها" >> برگه "برنامه نویسی" را انتخاب کنید >> علامت مورد را بردارید: "بررسی پس از برنامه ریزی" و علامت "بررسی در حین برنامه ریزی" را علامت بزنید. روی "OK" کلیک کنید.
پس راه اندازی شد!
حال باید برنامه نویس را در مکانی با IC-prog تست کنیم. و در اینجا همه چیز ساده است:
بعد در برنامه IC-PROG در منو اجرا کنید: Settings >> Programmer Test

قبل از انجام هر نقطه از روش تست، فراموش نکنید که تمام "فیلدها" را در موقعیت اصلی خود قرار دهید (همه "چک باکس ها" بدون علامت هستند)، همانطور که در شکل بالا نشان داده شده است.
1. فیلد «روشن» را علامت بزنید. خروجی داده»، در این مورد، یک «چک» باید در قسمت «ورودی داده» ظاهر شود و سطح گزارش باید روی کنتاکت (DATA) کانکتور X2 تنظیم شود. "1" (حداقل +3.0 ولت). اکنون کنتاکت (DATA) و کنتاکت (GND) کانکتور X2 را با یکدیگر ببندید و علامت فیلد «ورودی داده» باید در حالی که کنتاکت ها بسته هستند ناپدید شوند.
2. هنگام بررسی فیلد "روشن". با کلاک" روی پین (CLOCK) کانکتور X2، سطح log باید تنظیم شود. "1". (حداقل +3.0 ولت).
3. هنگام بررسی فیلد "روشن". تنظیم مجدد (MCLR)"، روی کنتاکت (VPP) کانکتور X3، سطح باید روی +13.0 ... +14.0 ولت تنظیم شود و LED D4 (معمولاً قرمز) روشن شود. اگر سوئیچ حالت روی تنظیم شده باشد. در موقعیت 1، LED HL3 روشن می شود
اگر در طول آزمایش، سیگنالی از آن عبور نکرد، باید کل مسیر این سیگنال، از جمله کابل اتصال به پورت COM رایانه را به دقت بررسی کنید.
تست کانال داده برنامه نویس EXTRAPIC:
1. پایه 13 چیپ DA1: ولتاژ 5- تا 12- ولت. هنگام علامت زدن کادر: از +5 تا +12 ولت.
2. پایه 12 چیپ Da1: ولتاژ +5 ولت. هنگام علامت زدن جعبه: 0 ولت.
3. پایه 6 تراشه DD1: ولتاژ 0 ولت. هنگام علامت زدن کادر: +5 ولت.
3. 1 و 2 پایه ریز مدار DD1: ولتاژ 0 ولت. هنگام علامت زدن کادر: +5 ولت.
4. پایه 3 تراشه DD1: ولتاژ +5 ولت. هنگام علامت زدن جعبه: 0 ولت.
5. پایه 14 تراشه DA1: ولتاژ 5- تا 12- ولت. هنگام علامت زدن کادر: از +5 تا +12 ولت.
اگر تمام تست ها موفقیت آمیز بود، برنامه نویس آماده استفاده است.
برای اتصال میکروکنترلر به پروگرامر می‌توانید از سوکت‌های مناسب استفاده کنید یا یک آداپتور بر اساس سوکت ZIF (با نیروی فشار صفر) بسازید، مثلاً مانند اینجا radiokot.ru/circuit/digital/pcmod/18/.
اکنون چند کلمه در مورد ICSP - In-Circuit Programming
کنترل کننده های PIC
هنگام استفاده از ICSP بر روی برد دستگاه، ارائه قابلیت اتصال پروگرامر ضروری است. هنگام برنامه نویسی با استفاده از ICSP، 5 خط سیگنال باید به برنامه نویس متصل شود:
1. GND (VSS) - سیم مشترک.
2. VDD (VCC) - به علاوه ولتاژ منبع تغذیه
3. MCLR" (VPP) - ورودی تنظیم مجدد میکروکنترلر / ورودی ولتاژ برنامه ریزی
4. RB7 (DATA) - گذرگاه داده دو طرفه در حالت برنامه نویسی
5. RB6 (CLOCK) ورودی همگام سازی در حالت برنامه نویسی
پایه های باقیمانده میکروکنترلر در حالت برنامه ریزی در مدار استفاده نمی شود.
گزینه ای برای اتصال ICSP به میکروکنترلر PIC16F84 در بسته DIP18:

1. "خط MCLR" توسط جامپر J2 از مدار دستگاه جدا می شود که در حالت برنامه نویسی در مدار (ICSP) باز می شود و پایه MCLR را به کنترل انحصاری برنامه نویس منتقل می کند.
2. خط VDD در حالت برنامه نویسی ICSP توسط جامپر J1 از مدار دستگاه جدا می شود. این برای حذف جریان مصرفی از خط VDD توسط مدار دستگاه ضروری است.
3.خط RB7 (گذرگاه داده دو طرفه در حالت برنامه نویسی) از نظر جریان از مدار دستگاه توسط مقاومت R1 با مقدار اسمی حداقل 1 کیلو اهم جدا می شود. در این راستا، حداکثر جریان ورودی/خروجی ارائه شده توسط این خط توسط مقاومت R1 محدود خواهد شد. اگر لازم است از حداکثر جریان اطمینان حاصل شود، مقاومت R1 باید (مانند مورد VDD) با یک جامپر جایگزین شود.
4. خط RB6 (ورودی هماهنگ‌سازی PIC در حالت برنامه‌نویسی)، مانند RB7، از نظر جریان از مدار دستگاه توسط مقاومت R2، با حداقل 1 کیلو اهم، جدا می‌شود. در این راستا، حداکثر جریان ورودی/زهکشی ارائه شده توسط این خط توسط مقاومت R2 محدود خواهد شد. اگر لازم است از حداکثر جریان اطمینان حاصل شود، مقاومت R2 باید (مانند مورد VDD) با یک جامپر جایگزین شود.
مکان های پین ICSP برای کنترلرهای PIC:


این نمودار فقط برای مرجع است، بهتر است نتایج برنامه نویسی را از برگه داده میکروکنترلر بررسی کنید.
حالا بیایید به سیستم عامل میکروکنترلر در برنامه IC-prog نگاه کنیم. ما به نمونه طرح از اینجا نگاه خواهیم کرد rgb73.mylivepage.ru/wiki/1952/579
در اینجا نمودار دستگاه است


اینجا فریمور هست
ما در حال فلش کردن کنترلر PIC12F629 هستیم. این میکروکنترلر از ثابت osccal برای عملکرد خود استفاده می کند - این یک مقدار کالیبراسیون هگزادسیمال ژنراتور MC داخلی است که با کمک آن MC زمان اجرای برنامه های خود را گزارش می دهد که در آخرین سلول داده پیک نوشته شده است. این میکروکنترلر را به پروگرامر وصل می کنیم.
تصویر زیر با اعداد قرمز دنباله ای از اقدامات در برنامه IC-prog را نشان می دهد.


1. نوع میکروکنترلر را انتخاب کنید
2. دکمه "خواندن ریز مدار" را فشار دهید
در پنجره "کد برنامه"، در آخرین سلول ثابت ما برای این کنترلر وجود خواهد داشت. هر کنترل کننده ثابت مخصوص به خود را دارد ! آن را پاک نکنید، آن را روی یک کاغذ یادداشت کنید و روی ریز مدار بچسبانید!
بیایید ادامه دهیم


3. روی دکمه Open file... کلیک کنید و سیستم عامل ما را انتخاب کنید. کد سیستم عامل در پنجره کد برنامه ظاهر می شود.
4. تا انتهای کد پایین می رویم، روی سلول آخر کلیک راست می کنیم و در منو گزینه “edit area” را انتخاب می کنیم و مقدار ثابتی را که در قسمت “هگزادسیمال” نوشته اید وارد می کنیم و “OK” را می زنیم. ".
5. روی "برنامه ریز مدار" کلیک کنید.
فرآیند برنامه نویسی آغاز می شود؛ اگر همه چیز موفقیت آمیز بود، برنامه اعلان مربوطه را نمایش می دهد.
تراشه را از پروگرامر خارج می کنیم و داخل تخته نان مونتاژ شده قرار می دهیم. برق را روشن کنید. ما دکمه شروع را فشار می دهیم. در اینجا یک ویدیو از کار فلاشر است
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
که مرتب شده است. اما اگر یک فایل سورس کد در اسمبلر asm داشته باشیم، اما به یک فایل فریمور هگز نیاز داریم، چه باید بکنیم؟ در اینجا به یک کامپایلر نیاز است. و وجود دارد - این Mplab است، در این برنامه می توانید هم سیستم عامل بنویسید و هم آن را کامپایل کنید. اینجا پنجره کامپایلر است


نصب Mplab
ما برنامه MPASMWIN.exe را در Mplab نصب شده، معمولاً در پوشه - Microchip - MPASM Suite - MPASMWIN.exe پیدا می کنیم.
راه اندازیش کنیم در پنجره (4) Browse ما کد منبع (1).asm خود را پیدا می کنیم، در پنجره (5) Processor، میکروکنترلر خود را انتخاب می کنیم، روی Assemble کلیک می کنیم و در همان پوشه ای که کد منبع را مشخص کرده اید، سیستم عامل شما ظاهر می شود. همه آماده اند!
امیدوارم این مقاله به مبتدیان در تسلط بر کنترلرهای PIC کمک کند! موفق باشید!


این دستگاه به خصوص اصلی نیست، اما ممکن است برای کسی مفید باشد. ایده این است: ما 3 ورودی داریم: چراغ راهنما، چپ و راست، و همچنین دو نوار LED در سمت چپ و راست هر 8 LED. هنگامی که پدال ترمز را فشار می دهید، هر دو نوار با جلوه های متفاوت چشمک می زنند و مکمل چراغ های ترمز اصلی هستند. هنگامی که چراغ راهنما سمت راست روشن می شود، یک چراغ در امتداد نوار سمت راست به موقع با آن روشن می شود، اگر سمت چپ روشن است، سپس در امتداد نوار سمت چپ. هنگامی که چراغ های اضطراری روشن هستند، تمام LED های ماتریس به طور همزمان با چراغ های اضطراری چشمک می زند.

علاوه بر این، یک ورودی دیگر وجود دارد - "چراغ چشمک زن". هدف خاصی ندارد، فقط شرم آور بود که پای PIC را به هوا پرتاب کنیم. هنگامی که یک سیگنال 12 ولت به این ورودی اعمال می شود، تمام LED های ماتریس به سرعت چشمک می زنند، که می توان از آن استفاده کرد، به عنوان مثال، هنگام روشن کردن چراغ های معکوس.

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

این دستگاه را می توان پشت شیشه عقب خودرو یا روی اسپویلر قرار داد. البته ال ای دی ها باید قرمز باشند! هیچ راه اندازی دستگاه مورد نیاز نیست؛ بلافاصله شروع به کار می کند. در حالت آماده به کار، مصرف فعلی ناچیز است، بنابراین برای باتری کاملاً خطرناک نیست.









فایل:
اندازه:
محتوا:

mk_stop_2.rar
48.9 کیلوبایت
ترسیم PCB (LAY) و فایل سیستم عامل میکروکنترلر (HEX)

1 نمودار
من برای تکرار، یک نمودار شماتیک از جلوه های نور را به شما پیشنهاد می کنم که بر اساس میکروکنترلر محبوب Pic12f629 ساخته شده است. این مدار دارای 15 افکت نوری مختلف است، از جمله افکتی که سیگنال چشمک زن پلیس را شبیه سازی می کند. برای بزرگنمایی روی تصویر کلیک کنید.

مونتاژ این مدار بسیار آسان است و نیازی به تنظیم ندارد. وقتی دکمه " را فشار می دهید شروع کنید"حالت پخش خودکار فعال است.


حالت پخش خودکار زمانی است که تمام جلوه های نوری یک به یک پخش می شوند. برای توقف پخش افکت ها، دکمه "شروع" را دوباره فشار دهید.


هنگام فشار دادن دکمه ها " رو به جلو" یا " بازگشت"وقتی پخش متوقف شود، اولین افکت روشن می شود و به طور مداوم کار می کند.


برای تغییر افکت، دکمه " را فشار دهید بازگشت"- برای رفتن به جلوه نور قبلی،" رو به جلو"- برای انتقال به بعدی.


دستگاه بر روی یک برد مدار چاپی مونتاژ شده است، نقشه و سیستم عامل کنترل کننده در بایگانی است. این برد همچنین دارای یک تثبیت کننده ساده 5 ولتی برای تغذیه کنترلر است (در نمودار نشان داده نشده است). جعبه یک جعبه پلاستیکی کوچک است. ما خود LED ها را از هر نوع و رنگی مناسب برای ولتاژ و جریان انتخاب می کنیم. ما آنها را به هر شکلی داریم - از تخیل خود در اینجا استفاده کنید. و اگر نیاز به ایجاد افکت برای یک دیسکو بر اساس این دستگاه دارید، ما به سادگی خروجی های میکروکنترلر را با ترانزیستورهای قدرتمند میدانی از نوع IRF تقویت می کنیم. نویسنده طرح: پلخ.م
قسمت 2
این مقاله 2 مدار افکت LED را روی میکروکنترلرها ارائه می دهد PICو AVR.

1) PIC12F629

4 عملکرد وجود دارد:

* حالت تعقیب کننده
* حالت ترمز
*حالت تعقیب کننده/ترمز
* خاموش

حالت ها با فشار دادن متوالی دکمه تغییر می کنند.

2) Attiny2313

گلدسته LED مبتنی بر میکروکنترلر ATtiny231320PI

این پروژه گلدسته LED روی میکروکنترلر برای مبتدیان مناسب است. مدار با سادگی آن متمایز می شود و حاوی حداقل عناصر است.

این دستگاه 13 LED متصل به پورت های میکروکنترلر را کنترل می کند. یک میکروکنترلر ATtiny231320PI به عنوان میکروکنترلر استفاده می شود. به لطف استفاده از یک اسیلاتور داخلی، پایه های 4 و 5 به عنوان پورت های اضافی میکروکنترلر PA0، PA1 استفاده می شود. این مدار اجرای 12 برنامه افکتی را ارائه می دهد که 11 تای آنها ترکیبی جداگانه هستند و برنامه دوازدهم یک بار تکرار متوالی افکت های قبلی است. تغییر به برنامه دیگر با فشار دادن دکمه SB1 انجام می شود. برنامه های افکت شامل اجرای تک آتش، افزایش آتش، اجرای سایه و موارد دیگر است.

این دستگاه قابلیت تنظیم سرعت تغییر ترکیبات در هنگام اجرای برنامه را دارد که با فشار دادن دکمه های: SB2 - افزایش سرعت و SB3 - کاهش سرعت انجام می شود، مشروط بر اینکه سوئیچ SA1 در موقعیت "سرعت برنامه" قرار گیرد. همچنین امکان تنظیم فرکانس روشنایی LED (از درخشش تثبیت شده تا سوسو زدن نور)، که با فشار دادن دکمه ها انجام می شود: SB2 - کاهش (به سوسو زدن) و SB3 - افزایش، به شرط اینکه سوئیچ SA1 در "فلیکر" باشد. فرکانس" موقعیت برای سوئیچ SA2، وضعیت بسته مربوط به حالت تنظیم سرعت اجرای برنامه است و موقعیت باز مربوط به حالت تنظیم فرکانس روشنایی LED است.
ترتیب شماره گذاری ال ای دی ها در مدار با ترتیب روشنایی آنها در حین اجرای برنامه مطابقت دارد. در صورت لزوم، می توان از پین RESET برای تنظیم مجدد استفاده کرد، اما از آن به عنوان پورت PA2 استفاده نمی شود. هنگام برنامه نویسی، دستگاه فرکانس ساعت 8 مگاهرتز را از نوسانگر داخلی (فیوزهای CKSEL3..0 - 0100) انتخاب کرد، اگرچه می توان از فرکانس 4 مگاهرتز (فیوز CKSEL3..0 - 0010) با تغییرات مربوطه استفاده کرد. فواصل زمانی مدار
نوع LED های نشان داده شده در نمودار در یک نمونه اولیه استفاده شده است؛ هر LED با ولتاژ تغذیه 2-3 ولت برای مدار مناسب است؛ از مقاومت های R1-R17 می توان برای تنظیم روشنایی LED ها استفاده کرد.

میکروکنترلرهای PIC دارای معماری هاروارد هستند و توسط Microchip Technology Inc تولید می شوند. نام PIC مخفف عبارت انگلیسی Peripheral Interface Controllers است - که به بزرگ و قدرتمند "کنترل کننده های رابط محیطی" ترجمه شده است. کنترلرهای PIC با نام تجاری Microchip میکروکنترلرهای 8، 16 و 32 بیتی و همچنین کنترل کننده های سیگنال دیجیتال DSC را تولید می کنند. میکروکنترلرهای PIC دارای مزایای قابل توجه زیر هستند: تداوم خوب خانواده های مختلف: سازگاری کامل با نرم افزار و ابزارهای توسعه رایج، از جمله MPLAB IDE رایگان، کتابخانه های رایج، پشته های مشترک پروتکل های انتقال محبوب، سازگاری در لوازم جانبی، پین ها و ولتاژهای تغذیه. طیف وسیعی از کنترلرها شامل بیش از 500 نوع مختلف با انواع گزینه های جانبی، اندازه های مختلف حافظه، عملکرد، تعداد پین ها، محدوده ولتاژ تغذیه، دمای عملیاتی و غیره است.


بیایید ساده ترین کنترلر سری PIC PIC16C84 یا PIC16F84 را در نظر بگیریم.

وجود حافظه FLASH به شما این امکان را می دهد که در عرض چند ثانیه آن را دوباره برنامه ریزی کنید. تعداد چرخه های بازنویسی میکروکنترلر 1000 است. از 18 پایه آن، 13 عدد می تواند به عنوان بیت ورودی-خروجی همه منظوره استفاده شود. هنگامی که آنها به خروجی متصل می شوند، جریان منطقی یک سطح تا 20 میلی آمپر و جریان سطح صفر منطقی تا 25 میلی آمپر (بیش از حد کافی برای اتصال، به عنوان مثال، LED ها) اجازه می دهند. این امر امکان توسعه دستگاه های الکترونیکی ساده و کم هزینه را بر روی این کنترلر فراهم می کند و آن را برای کسانی که مایل به یادگیری و درک اصول کار با میکروکنترلر PIC هستند، به گزینه ای ایده آل تبدیل می کند. پین اوت میکروکنترلرهای 8 بیتی در زیر نشان داده شده است:


پین های RA* و RB* به ترتیب ورودی و خروجی مرتبط با رجیسترهای کنترل کننده PORTA و PORTB هستند (پین RA4 می تواند به عنوان ورودی تایمر داخلی و RB0 به عنوان منبع وقفه استفاده شود). VDD و VSS - منبع تغذیه (+Up و GND). سری 16x84 میکروکنترلرها در محدوده ولتاژ وسیعی کار می کنند، اما به طور معمول VSS به 0 ولت و VDD به + 5 ولت متصل می شود. پین اصلی تنظیم مجدد / MCLR معمولاً به VDD (مستقیم یا از طریق یک مقاومت) متصل می شود، زیرا MCU دارای مدار تنظیم مجدد قابل اطمینان در هنگام اعمال ولتاژ تغذیه است. پین‌های OSC1 و OSC2 به ژنراتور ساعت متصل می‌شوند و می‌توانند برای انواع ساعت، از جمله حالت‌های تشدید کننده و نوسانگر RC پیکربندی شوند. یک مدار ساده با استفاده از کنترلر PIC 16C84 در شکل زیر نشان داده شده است:


مدار، علاوه بر ریز مدار، فقط دارای یک نوسانگر RC است و یک پایه RB4 به یک LED متصل است. آن را با یک برنامه شگفت انگیز کوتاه (6 کلمه) برای MPASM در اسمبلر ارائه می شود - چشمک زدن LED.

این کد را در هر ویرایشگر متنی تایپ کنید، آن را با پسوند ASM (LIGHTS.ASM) ذخیره کنید، سپس با استفاده از برنامه MPASM (از دستور "MPASM LIGHTS.ASM" استفاده کنید) آن را جمع آوری کنید تا یک فایل HEX را به دست آورید که می تواند در میکروکنترلر آپلود شود. با استفاده از برنامه نویس

هنگامی که برق به مدار رسید، LED چشمک می زند.

هر آنچه که باید در مورد میکروکنترلر PIC16F628A بدانید تا بتوانید طرح های رادیویی آماتور را روی آن مونتاژ کنید، بسیاری از اسناد مرجع و مدارهای جالب.

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

این ابزار اختصاصی و رایگان یک محیط توسعه و اشکال زدایی عالی برای همه میکروکنترلرهای PIC تولید شده توسط Microchip Technology است. MPLAB از برنامه های جداگانه تشکیل شده است، اما به یکدیگر متصل هستند و شامل یک کامپایلر زبان اسمبلی، یک ویرایشگر متن، یک شبیه ساز سیستم عامل کنترلر است و همچنین می توانید از یک کامپایلر SI استفاده کنید.

نویسنده Tavernier K. اطلاعات فنی در مورد ابزارهای توسعه نرم افزار مبتنی بر میکروکنترلرهای PIC ارائه کرد. برنامه های کاربردی شامل مجموعه ای از مدارها و راه حل های نرم افزاری بر روی میکروکنترلرهای PIC، رابط های استاندارد پیاده سازی شده است. این کتاب شامل نمونه‌های بسیاری از پیاده‌سازی نرم‌افزار با طیف گسترده‌ای از توابع است: سازمان‌دهی وقفه، روال‌های حسابی توسعه‌یافته، محاسبات ممیز شناور و غیره. برای تثبیت این تئوری در عمل، دستگاه های ساده ای از جمله یک ساعت زنگ دار و یک ولت متر دیجیتال چند کانالی ارائه شده است.

منبع تغذیه و کلاک میکروکنترلرهای PIC
توسعه اپلیکیشن. کدام میکروکنترلر را انتخاب کنید؟
طراحی مدار رابط میکروکنترلر
کنترل LED و اپتوکوپلر، رله، نشانگر دیجیتال، ADC
تعامل با دستگاه های جانبی از طریق رابط سریال
ضرب بدون علامت اعداد 8 بیتی
ضرب علامت دار و بدون علامت اعداد 16 بیتی
تقسیم، جمع و تفریق اعداد 16 بیتی
عملیات نقطه شناور
تبدیل BCD به کدهای باینری
راه حل های مدار آماده: ساعت زنگ دار، اجرای رابط i2ts، ولت متر با نشانگر LED
کنترل موتور پله ای

میکروکنترلر چیست و چگونه کار می کند
سیستم فرمان PIC16F84A
برنامه چیست و قوانین تهیه آن. نمونه ای از ایجاد یک برنامه برای مولتی ویبراتور خود نوسانی. بخشنامه ها
محیط طراحی یکپارچه MPLAB IDE و کار در آن
نمونه ای از ایجاد یک برنامه
کار در شبیه ساز اشکال زدایی برنامه
نمونه ای از توسعه برنامه با وقفه
سازماندهی یک انتقال محاسبه شده
کار با حافظه داده EEPROM
مقایسه کننده دیجیتال چگونه کار می کند؟
تغییر چرخه ای عملیات ضرب
مقدمه ای بر اصل ساخت یک زیربرنامه نمایش پویا. آدرس دهی غیر مستقیم
تبدیل اعداد باینری به BCD. شکل گیری نهایی متن زیربرنامه نمایش پویا
اصل شمارش. کار با تایمر TMR0 اصل نصب گروه های دستورات شمارش در متن برنامه

هر چهار کتاب، علاوه بر این، تمام منابع برنامه های شرح داده شده و سایر اطلاعات مرجع اضافی به آرشیو اضافه شده است. در آرشیو همچنین کدهای منبع برنامه ها و سیستم عامل کنترلر را خواهید یافت. مواد مرجع برای همه میکروکنترلرهای مورد بحث در هر چهار کتاب (PIC12c67x PIC16c432 PIC16c433 PIC16c505 PIC16c54_58 PIC16c554_558 PIC16c620_622 PIC16c623_626c436 PIC16c623_626A 3b_74b PIC16c64x_66x PIC16c6x PIC16c717_77x PIC16C71xx PIC16c72 PIC16c72_77 PIC16c745_765 PIC16c77x PIC16c781_6892x PIC16c781_682F P IC16f84a PIC16f85_86 PIC16F87xA PIC16hv540 PIC16Lc74b PIC17c4x PIC17c752_756 PIC17c7xx PIC17LC752P16 PIC18c601_80XIC)
مقدمه ای بر رابط CAN 2.0
ماژول CAN در میکروکنترلرهای PIC
پیاده سازی نرم افزار رابط I2C و مروری کوتاه بر آن
تراشه های KeeLoq با فناوری کد پرش
USB گذرگاه سریال جهانی در میکروکنترلرهای PIC و نرم افزار کار با USB
ماژول های X-bit ADC در میکروکنترلرهای PIC
توصیه هایی برای کار با ADC در میکروکنترلرهای PIC
و همچنین نرم افزاری برای برنامه نویسی میکروکنترلرهای PIC IC-Prog و PonyProg2000 که در کتاب ها توضیح داده شده است.

توسعه دهندگان به طور متفاوتی به مسائل اشکال زدایی برخورد می کنند. برخی معتقدند که کافی است کد منبع برنامه را با دقت تجزیه و تحلیل کنید، شکل گیری سیگنال ها را در پین های MK بررسی کنید و تمام خطاها را می توان اصلاح کرد. برخی دیگر از مجموعه‌ای از زیربرنامه‌های ویژه استفاده می‌کنند که در نقاط کنترل فراخوانی می‌شوند و اطلاعاتی در مورد وضعیت منابع MK به روشی خاص ارائه می‌کنند (مثلاً از طریق خروجی به یک نشانگر یا کانال ارتباطی سریال). به هر حال، فناوری ICD (In-Circuit Debugger) که در برخی MK های موتورولا و میکروچیپ پیاده سازی شده است، بر این اساس است. اما با هر یک از روش های اشکال زدایی بالا، یک مشکل مهم ایجاد می شود - نیاز به برنامه ریزی مجدد MK پس از ایجاد تغییرات حتی جزئی در برنامه. این مشکل مخصوصاً برای میکروکنترلرهایی که یکبار برنامه ریزی می شوند مهم است. درست است، در مورد دوم، اشکال زدایی را می توان مثلاً روی MK با حافظه FLASH انجام داد، اما هنوز زمان صرف شده برای برنامه نویسی بسیار زیاد است و گاهی اوقات به چند دقیقه می رسد. علاوه بر این، MK، به عنوان یک قاعده، باید از مدار در حال رفع اشکال حذف شود، به برنامه نویس متصل شود و سپس دوباره وارد شود. کسانی که با برنامه نویسی رایانه شخصی سروکار داشته اند به خصوص تفاوت را احساس می کنند. به عنوان مثال، هنگام برنامه نویسی در محیط Borland C++ 3.1 (BC++)، برای راه اندازی برنامه در حال اشکال زدایی، کافیست کلیدهای ترکیبی Ctrl+F9 را فشار دهید و پس از چند ثانیه از قبل کار می کند (البته اگر دارای خطا باشد) . من می خواهم نتیجه مشابهی را هنگام نوشتن برنامه های کنترل MK دریافت کنم. و این به لطف استفاده از VSE امکان پذیر است که یک ابزار نرم افزاری و سخت افزاری است که می تواند جایگزین میکروکنترلر شبیه سازی شده در یک دستگاه واقعی شود که توسط یک کابل با سر شبیه سازی مخصوص به آن متصل می شود. استفاده از چنین شبیه ساز هیچ تفاوتی با استفاده از یک MK واقعی ندارد، به جز اینکه برنامه اصلاح شده تقریباً بلافاصله در VSE بارگذاری می شود.

سخنرانی 1 - مقدماتی

ریزتراشه به لطف خط گسترده میکروکنترلرهای ارزان قیمت 8 بیتی که کاربرد گسترده ای در دستگاه های مختلف ترموستات، دستگاه های اتوماسیون کوچک، سنسورها و غیره پیدا کرده اند، مدت هاست برای مهندسان الکترونیک داخلی شناخته شده است. Microchip برای عقب نماندن از رقبای اصلی خود، میکروکنترلرهای 32 بیتی جدید خود از خانواده PIC32 را در سال 2007 به دنیای الکترونیک معرفی کرد.

خط PIC32MX دارای تعداد زیادی دستگاه از PIC32MX1** تا PIC32MX7** با مقادیر متفاوت حافظه (از 16 کیلوبایت فلش و 4096 بایت رم تا 512 کیلوبایت فلش و 131 کیلوبایت رم)، قابلیت‌های جانبی و طراحی بسته‌ها است. به طور کلی، تقریباً برای هر برنامه ای مدل هایی وجود دارد.

نسخه کامل سخنرانی با شرح یک اتصال معمولی MK و نمونه ای از برنامه نویسی آن را می توانید در اینجا بیابید:

سخنرانی 2 - میکروکنترلرهای خانواده PIC32. کار با تایمر

آنها با کمک تایمرها شمارش زمان را اجرا می کنند، وقفه ها را سازماندهی می کنند، سیگنال هایی با مدولاسیون عرض پالس تولید می کنند و غیره. دو نوع تایمر در کنترلرهای PIC-32 وجود دارد - تایمر A (در واقع به نظر می رسد یکی - TMR1) و تایمر نوع B (TMR2، TMR3، TMR4، TMR5). همه تایمرها 16 بیتی هستند و از منبع خارجی یا داخلی کلاک می شوند و باعث وقفه می شوند.

سخنرانی 3 - میکروکنترلرهای PIC32 - وقفه ها.این هر رویداد خارجی یا داخلی است که کنترل کننده را ملزم به پاسخ فوری به آن می کند. در این حالت، اجرای کد برنامه فعلی به طور موقت تکمیل می شود، MK مقادیر ثبت سرویس ها را ذخیره می کند و وارد کنترل کننده وقفه می شود، سپس این وقفه را پردازش می کند و پس از خروج از آن، رجیسترهای سرویس را بازیابی می کند و دوباره به مکانی که کد در آن اجرا می شود.

MCU های ریزتراشه سری PIC16 قادر به انجام دستورات ساده حسابی با عملوندهای 8 بیتی هستند، زیرا هسته آنها خود 8 بیتی است. اما برخی از پروژه ها به منابع محاسباتی بسیار بیشتری نیاز دارند، بنابراین در چنین لحظاتی استفاده از یک کتابخانه ویژه عملیات حسابی مفید خواهد بود. کتابخانه ارائه شده در پیوند بالا به شما امکان می دهد ضرب، تقسیم، تفریق و جمع اعداد 16 بیتی را انجام دهید، می توانید اعداد را به اشکال مختلف تبدیل کنید، برابری را بررسی کنید، یک عدد را مربع کنید و یک سری چیزهای کوچک مفید فنی دیگر.



همچنین بخوانید: