Меню English Ukrainian російська Головна

Безкоштовна технічна бібліотека для любителів та професіоналів Безкоштовна технічна бібліотека


Програмування сучасних PIC16, PIC12 на PonyProg. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / Мікроконтролери

Коментарі до статті Коментарі до статті

Як відомо, програматор PonyProg призначений для програмування обмеженого числа типів мікроконтролерів PIC micro фірми Microchip (PIC12C50x PIC16F8x, PIC16F87x). Однак з його допомогою можна запрограмувати й інші, у тому числі нові мікроконтролери серій PIC12, PIC16. Про те, як це зробити, розповідається у статті.

Багато радіоаматорів будують свої конструкції на базі популярного PIC-контролера PIC16F84 (PIC16F84A). Однак час не стоїть на місці, і номенклатура мікроконтролерів, що випускаються (МК) PICmicro постійно розширюється. З'явилися нові, досконаліші МК серій PIC16F і PIC12F (наприклад, PIC12F629, PIC12F675, PIC16F628, PIC16F630, PIC16F676). Вони містять компаратор, здатний працювати з вхідною напругою, близькою до нуля, що при однополярному харчуванні дуже привабливо. Включений до їх складу 10-бітний АЦП має точність не гірше, ніж спеціалізовані мікросхеми, що поряд з великими можливостями з обробки та відображення інформації дозволяє створювати унікальні пристрої з мінімальним числом зовнішніх елементів. Нові МК мають пам'ять більшого обсягу, додаткові таймери, універсальний порт зв'язку та інші удосконалення. При цьому їх вартість значно нижча, ніж PIC16F84, а FLASH PIC16F630 дешевше за PIC16C505 (обидва в 14-вивідних корпусах). Організація пам'яті PIC12Fx така сама, як у PIC16F84 (одна сторінка), що дозволяє легко адаптувати програми, що не вимагають застосування МК у багатовивідних корпусах.

Якщо ви наважилися використовувати у своїх конструкціях нові МК, то перш ніж їх вивчати та писати програми, подумайте, на чому їх програмувати. Придбання фірмового програматора за його вартості, порівнянної із вартістю системного блоку комп'ютера, для радіоаматорів майже неможливо. Однак багато хто з них зібрав програматор PONYPROG [1]. Розберемося, як можна використовувати його для програмування нових МК.

Усі МК програмують по трипровідній шині. Для програмування необхідні сигнали Upp (переведення в режим програмування), CLK (синхронізація) та DAT (дані).

Любителі, які мають програматора, можуть скористатися найпростішим пристроєм, зібраним за схемою на рис. 1. Його підключають до СОМ порту ПК, для живлення МК використовують окреме джерело з вихідною напругою 5 Ст.

Програмування сучасних PIC16, PIC12 на PonyProg
(Натисніть для збільшення)

У "Налаштуванні обладнання" вказують тип програматора - JDM API. Висновки підключають відповідно до таблиці. Програмування можна зробити у готовому пристрої, використовуючи його джерело живлення (необхідно лише усунути шунтування висновків програмування МК елементами вироби). Напруга живлення при програмуванні має бути в межах 4,5...5,5 (при необхідності підбирають стабілітрон VD1).

З таблиці видно, що призначення використовуваних під час програмування висновків PIC16F84 і PIC16F628 однаково, тому їх можна програмувати в одній розетці програматора. Для інших мікросхем доведеться встановити додаткові розетки, підключені до адаптера відповідно до таблиці. Докладнішу інформацію про PIC-контролерів можна знайти на сайті [2].

Подальші пояснення наведено на прикладі PIC16F628, оскільки він не вимагає апаратного доопрацювання програматора PonyProg і більше інших доступний у магазинах.

Як зазначалося, всі МК PICmicro програмуються за трьома проводами (точніше з двох). Протокол (команди) програмування також однаковий.

Пам'ять програм починається з адреси 0000, а закінчується залежно від обсягу в конкретному типі мікросхеми. Це означає, що вибравши зі списку PonyProg відповідний за цим параметром МК, можна записати потрібну програму. У нашому випадку підходить PIC16F871. Слід враховувати, що у нижньому рядку вікна PonyProg вказаний обсяг пам'яті в байтах, а технічних характеристиках МК зазвичай наводиться кількість слів (14 біт). Іншими словами, програматор показує більший обсяг. У PIC16F871 та PIC16F628 обсяг пам'яті – 2048 слів. Додатково це можна перевірити у файлі .Ikr відповідного МК (перебуває у папці установки MPLAB), прочитавши його з допомогою стандартної програми " Блокнот " . Адреса пам'яті програм зазначена так:

CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED (переноси умовні) CODEPAGE NAME=page START=0x5 END=0x7FF(перенос умовний)

Програмування сучасних PIC16, PIC12 на PonyProg

На цьому етапі вже можна спробувати записати інформацію на згадку про програми. Для цього підійде будь-який файл НЕХ розміром не більше 2048 слів. Запустивши програму обслуговування, приєднайте пристрій до порту комп'ютера, вставте МК у відповідну розетку, а потім увімкніть живлення програматора. Виберіть у меню PIC16F871, завантажте вибраний НЕХ-файл та натисніть кнопку "Записати пам'ять програм (FLASH)". З'явиться повідомлення про помилку, що сповіщає про проблеми з МК і містить три кнопки (рис. 2): Abort (перервати), Retry (повторити), Ignore (ігнорувати). Натисніть останню ("Ignore"), і розпочнеться процес програмування. Після його завершення з'явиться повідомлення про успішний запис. Якщо програматор видав "Помилка запису", перевірте вміст пам'яті програм, вважаючи його за відповідну команду. Наявність помилок свідчить про те, що, можливо, програматор працює занадто швидко (таке трапляється, якщо на комп'ютері встановлена ​​ОС WINDOWS ХР; з WINDOWS 98 програма працює повільніше і пише надійніше). Причиною можуть бути також перешкоди (при надто довгих з'єднувальних проводах), а в окремих випадках - і антивірусні та інші фонові програми. Якщо запис відсутній повністю, то несправна апаратна частина програматора або неправильно налаштована програма (в меню).

Наступний найважливіший етап - запис слова конфігурації. Його адресу також можна переглянути у файлі .Ikr відповідного МК. Рядок у файлі виглядає так:

CODEPAGE NAME=.config START=0x2007 END=0x2007 PROTECTED (переноси умовні).

Слово конфігурації знаходиться за адресою 0x2007. У нашому випадку PIC16F871 і PIC16F628 мають адреси 2007, тобто підходять для заміни (слід зазначити, що слово конфігурації у всіх PIC16 і PIC12F розташоване саме за цією адресою). Встановлювати біти конфігурації безпосередньо в програматорі небажано, тому що їх позначення на панелі програматора для PIC16F628 та PIC16F871 різне і можливі помилки, а деякі біти затінені і не можуть бути встановлені безпосередньо. Записати конфігурацію МК краще при складанні програми. Для MPLAB ці рядки можуть виглядати приблизно так:

in lude p16f628.inc> list p=16f628 _config H'0242"

Значення '0242' складається відповідно до призначення кожного біта у слові конфігурації та у вашому конкретному випадку може бути іншим. Детальний опис всіх бітів можна знайти на сайті [2].

Скорочені позначення біт конфігурації містяться у файлі .INC відповідного МК у папці установки MPLAB. Зразковий вигляд:

BODEN ON EQU H'3FFF'

BODEN OFF EQU H'3FBF'

CP ALL EQU H'03FF'

CP 75 EQU H'17FF'

CP 50 EQU H'2BFF'

CP OFF EQU H'3FFF'

DATA CP ON EQU H'3EFF'

DATA CP OFF EQU H'3FFF'

PWRTE OFF EQU H'3FFF'

PWRTE ON EQU H'3FF7'

WDT ON EQU H'3FFF'

WDT OFF EQU H'3FFB'

LVP ON EQU H'3FFF'

LVP OFF EQU H'3F7F'

MCLRE ON EQU H'3FFF'

MCLRE OFF EQU H'3FDF'

ER OSC CLKOUT EQU H'3FFF'

ER OSC NOCLKOUT EQU H'3FFE'

INTRC OSC CLKOUT EQU H'3FFD'

INTRC OSC NOCLKOUT EQU H'3FFC

EXTCLK OSC EQU H'3FEF'

LP OSC EQU H'3FEC

XT OSC EQU H'3FED'

HS OSC EQU H'3FEE'

З використанням цих позначень рядок запису може виглядати так:

__config CP_ALL & WDT OFF & BODEN ON & _PWRTE_ON & _HSJ3SC &_LVP OFF ; (переноси умовні).

Таким чином ви зможете написати слово конфігурації для будь-якого МК, використовуючи його .INC. Це зручно при адаптації готової програми, наприклад, у разі заміни PIC16F627 дешевшим PIC16F627A. При включенні конфігурації до тексту програми вона увійде в НЕХ-файл, встановляться і затінені біти. Після того як ви ввели в програматор слово конфігурації, вважаючи НЕХ-файл програми, що містить його, запис виконується звичайним чином, введенням відповідної команди. Аналогічно його можна вважати з МК. Переконайтеся, що конфігурація записана, можна або очистивши після запису панель програмування конфігурації програматора, а потім рахувавши конфігурацію з МК, або вважаючи пам'ять програм із захищеної від зчитування мікросхеми: до запису конфігурації вона читається, а після запису - ні (якщо встановлений захист), у своїй конфігурація читається й у захищеної мікросхемі.

Встановлювати біти захисту без особливої ​​потреби не рекомендується. Справа в тому, що деякі МК мають різні команди стирання, і ви не зможете їх перепрограмувати, тому що на PonyProg біти захисту не зітруться. Однак при записі в незахищену мікросхему поверх наявної в ній "прошивки" код, що записується, зітре попередню інформацію і необхідності в стиранні не виникне. Втім, це не стосується PIC16F627, PIC16F628, інформацію в них можна захищати без побоювань.

Запис даних в EEPROM проводиться звичайним способом, оскільки дані в МК PIC16F та PIC12F розміщуються з адреси 2100п. Подивитися це можна також у файлі .Ikr. Зразковий вигляд рядка:

CODEPAGE NAME=eedata START=0x2100 END=0x217F PROTECTED (переноси умовні).

Різне у PIC-контролерів - лише закінчення області даних (через різного об'єму): у PIC16F628 - 128, у PIC16F871 - 64 байт, але якщо необхідний для роботи об'єм не перевищує обсягу EEPROM обраної мікросхеми підміни (у PIC16F871 - 64 байт) , можна програмувати, не перемикаючи типу МК в меню: надмірна пам'ять PIC16F628 просто не буде використана. Якщо необхідно записати більший обсяг, то слід в меню програматора замінити тип МК, що має аналогічний з PIC16F628 обсяг пам'яті (у нашому випадку - це PIC16F874 з EEPROM 128 байт) і зробити запис звичайним способом. Замінювати тип МК у меню можна будь-якому етапі програмування.

Слід зазначити, що хоча PIC16F874 має пам'ять програм вдвічі більший, ніж PIC16F628, записати інформацію в неї можна, встановивши в меню PIC16F874 і навіть PIC16F877 (16К), проте при перевірці запису програматор видасть повідомлення про помилку. Річ у тім, що з зчитуванні нереалізованої у PIC16F628 частини пам'яті МК видасть інформацію, записану у нижніх адресах (старші біти адреси ігноруються), т. е. пам'ять програм буде двічі (у PIC16F877 - чотири рази). Інакше кажучи, це помилка у програмі, а повторне зчитування пам'яті, програма записується нормально.

література

  1. Долгий А. Розробка та налагодження пристроїв на МК. – Радіо, 2001, № 6, с. 24-26: №7, с. 19-21.

Автор: А.Сізов, м.Іванове

Дивіться інші статті розділу Мікроконтролери.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Новий спосіб управління та маніпулювання оптичними сигналами 05.05.2024

Сучасний світ науки та технологій стрімко розвивається, і з кожним днем ​​з'являються нові методи та технології, які відкривають перед нами нові перспективи у різних галузях. Однією з таких інновацій є розробка німецькими вченими нового способу керування оптичними сигналами, що може призвести до значного прогресу фотоніки. Нещодавні дослідження дозволили німецьким ученим створити регульовану хвильову пластину всередині хвилеводу із плавленого кремнезему. Цей метод, заснований на використанні рідкокристалічного шару, дозволяє ефективно змінювати поляризацію світла через хвилевід. Цей технологічний прорив відкриває нові перспективи розробки компактних і ефективних фотонних пристроїв, здатних обробляти великі обсяги даних. Електрооптичний контроль поляризації, що надається новим методом, може стати основою створення нового класу інтегрованих фотонних пристроїв. Це відкриває широкі можливості для застосування. ...>>

Приміальна клавіатура Seneca 05.05.2024

Клавіатури – невід'ємна частина нашої повсякденної роботи за комп'ютером. Однак однією з головних проблем, з якою стикаються користувачі, є шум, особливо у випадку преміальних моделей. Але з появою нової клавіатури Seneca від Norbauer & Co може змінитися. Seneca – це не просто клавіатура, це результат п'ятирічної роботи розробників над створенням ідеального пристрою. Кожен аспект цієї клавіатури, починаючи від акустичних властивостей до механічних характеристик, був ретельно продуманий і збалансований. Однією з ключових особливостей Seneca є безшумні стабілізатори, які вирішують проблему шуму, характерну для багатьох клавіатур. Крім того, клавіатура підтримує різні варіанти ширини клавіш, що робить її зручною для будь-якого користувача. І хоча Seneca поки не доступна для покупки, її реліз запланований на кінець літа. Seneca від Norbauer & Co є втіленням нових стандартів у клавіатурному дизайні. Її ...>>

Запрацювала найвища у світі астрономічна обсерваторія 04.05.2024

Дослідження космосу та її таємниць - це завдання, яка привертає увагу астрономів з усього світу. У свіжому повітрі високих гір, далеко від міських світлових забруднень, зірки та планети розкривають свої секрети з більшою ясністю. Відкривається нова сторінка в історії астрономії із відкриттям найвищої у світі астрономічної обсерваторії – Атакамської обсерваторії Токійського університету. Атакамська обсерваторія, розташована на висоті 5640 метрів над рівнем моря, відкриває нові можливості для астрономів у вивченні космосу. Це місце стало найвищим для розміщення наземного телескопа, надаючи дослідникам унікальний інструмент вивчення інфрачервоних хвиль у Всесвіті. Хоча висотне розташування забезпечує більш чисте небо та менший вплив атмосфери на спостереження, будівництво обсерваторії на високій горі є величезними труднощами та викликами. Однак, незважаючи на складнощі, нова обсерваторія відкриває перед астрономами широкі перспективи для дослідження. ...>>

Випадкова новина з Архіву

Плаваюче місто Freedom Ship 30.06.2002

Норман Ніксон, власник компанії Engineering Solutions, розробив проект унікального корабля, справжнього плаваючого міста, під назвою Freedom Ship.

Freedom Ship матиме 55 палуб, його довжина понад 1 км, ширина близько 300 м, водотоннажність 2,7 млн. т (для порівняння: водотоннажність найбільшого на планеті супертанкеру Jahre Viking 565 тис. т). Вага плаваючого міста 3 млрд. т.

На борту постійно перебуватиме близько 70 тис. осіб, з них - 50 тис. островитян, які володіють нерухомим майном на кораблі, і 20-25 тис. персоналу, включаючи службу безпеки та невелику армію. Крім того, на борту у готелях житимуть туристи. Вартість проекту 9 млрд. дол., причому на оснащення лише будівельного майданчика вже виділено 22 млн. дол. На сьогоднішній день вже продано 20 тис. житлових апартаментів, вартість кожного – від 80 тис. до 6 млн. фунтів.

Передбачено щонайменше 50 архітектурних та дизайнерських стилів для житлових приміщень. Тут будуть бібліотека, університет, комп'ютерні зали з доступом до Інтернету, лікарня. Також банки, ресторани, стадіони, казино, корти, басейни, готелі, кілька підприємств легкої та переробної промисловості та аеропорт. Виділено 200 акрів землі під парки та сади. Плаваючі острови кожні два роки здійснюватимуть кругосвітні круїзи, заходитимуть у порти, де на борт підніматимуться місцеві жителі.

Плаваючий острів буде набагато більш екологічно чистим, ніж будь-яке інше судно. Для цього на кораблі будуть використовуватись високотехнологічні туалети, що переробляють стічні води. На судні буде налагоджено переробку паперу, скла, металу та пластику. Матеріали, недоступні для переробки, спалюватимуться, а енергія спалювання використовуватиметься для роботи генераторів.

Інші цікаві новини:

▪ Поліпшення широкосмугового підключення

▪ 4 млрд. абонентів GSMA

▪ Екстремальний смартфон Ulefone Armor 12 5G

▪ Навушники OnePlus Buds Z2

▪ Портативний накопичувач 4 ТБ від Seagate

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ розділ сайту Блискавкозахист. Добірка статей

▪ стаття Гамак на дачі. Поради домашньому майстру

▪ стаття Що таке лавина? Детальна відповідь

▪ стаття Робота з водяним насосом. Типова інструкція з охорони праці

▪ стаття УКХ ЧС тюнер. Енциклопедія радіоелектроніки та електротехніки

▪ стаття Вгадування однієї з 15 карт. Секрет фокусу

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024