Я вважаю, що це дуже важлива особливість програми Flowcode, яка зайвий раз підкреслює універсальність графічного мови програмування Що я маю на увазі

Візьмемо програму, про яку йшлося в попередньому розділі Програма збиралася для мікроконтролера ATmega168 фірми Atmel Але в своїй розповіді я використовую два мікроконтролера, другий це PIC16F628A фірми Microchip Різні виробники, різні контролери Досить різні мікросхеми, щоб код, написаний на асемблері для одного мікроконтролера, потрібно було б грунтовно переписати для іншого

Однак запустимо програму Flowcode для PIC контролерів Виберемо в основному меню пункт Файл, В якому знайдемо розділ Імпорт .. Скористаємося ним, вказавши файл проекту попередньої глави Перше, що ви отримуєте, це повідомлення про те мікроконтролері, для якого була написана програма

Рис 251 Повідомлення про мікроконтролері, для якого створювалася програма

Натиснувши кнопку ОК, Ви потрапляєте у вікно, де вам належить вибрати модель, аналогічну використаної Аналогія повинна стосуватися кількості використаних портів, наявності вбудованих використаних модулів і тд

Рис 252 Вибір відповідного аналога

Оскільки я використовував тільки цифрові порти введення-виведення, я сподіваюся, що проблем не виникне Але вони зявилися б, якби використовувався вбудований модуль АЦП в моделі ATmega168, якого у PIC16F628A немає

Зверніть увагу, імпортовані всі макроси, які були створені для попередньої версії програми, і, звичайно, основна програма

Крім того, на малюнку цього немає, але й Панель теж імпортована з усіма кнопками і світлодіодами, які застосовувалися для налагодження програми

Деякі зміни в проект внести доведеться, це так Але, якби використовувалися інші порти, то, можливо, навіть ці зміни не потрібні були б

Рис 253 Результат імпорту

Які ж зміни потрібні У першу чергу є різниця в загальній кількості портів введення-виведення в двох моделях У PIC16F628A тільки два порти Але їх і використовувалося тільки два

Тепер прийшов час звернутися до опису мікроконтролера PIC16F628A У попередньої моделі використовувалися порти: один порт для підключення кнопок, другий порт для підключення світлодіодів

Цифрові входи у мікроконтролерів можуть мати вбудовані резистори для зєднання з загальним проводом або годує напругою, але можуть не мати Якщо у PIC-контролера ми виберемо порт А для підключення кнопок, то потрібно перевірити, чи є вбудовані резистори для цього порту Ми могли б використовувати порт А для підключення світлодіодів, але у цієї моделі є деякі особливості, що стосуються порту А По-перше, є висновок, який не можна використовувати для виходу, тільки для входу По-друге, є висновок, у якого на виході транзистор з відкритим стоком, що теж вимагає додаткових заходів з облаштування підключення І, нарешті, якби ми використовували переривання, то у цих двох моделей є особливості, повязані з цим механізмом У AVR-контролерів частіше використовується «ручне» опис переривань У PIC-контролерів є вбудовані переривання, які організовані при виготовленні Але вибір цих переривань обмежений

Рис 254 Переривання мікроконтролера PIC16F628A

Хоча це не виключає і користувальницьких переривань Так, ми їх і не використовували

Отже, для кнопок я хочу використовувати порт А, а для світлодіодів порт В Подивимося, чи є вбудовані резистори для «підтяжки» у цього порту Якщо для порту В є в описі згадка про підтягаючих резисторах, то для порту А цього немає Доведеться додати зовнішні резистори, зєднані з плюсом харчування

Залишається замінити в програмі порти і перевірити роботу програми

Рис 255 Заміна порту в основному блоці програми

Заміна порту проста: відкриваємо потрібний програмний елемент подвійним клацанням, і вибираємо потрібний порт

Рис 256 Діалогове вікно вибору порту

Переробки віднімають не більше пари хвилин Для виходу я вибрав висновок порту А6 І не забути для налагодження в програмі Flowcode виконати підключення кнопок і світлодіодів до правильних портам

Рис 257 Правка підключення кнопок І перша перевірка програми

Рис 258 Перевірка в програмі Flowcode

Для перевірки в програмі ISIS необхідно задати слово конфігурації: Чип-Конфігурація Якщо не поставлено завдання, прискорити роботу мікроконтролера, то можна використовувати внутрішній тактовий генератор, що працює на частоті 4 МГц: немає потреби додавати два конденсатора і кварцовий резонатор

Рис 259 Налаштування слова конфігурації

І є ще одне місце: Вид-Настройки проекту .., – Де слід задати тактову частоту

Рис 2510 Завдання тактової частоти

Тепер можна компілювати проект У програмі ISIS, можна взяти попередній проект і внести зміни, змін теж не надто багато

Рис 2511 Перевірка в програмі ISIS

Різниці в працездатності програми між двома типами мікроконтролера особливої ​​немає Але, я помітив, що перевірка в Proteus першої моделі МК залишила деякі сумніви – сигнал зявлявся тільки після деяких маніпуляцій з кнопками діапазону, збільшення та зменшення частоти У цій моделі програма починає працювати відразу, як тільки натиснута кнопка вибору діапазону Мабуть, в настройках мікроконтролера в попередніх експериментах не все було зроблено Можна, звичайно, перевірити програму на макеті, але ми ще повернемося до програми генератора, тоді, мабуть, і перевіримо

А зараз перейдемо до теми цієї глави Вбудовані модулі

Джерело: Гололобов ВН, – Самовчитель гри на паяльнику (Про електроніці для школярів і не тільки), – Москва 2012