Такие разные микроконтроллеры – для новичков в радиоделе

May 11, 2014 by admin Комментировать »

Я считаю, что это очень важная особенность программы 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

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты