1. برنامه نویس PIC

امیدوارم مقاله من به برخی از آماتورهای رادیویی کمک کند تا از آستانه فناوری دیجیتال به میکروکنترلرها عبور کنند. برنامه نویسان زیادی در اینترنت و مجلات رادیویی آماتور وجود دارد: از ساده ترین تا بسیار پیچیده. مال من خیلی پیچیده نیست، اما قابل اعتماد است.

اولین نسخه برنامه نویس برای برنامه نویسی کنترلرهای PIC 18 و 28 "پین" طراحی شده است. برنامه نویس بر اساس نموداری از مجله رادیو شماره 10 برای سال 2007 است. اما انتخاب خازن C7، آزمایش با نسخه های مختلف ICprog، PonyProg، WinPic و سرعت خواندن-نوشتن نتیجه مطلوب را به همراه نداشت: برنامه نویسی موفق هر بار به دست آمد. و این تا زمانی ادامه یافت که منبع تغذیه + 5 ولت ریز مدار قابل برنامه ریزی به طور جداگانه ساخته شد و نه بعد از تثبیت کننده 12 ولت. معلوم شد چنین طرحی.

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

با گذشت زمان یک سیم کشی به طول حدود 1 متر ساختم. اکنون برنامه نویس در کنار مانیتور قرار گرفته و به پورت COM متصل است. خوب کار می کند: میکروکنترلرهای PIC16F84A، PIC16F628A، PIC16F873A بارها برنامه ریزی شده اند.

لطفا توجه داشته باشید: تراشه Max و LED ها در کنار هادی های چاپ شده نصب شده اند. سوکت - ZIF-28، یکی از آنها برای PIC 18 پین استفاده می شود. پانل ها با پایه های اول و اعداد "18" و "28" برچسب گذاری شده اند. یک ترانسفورماتور 220 ولتی 15 ولتی 4 وات در محفظه دوشاخه آداپتور نصب شده است. پس از نصب میکروکنترلر در سوکت، باید به پریز وصل شوید. ترانزیستورهای NPNفرکانس بالا کم مصرف (300 مگاهرتز) در بسته to-92.

من به طور موقت کانکتور XP را نصب نکردم و بعد معلوم شد که به آن نیاز خاصی نیست. من مجبور شدم MK لحیم شده را به نحوی برنامه ریزی کنم، بنابراین سیم ها را مستقیماً در ZIF قرار دادم و آن را تعمیر کردم. برنامه ریزی مجدد با موفقیت انجام شد.

من با برنامه های ICprog و WinPic-800 کار می کنم.

در IC-prog 1.05D تنظیمات زیربرنامه نویس:

  • برنامه نویس – برنامه نویس JDM
  • پورت -Com1
  • دسترسی مستقیم به پورت ها
  • Invert: ورودی، خروجی و ساعت (تیک).

در WinPic-800 –v.3.64f، همه چیز یکسان است، اما همچنان باید «پرنده» را برای استفاده از MCLR تنظیم کنید.

در اینترنت می توانید به صورت رایگان و رایگان این برنامه ها را دانلود کنید. اما برای آسان تر کردن زندگی، سعی می کنم همه چیز لازم را به آن اضافه کنم. من فقط به یاد آوردم: من خودم چقدر "چیزهای بی فایده" را از اینترنت بارگیری کردم و چقدر زمان صرف از بین بردن همه اینها کردم.

  • برنامه نویس PCB
  • برنامه WinPic-800 ( )
  • برنامه IC-Prog()
  • مقاله ای در مورد IC-Prog.

2. PROGRAMER-2 برای کنترل کننده های PIC

با گذشت زمان، برنامه ریزی 14 و 40 پیک "پین" ضروری شد. تصمیم گرفتم برای کل خانواده متوسط ​​PIC ها یک برنامه نویس بسازم. طرح یکسان است، فقط دو پانل اضافه شد. همه اینها در یک کیس از یک مولتی متر سابق قرار داده شده است.

در 13 فوریه 2014، اصلاحی در برد مدار چاپی انجام شد: از پین 5 کانکتور RS232، مسیر به منهای توان (و در مورد قبلی، به پایه ششم ریزمدار MAX) می رود. امضای جدید در "programer2-2".

شما می توانید یک KREN-ku ذخیره کنید. آن ها کل مدار را از یک تثبیت کننده 5 ولت وصل کنید. VR3 و C9 را نصب نکنید، بلکه یک جامپر قرار دهید (که با یک خط نقطه در نمودار مشخص شده است). اما من هنوز کرنکا را ننوشیده ام. برنامه ریزی مکرر PIC16F676، 628A، 84A و 873A. اما هنوز 877 را امتحان نکردم.

برخی از خازن ها در کنار هادی های چاپ شده نصب می شوند. رول ها در موقعیت افقی قرار دارند. برای اینکه هادی ها را نگذاریم، C7 - 2pcs و R12 - 3pcs را نصب کردم.

بسیار مهم: محفظه کانکتور RS232 باید به منبع تغذیه منهای وصل شود.

منبع تغذیه (15 ولت) و برنامه ها مانند نسخه اول است.

فهرست عناصر رادیویی

تعیین نوعی از فرقه تعداد توجه داشته باشیدنمرهدفترچه یادداشت من
طرح 1
DD1 آی سی رابط RS-232

MAX232E

1 MAX232CPE به دفترچه یادداشت
VT1-VT4 ترانزیستور دوقطبی

2N3904

4 TO-92 به دفترچه یادداشت
VDS1 پل دیودی

DB157

1 به دفترچه یادداشت
VD1 دیود یکسو کننده

1N4148

1 به دفترچه یادداشت
VR1، VR3 تنظیم کننده خطی

L7805AB

1 به دفترچه یادداشت
VR2 تنظیم کننده خطی

KA78R12C

1 به دفترچه یادداشت
C1 470uF 35V1 به دفترچه یادداشت
C2، C3، C5، C6 خازن الکترولیتی10uF 50V4 به دفترچه یادداشت
C4، C8 خازن الکترولیتی470uF 16V2 به دفترچه یادداشت
C7 خازن الکترولیتی1uF 25V1 به دفترچه یادداشت
C11 خازن0.1 mF1 به دفترچه یادداشت
R1، R7 مقاومت

10 کیلو اهم

2 به دفترچه یادداشت
R2 مقاومت

470 اهم

1 به دفترچه یادداشت
R3، R5، R11 مقاومت

4.7 کیلو اهم

3 به دفترچه یادداشت
R4، R10 مقاومت

2 کیلو اهم

2 به دفترچه یادداشت
R6، R8، R9 مقاومت

1 کیلو اهم

3 به دفترچه یادداشت
R12 مقاومت

240 اهم

1 به دفترچه یادداشت
HL1 دیود ساطع نور 1 قرمز به دفترچه یادداشت
HL2 دیود ساطع نور 1 سبز به دفترچه یادداشت
طرح 2
DD1 آی سی رابط RS-232

MAX232E

1 MAX232CPE به دفترچه یادداشت
VT1-VT4 ترانزیستور دوقطبی

2N3904

4 TO-92 به دفترچه یادداشت
VDS1 پل دیودی

DB157

1 به دفترچه یادداشت
VD1 دیود یکسو کننده

1N4148

1 به دفترچه یادداشت
VR1، VR3 تنظیم کننده خطی

L7805AB

2 به دفترچه یادداشت
VR2 تنظیم کننده خطی

KA78R12C

1 به دفترچه یادداشت
C1، C2، C4، C5 خازن10uF 50V4 به دفترچه یادداشت
C3 خازن الکترولیتی470uF 35V1 به دفترچه یادداشت
C6، C9 خازن الکترولیتی470uF 16V2 به دفترچه یادداشت
C7.1-C7.3 خازن0.1uF3

یک بار تصمیم گرفتم یک LC متر ساده روی pic16f628a مونتاژ کنم و البته باید با چیزی فلش می شد. من قبلا یک کامپیوتر با پورت com فیزیکی داشتم، اما الان فقط usb و یک برد pci-lpt-2com در اختیار دارم. برای شروع، من یک برنامه نویس ساده JDM را مونتاژ کردم، اما همانطور که معلوم شد، نمی خواست با برد pci-lpt-com یا آداپتور usb-com (ولتاژ پایین سیگنال های RS-232) کار کند. سپس من عجله کردم تا به دنبال برنامه نویس های usb pic بگردم، اما آنجا، همانطور که معلوم شد، همه چیز به استفاده از pic18f2550 / 4550 گران قیمت محدود شد، که طبیعتاً آن را نداشتم، و حیف است که از MK های گران قیمت استفاده کنم، اگر به ندرت انجام می دهم. چیزی در اوج است (من Avrs را ترجیح می دهم، فلش کردن آنها مشکلی نیست، آنها بسیار ارزان تر هستند و به نظر من نوشتن برنامه روی آنها راحت تر است). یکی از نویسندگان پس از جستجوی طولانی مدت در اینترنت در یکی از مقالات متعدد در مورد برنامه نویس EXTRA-PIC و گزینه های مختلف آن، نوشت که extrapic با هر پورت com و حتی یک آداپتور usb-com کار می کند.

طرح این برنامه نویس از مبدل سطح منطقی max232 استفاده می کند.

فکر کردم در صورت استفاده آداپتور usb، اگر بتوانید سیگنال های TTL پورت RS232 را از تراشه مبدل usb-usart بگیرید، بسیار احمقانه است که دو بار سطوح USB را به usart TTL، TTL به RS232، RS232 را به TTL تبدیل کنید.

و همینطور هم کرد. تراشه CH340G (که هر 8 سیگنال com-port را دارد) گرفتم و به جای max232 وصل کردم. و همین شد.

در مدار من یک جامپر jp1 وجود دارد که در اوج اضافی نیست، من آن را قرار دادم زیرا نمی دانستم خروجی TX در سطح TTL چگونه رفتار می کند، بنابراین امکان معکوس کردن آن بر روی عنصر NAND آزاد باقی مانده را فراهم کردم. و از دست ندهید، همانطور که مشخص شد، مستقیماً پین TX یک پایه منطقی است و بنابراین هنگام روشن شدن 12 ولت روی پین VPP وجود دارد و در طول برنامه نویسی هیچ اتفاقی نمی افتد (اگرچه می توانید TX را به صورت برنامه ای معکوس کنید).

پس از مونتاژ برد، نوبت به تست می رسد. و سپس ناامیدی اصلی آمد. برنامه نویس بلافاصله مشخص شد (با برنامه ic-prog) و کسب درآمد کرد اما خیلی کند! اساساً قابل انتظار است. سپس در تنظیمات com پورت تنظیم کردم حداکثر سرعت(128 کیلوباد) شروع به آزمایش همه برنامه های یافت شده برای JDM کرد. در نتیجه، PicPgm سریع‌ترین بود. pic16f628a من کاملاً فلش شد (hex، eeprom و config) به علاوه تأیید در حدود 4-6 دقیقه (به علاوه، خواندن کندتر از نوشتن است). IcProg نیز کار می کند، اما کندتر. هیچ خطای برنامه نویسی وجود نداشت. من همچنین سعی کردم eeprom 24c08 را فلش کنم، نتیجه یکسان است - همه چیز در حال دوختن است، اما بسیار کند.

نتیجه گیری: برنامه نویس بسیار ساده است، قطعات گران قیمتی ندارد (CH340 - 0.3-0.5 دلار، k1533la3 به طور کلی در میان آشغال های رادیویی یافت می شود)، روی هر رایانه، لپ تاپ کار می کند (و حتی می توانید از تبلت های ویندوز 8/10 استفاده کنید). معایب: سرعت آن بسیار کند است. او نیز نیاز دارد قدرت خارجیبرای سیگنال VPP در نتیجه، به نظرم رسید که برای اوج چشمک زدن نادر، این یک گزینه آسان برای تکرار و ارزان برای کسانی است که یک کامپیوتر قدیمی با پورت های لازم در دسترس ندارند.

در اینجا یک عکس از دستگاه تمام شده است:

همانطور که آهنگ می گوید: "من او را از آنچه بود کور کردم." مجموعه ای از قطعات متنوع ترین است: هر دو smd و DIP.

برای کسانی که جرات تکرار این طرح را دارند، تقریباً هر یک (ft232، pl2303، cp2101 و غیره) به عنوان مبدل usb-uart مناسب است، به جای k1533la3، k555 مناسب است، به نظر من حتی سری k155 یا آنالوگ خارجی 74als00 احتمالاً حتی با عناصر NOT منطقی مانند k1533ln1 نیز کار خواهد کرد. من برد مدار چاپی خود را می‌بندم، اما سیم‌کشی عناصر موجود در آنجا، همه می‌توانند برای خودشان دوباره ترسیم کنند.

فهرست عناصر رادیویی

تعیین نوعی از فرقه تعداد توجه داشته باشیدنمرهدفترچه یادداشت من
IC1 تراشهCH340G1 به دفترچه یادداشت
IC2 تراشهK1533LA31 به دفترچه یادداشت
VR1 تنظیم کننده خطی

LM7812

1 به دفترچه یادداشت
VR2 تنظیم کننده خطی

LM7805

1 به دفترچه یادداشت
VT1 ترانزیستور دوقطبی

KT502E

1 به دفترچه یادداشت
VT2 ترانزیستور دوقطبی

KT3102E

1 به دفترچه یادداشت
VD1-VD3 دیود یکسو کننده

1N4148

2 به دفترچه یادداشت
C1، C2، C5-C7 خازن100 nF5 به دفترچه یادداشت
C3، C4 خازن22 pF2 به دفترچه یادداشت
HL1-HL4 دیود ساطع نورهر4 به دفترچه یادداشت
R1، R3، R4 مقاومت

1 کیلو اهم

3

بنابراین، وقت آن است که میکروکنترلرها را مطالعه کنیم، و سپس آنها را برنامه ریزی کنیم، و همچنین می خواستم دستگاه هایی را روی آنها مونتاژ کنم، که طرح های آنها اکنون در اینترنت است، خوب، فقط دریا. خوب یه مدار پیدا کردیم یه کنترلر خریدیم فریمور رو دانلود کردیم .... و با چی فلش بزنیم؟؟؟ و در اینجا این سوال برای یک آماتور رادیویی که شروع به تسلط بر میکروکنترلرها می کند - انتخاب یک برنامه نویس مطرح می شود! من می خواهم بهترین گزینه را از نظر تطبیق پذیری - سادگی مدار - قابلیت اطمینان پیدا کنم. برنامه نویسان "مارک" و آنالوگ های آنها به دلیل مدار نسبتاً پیچیده ای که شامل همان میکروکنترلرهایی است که باید برنامه ریزی شوند بلافاصله حذف شدند. یعنی یک "دایره باطل" معلوم می شود: برای ساختن یک برنامه نویس، یک برنامه نویس لازم است. بنابراین جستجو و آزمایش شروع شد! در ابتدا، انتخاب بر روی 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 کلیک کنید. ویژگی ها >> برگه سازگاری >> کادر کنار "اجرای این برنامه در حالت سازگاری برای:" را علامت بزنید >> "Windows 2000" را انتخاب کنید.
2. فایل icprog.exe را اجرا کنید. "Settings" >> "Options"> "Language" زبانه را انتخاب کنید >> زبان را روی "روسی" تنظیم کنید و روی "Ok" کلیک کنید.
با عبارت "شما باید IC-Prog را هم اکنون راه اندازی مجدد کنید" موافق باشید (روی "Ok" کلیک کنید). پوسته برنامه نویس دوباره راه اندازی می شود.
تنظیمات" >> "برنامه نویس

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

قبل از اجرای هر مورد از روش تست، فراموش نکنید که تمام "فیلدها" را در موقعیت اصلی خود قرار دهید (همه "تیک ها" بدون علامت هستند)، همانطور که در شکل بالا نشان داده شده است.
1. "تیک" را در قسمت "روشن" تنظیم کنید. داده خروجی»، در همان زمان، یک علامت چک باید در قسمت «ورودی داده» ظاهر شود و سطح گزارش باید روی مخاطب (DATA) کانکتور X2 تنظیم شود. "1" (حداقل +3.0 ولت). اکنون کنتاکت (DATA) و کنتاکت (GND) کانکتور X2 را بین یکدیگر ببندید، در حالی که علامت فیلد «ورودی داده» باید در حالی که مخاطبین بسته هستند ناپدید شوند.
2. هنگام تنظیم "تیک" در فیلد "روشن. Clocking "، روی کنتاکت (CLOCK) کانکتور X2، سطح log باید تنظیم شود. "یک". (نه کمتر از +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 برای کار خود استفاده می کند - این یک مقدار کالیبراسیون هگزادسیمال نوسان ساز داخلی MK است که با آن MK زمان اجرای برنامه های خود را گزارش می دهد که در آخرین سلول داده پیک ثبت می شود. این میکروکنترلر را به پروگرامر وصل می کنیم.
اسکرین شات زیر دنباله ای از اقدامات در برنامه IC-prog را با اعداد قرمز نشان می دهد.


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


3. دکمه "باز کردن فایل ..." را فشار دهید، سیستم عامل ما را انتخاب کنید. در پنجره کد برنامهکد سیستم عامل ظاهر می شود.
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 پیدا می کنیم.
راه اندازیش کنیم در پنجره Browse (4) ما کد منبع (1) .asm خود را پیدا می کنیم، در پنجره (5) Processor میکروکنترلر خود را انتخاب می کنیم، روی Assemble کلیک می کنیم و سیستم عامل شما در همان پوشه ای که کد منبع را مشخص کرده اید ظاهر می شود. آی تی!
امیدوارم این مقاله به مبتدیان در تسلط بر کنترلرهای PIC کمک کند! موفق باشید!

اتفاقاً آشنایی من با میکروکنترلرها با AVR آغاز شد. میکروکنترلرهای PIC در حال حاضر، در حال حاضر - دور زدن. اما، با این حال، آنها همچنین دارای طرح های منحصر به فرد، جالب برای تکرار هستند! اما این میکروکنترلرها هم باید فلش شوند. من این مقاله را عمدتا برای خودم می نویسم. برای اینکه تکنولوژی را فراموش نکنید، چگونه یک میکروکنترلر PIC را بدون مشکل و از دست دادن زمان بی معنی فلش کنید.

نحوه برنامه ریزی میکروکنترلرهای PIC یا برنامه نویس ساده JDM

برای مدار اول - من برای مدت طولانی و سخت تلاش کردم تا یک برنامه نویس PIC با توجه به مدارهای موجود در اینترنت بسازم - هیچ اتفاقی نیفتاد. حیف شد ولی مجبور شدم برای فلش MK به یکی از دوستان مراجعه کنم. اما نکته این نیست - دائماً در اطراف آشنایان بدوید! همان دوست همچنین یک طرح ساده را توصیه کرد که از پورت COM کار می کند. اما حتی وقتی آن را کنار هم گذاشتم، باز هم کار نکرد. از این گذشته ، مونتاژ برنامه نویس کافی نیست - همچنین باید برنامه ای را برای آن تنظیم کنید که ما آن را فلش می کنیم. و این دقیقاً همان چیزی است که من دریافت نکردم. یک ابر کامل دستورالعمل در اینترنت، و تعداد کمی از آنها به من کمک کردند ...

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

بنابراین، یک برنامه نویس برای میکروکنترلرهای PIC. ساده اما نه 5 سیم برای میکروکنترلرهای AVRکه من هنوز هم از آن استفاده می کنم. در اینجا نمودار است:

اینجا تخته مدار چاپی ().

کانکتور COM با پین ها مستقیماً به لنت ها لحیم می شود (نکته اصلی این است که با شماره گذاری اشتباه نگیرید). ردیف دوم پین ها با جامپرهای کوچک به تخته وصل می شود (خیلی نامفهوم گفتم آره). سعی میکنم عکس بدم ... هر چند ترسناکه (در حال حاضر دوربین معمولی ندارم).
شرورترین چیز این است که برای میکروکنترلرهای PIC، 12 ولت برای سیستم عامل مورد نیاز است. و بهتر است نه 12، بلکه کمی بیشتر. فرض کنید 13. یا 13.5 (به هر حال کارشناسان - اگر اشتباه می کنم در نظرات اصلاح کنید. لطفاً.). هنوز هم می توان 12 ولت را در جایی به دست آورد. 13 کجاست؟ من به تازگی از وضعیت خارج شدم - یک باتری لیتیوم پلیمری تازه شارژ شده گرفتم که 12.6 ولت داشت. خوب، یا حتی یک باتری چهار سلولی، با 16 ولت آن (من یک PIC را از این طریق فلش کردم - مشکلی نیست).

اما من دوباره منحرف می شوم. بنابراین - دستورالعمل های میکروکنترلرهای PIC سیستم عامل. ما به دنبال برنامه WinPIC800 هستیم (متاسفانه icprog ساده و محبوب برای من کار نکرد) و آن را همانطور که در تصویر نشان داده شده است پیکربندی می کنیم.

پس از آن فایل فریمور را باز کرده و میکروکنترلر را وصل کرده و فلش کنید.

برنامه نویس پیشنهادی بر اساس یک نشریه از مجله رادیویی شماره 2، 2004، "برنامه نویسی مدرن PIC16، PIC12 در PonyProg" است. این اولین برنامه نویس من است که از آن برای فلش تراشه های PIC در خانه استفاده کردم. برنامه نویس نسخه ساده شده برنامه نویس JDM است، مدار اصلی دارای مبدل RS-232 به TTL به شکل تراشه MAX232 است، همه کاره تر است، اما نمی توانید آن را "روی زانو" مونتاژ کنید. این طرح هیچ جزء فعال، فاقد قطعات کمیاب است و بسیار ساده است، بدون استفاده از برد مدار چاپی قابل مونتاژ است.

برنج. یکی: مداربرنامه نویس

شرح طرح
طرح برنامه نویس در شکل نشان داده شده است. 1. مقاومت ها در مدارهای CLK (کلاکینگ)، DATA (اطلاعات)، Upp (ولتاژ برنامه ریزی) برای محدود کردن جریان جریان کار می کنند. کنترل کننده های PICتوسط دیودهای زنر داخلی از خرابی محافظت می شوند، بنابراین تا حدی سازگاری منطق TTL و RS-232 به دست می آید. در مدار ارائه شده، دیودهای VD1، VD2 وجود دارد که ولتاژ مثبت را از پورت COMنسبت به پین ​​5 و انتقال آن به منبع تغذیه کنترلر، به همین دلیل در برخی موارد می توان از شر منبع تغذیه اضافی خلاص شد.

استقرار
در عمل همیشه این اتفاق نمی افتد که این برنامه نویس از بار اول بدون تنظیم کار کند، زیرا. عملکرد این طرح به شدت به پارامترهای پورت COM وابسته است. با این حال، من، در دو مادر بردهای گیگابایت 8IPE1000 و WinFast تحت XP همه چیز بلافاصله کار کرد. اگر برای مقابله با یک مدار برنامه نویس غیرکاربردی و پیچیده تر تنبل هستید، باید سعی کنید این مدار را مونتاژ کنید. در اینجا مواردی وجود دارد که ممکن است تأثیر بگذارد:

تشک جدیدتر board، توسعه دهندگان کمتر به این پورت ها توجه می کنند، زیرا این پورت ها مدت هاست که منسوخ شده اند. شما می توانید با خرید یک آداپتور USB-COM از شر آن خلاص شوید، اگرچه ممکن است دوباره دستگاه خریداری شده مناسب نباشد. پارامترهای مورد نیاز عبارتند از: ولتاژ متغیرباید حداقل -10 ولت به +10 ولت (log. 0 و 1) نسبت به پایه پنجم کانکتور تغییر کند. جریان خروجی باید حداقل به گونه ای باشد که وقتی یک مقاومت 2.7 کیلو اهم بین پایه 5 و پایه مورد آزمایش وصل می شود، ولتاژ کمتر از 10 ولت نباشد (من خودم چنین بردهایی را ندیده ام). همچنین، پورت باید ولتاژهای وارد شده از کنترلر را به درستی تعیین کند، در سطح ولتاژ نزدیک به 0 ولت، اما نه بیشتر از 2 ولت، صفر تشخیص داده می شود، و بر این اساس، در بالای 2 ولت، یک تشخیص داده می شود.

همچنین ممکن است مشکلاتی از نرم افزار ایجاد شود.
این به ویژه برای سیستم عامل LINUX صادق است، زیرا به دلیل وجود شبیه سازهایی مانند wine، پورت های VirtualBox ممکن است به درستی کار نکنند و ویژگی های زیادی از آنها لازم باشد. در مقاله ای دیگر به این موضوعات با جزئیات بیشتری اشاره خواهم کرد.

با دانستن این ویژگی ها، شروع به ساخت می کنیم.
برای این کار داشتن برنامه ICProg 1.05D بسیار مطلوب است.
در منوی برنامه ابتدا باید در تنظیمات resp را انتخاب کنید. پورت (COM1. COM2)، برنامه نویس JDM را انتخاب کنید. سپس پنجره "بررسی سخت افزار" را در منوی "تنظیمات" باز کنید. در این منو باید جعبه ها را به نوبه خود بررسی کنید و ولتاژ را در کنتاکت های کانکتور متصل با ولت متر اندازه گیری کنید. اگر پارامترهای ولتاژ با هنجار مطابقت نداشته باشد، متأسفانه، این ممکن است دلیل عدم عملکرد باشد، پس باید مداری را با مبدل RS-232 TTL جمع آوری کنید. پس از بررسی تمام چک باکس ها، باید مطمئن شوید که ولتاژ تغذیه حدود 5 ولت روی دیود زنر تشکیل شده است. اگر ولتاژها نرمال هستند و هیچ خطای نصب وجود ندارد، پس همه چیز باید کار کند. ما کنترلر را در سوکت قرار می دهیم، سیستم عامل را باز می کنیم، آن را برنامه ریزی می کنیم. چک باکس هایی مانند "Invert data out" نیازی به فعال کردن ندارند (چک همه آنها بدون علامت هستند). همچنین فراموش نکنید که برخی از دسته های کنترلر ممکن است پارامترهای کاملاً استانداردی نداشته باشند و نمی توان آنها را فلش کرد، در چنین مواردی با این برنامه نویس فقط می توانید با اتصال ولتاژ مربوطه سعی کنید ولتاژ تغذیه را از 5 ولت به 3-4 ولت کاهش دهید. دیود زنر، برای فعال سازی اشتباه حالت LVP (برنامه نویسی ولتاژ پایین) به کنترلر نگاه کنید، نحوه جلوگیری از آن، می توانید برای نوع خاصی از کنترلر در اینترنت بخوانید. شما احتمالا می توانید ولتاژ برنامه ریزی یک کنترل کننده مشکل را تنها با پیچیده کردن مدار با معرفی یک مرحله تقویت کننده با یک امیتر مشترک، که از منبع تغذیه اضافی تغذیه می شود، افزایش دهید.

حالا بیشتر در مورد مشکل منبع تغذیه دستگاه. برنامه نویس با برنامه های ICProg و کنسول picprog تحت لینوکس آزمایش شده است، اگر منبع تغذیه اضافی را وصل کنید باید با هر کسی که از JDM پشتیبانی می کند کار کند (از طریق یک مقاومت 1kΩ به دیود زنر متصل می شود، دیودهای دارای مقاومت در این مورد می توانند کاملاً باشند. مستثنی شده است). واقعیت این است که الگوریتم های کنترل برنامه نویس برای نرم افزارهای فردی متفاوت است، برنامه ICProg بی تکلف ترین است. مشاهده شد که در سیستم عامل ویندوز این برنامه بر روی یک مخاطب استفاده نشده 2 افزایش یافته است ولتاژ مناسبمنبع تغذیه، همان برنامه تحت شبیه ساز در لینوکس روی یک تشت دیگر. برد دیگر قادر به انجام این کار نبود، با این حال، با گرفتن برق از ولتاژ برنامه ریزی، راهی پیدا شد. در کل با ICProg فکر کنم بدون برق اضافه بتونی از این پروگرامر استفاده کنی. با نرم افزارهای دیگر، بعید است که تضمین شود، به عنوان مثال، "بومی" از مخازن اوبونتو picprog بدون برق به سادگی برنامه نویس را شناسایی نمی کند و پیام "سخت افزار JDM پیدا نشد". احتمالاً یا مقداری داده را بدون اعمال ولتاژ برنامه‌نویسی دریافت می‌کند، یا این کار را خیلی سریع انجام می‌دهد، به طوری که خازن فیلتر هنوز وقت شارژ کردن نداشته است.