Все, что нельзя запрограммировать на ассемблере, приходится паять.
Этот сайт посвящен моим проектам на PIC контроллерах, доступных для публичного освещения. Все приведенные схемы реализованы в железе и работают в настоящее время в быту или производстве.
Для написания программ использован пакет MPLAB/х , свободно распространяемый фирмой MICROCHIP.
Используется программатор PICKIT2/3, ICD2/3.
Любую конструкцию можно собрать самому, даже если она платная и получить бесплатно код разблокировки.
Также можно приобрести в качестве набора для сборки или готового изделия.
Принимаются заказы на разработку аналогово-цифровой или цифровой электроники, систем управления и электроники для производства с применением контроллеров.
Вопросы и предложения писать на почту Gennadiy.V@gmail.com
Если у Вас есть интересные предложения, закакзы или вопросы и форум Вам не помог - адрес тот же.
Программное обеспечение.
Программа BASIC Terminal
Мы имеем любой модуль PICµBASIC. Для работы с ним удобно использовать программу BASIC Terminal
Программа не требует инсталляции и может работать в любом каталоге. Все действия документируются в журнале работы «Terminal.log» , который создается в рабочем каталоге.
Инсталляция программы.
Скачать архив и распаковать в любой каталог.
Запустить программу. Все готово к работе.
Возможные трудности:
Программа использует библиотеки Microsoft:
COMDLG32.OCX
MSCOMM32.OCX
mswinsck.ocx
vbalProgBar6.ocx
Как правило, они уже присутствуют в Windows.
В случае их отсутствия на компьютере, скачать отдельно библиотеки и распаковать в каталог программы. Можно скачивать с сайта Microsoft. В случае проблем с регистрацией скачанных библиотек требуется их регистрация программой командой regsvr32 или просто запускать терминал от имени администратора
Дополнительная информация на сервере Microsoft https://support.microsoft.com/en-us/kb/146219
Саму программу и компоненты можно скачать тут: http://picping.ru/FILES/Software/
Подключение контроллера.
Терминал позволяет подключить любой контроллер с PICµBASIC напрямую или через главный контроллер.
WEB PICµBASIC подключается через Ethernet/Internet по IP адресу. USB PICµBASIC подключается напрямую к компьютеру в USB порт, связь через виртуальный COM порт. Device PICµBASIC подключается напрямую к компьютеру через USB-RS485 переходник или через WEB/USB PICµBASIC.
Для USB PICµBASIC и Windows ниже 10 версии требуется установить драйвер виртуального порта. Скачать можно тут http://picping.ru/FILES/USB_Driver/
Подключите контроллер к компьютеру, будет обнаружено новое устройство. Установите прилагающийся комплект драйверов. В итоге добавится новое устройство
Выбираем тип подключения в шапке программы:
Для Ethernet/Internet в окне “Link” требуется ввести адрес контроллера. По умолчанию IP = 192.168.0.25, DG = 192.168.0.1, MASK = 255.255.255.0 Пароли администратора ADMIN / ADMIN , пользователя (web интерфейс) USER / USER.
Связь осуществляется по протоколу UDP:111. Возможно получение адреса по DHCP.
Кнопки ADD , DEL SAVE – позволяют запомнить и редактировать список IP адресов для подключения. Кнопки Connect/Disconnect соответственно устанавливают и разрывают связь.
Связь чрез COM порт или USB виртуальный COM порт.
В разделе Comm’s указываем номер порта: 1-9 ( в случае установки драйвером на больший номер , требуется перенос вниз в диспетчере устройств). Выбираем желаемую скорость в из 1200/2400/4800/9600/19200/115200 – по умолчанию 115200.
Кнопкой Open/Close подключаем /отключаем связь. Скорости менее 115200 предусмотрены для подключения к любым дополнительным устройствам. При подключении будут активны анимированные индикаторы подключения.
Для связи с Device PICµBASIC требуется адаптер USB-RS485. Подключение аналогично через COM порт. Дополнительно в окне MODBUS RTU надо установить флажок, для активации протокола MODBUS и ввести адрес SLAVE контроллера – по умолчанию 16. Если подключение к Device PICµBASIC осуществляется удаленно через USB PICµBASIC – то в этом же окне установить флажок Via USB. Для настройки порта MODBUS в USB PICµBASIC можно воспользоваться кнопкой InitPort или провести инициализацию порта вручную через консоль BASIC. Для связи через WEB PICµBASIC аналогично устанавливаем флажок и выбираем адрес в окне Eth to MODBUS. В обоих случаях при установленном флажке связь идет транзитом через главный контроллер с Device PICµBASIC и при снятом – с главным контроллером.
Сам терминал – самое большое окно и строка ввода под ним.
Команды набираются в строке ввода и отправляются по нажатию Enter. Стрелки курсора влево /вправо - перемещение по строке для редактирования. Можно копировать из / в строку ввода – CTRL-C и CTRL-V. Стрелки курсора вверх/вниз вставляют команды в строку ввода из кеша последних набранных команд. Переместить вставленную команду из кеша в самую первую позицию кеша команд – после выбора нажать стрелку вправо. Отправленные команды и ответы отображаются в главном окне терминала. Из него можно копировать текст в другие программы. Сам обмен документируется в журнале. Справа полоса прокрутки буфера приема, который имеет объем 32 кб. При заполнении буфера вывод прекращается и окно требуется очистить кнопкой “Clear”.
Сервисные кнопки расположены сразу над главным окном терминала.
“Open File and Download” - Загрузка программы на BASIC из компьютера в контроллер. Выберите файл и загрузка начнется автоматически. Если программа в контроллере выполняется в данный момент – Вы получите предупреждение и потребуется остановить командой BREAK. Кнопки “>>” и “x” позволяют продолжить или прервать загрузку после ошибки. Обычно это неправильные строки в программе или ошибки связи с контроллером.
Особенности загрузки программы на BASIC в контроллер.
При загрузке совпадающие номера строк будут заменены, не совпадающие будут добавлены к существующим в контроллере. Для очистки памяти программ пользователя в контроллере нажмите кнопку New Program. Очистка займет некоторое время. Программа *.bas – это обычный текстовый файл и редактируется текстовым редактором, например блокнот.
“Save Programm” Чтение программы из контроллера на компьютер.
“New Program” – очистка программы в контроллере
“Info” получить информацию о контроллере
Раздел Flash Disk – загрузка и чтение файлов на Диск WEB PICµBASIC контроллера. Кнопки SEND и RECEIVE для загрузки м выгрузки, END для остановки процесса. Сам процесс отображается на индикаторе прогресса. В окне требуется указать имя файла, которое будет/есть на диске контроллера в формате 8.3. Оно не связанно с именем файла на компьютере. Узнать файлы контроллера - команда DIR в терминале.
Программа BASIC Terminal – Работа с контроллером
Итак, все программы установлены, связь настроена. Начнем оживлять.
Начальное общение со средой PICµBASIC ведется через консоль – BASIC Terminal ( Ранее консолью называли телетайпный аппарат, с помощью которого оператор общался с компьютером). Причём, работа через консоль актуальна только на этапе загрузки и отладки программы. В дальнейшем может использоваться для обмена информацией.
В терминале, в нижней строке наберем команду VER. Регистр имеет значение. Это запрос версии контроллера
Если все хорошо - то получим ответ вида DEV PICµBASIC VER х.х.х , где также будет указанны серийные номера, статус активации BASIC – FULL. Более расширенную информацию дает команда STATUS.
В случае работы с WEB PICµBASIC сначала потребуется ввести логин и пароль администратора, ответив на соответствующие запросы.
В ответ получим информацию о версии п/о, текущем времени в контроллере, сетевых настройках, логинах паролях, режиме использования файлов WEB сервером.
Большинство команд, операторов, функций выполняются как из командной строки немедленно, также как и в программе на BASIC. Если мы хотим ввести строку программы - то ввод начинается с номера строки. Иначе команда будет выполнена немедленно. Несколько команд можно записывать в одной строке, разделяя двоеточием.
Попробуем.
Напишем и запустим первую программу.
Очистим память программ – оператор NEW , придется немного подождать до появления OK.
Введем строки
400 PRINT " Hello world "
410 END
Команды с номером строки интерпретируются как строки программы и сразу записываются в память .
Проверим программу - команда LIST 400
LIST 400
0400 PRINT "Hello World"
0410 END
Запустим программу с 400 строки команда RUN 400 и увидим
RUN 400
Hello World
OK
Ура, все получилось!
Программа BOOT LOADER – Обновление ПО контроллера
Встроенное ПО PICµBASIC контроллера регулярно обновляется и совершенствуется, появляются новые возможности и функции. Обновить ПО можно локально и по сети, с помощью программ BOOT LOADER. Для каждого вида контроллера существует своя версия. Интерфейс и работа с ними практически одинакова. Программы не требуют инсталляции и устанавливаются аналогично BASIC Terminal. Скачать программы http://picping.ru/FILES/Firmware/BOOT_LOADER/
и прошивки http://picping.ru/FILES/Firmware/BASIC_v3x/ . Обновление ПО не затрагивает регистрацию BASIC, пользовательскую программу и данные в EEPROM. Контроллер, с установленным PICµBASIC, не запускает код BOOT Loader.
Для Вызова к загрузчика из BASIC вводим команду BOOT.
Загрузчик WEB PICµBASIC.
Окно Link аналогично такому же в терминале. Устанавливаем связь. В окне сообщений появится информация встроенного BOOT контроллера.
Нам доступны следующие действия:
Форматирование (очистка) всей памяти программ контроллера.
Запись обновления в контроллер. Старая прошивка удалится автоматически. Так что форматирование как правило не требуется. Кнопка CLR очищает окно сообщений.
Загрузка кода PICµBASIC.
Нажмите кнопку “Open File and Download”, выберите файл прошивки *.hex и загрузка начнется автоматически. Затем произойдет автоматическая проверка загруженного архива. В случае успешного выполнения Вы получите уведомление. Ход выполнения будет отображаться на индикаторе загрузки. После удачной загрузки нажмите кнопку “Install Basic”. Прошивка будет распакована и активирована. Программу можно закрывать.
Загрузчик USB PICµBASIC.
Работа полностью аналогична. Связь устанавливать через виртуальный COM порт, как в терминале.
Особенность - требуется сначала включить связь а только потом подключить USB кабель или подать питание на контроллер.
Для входа в режим загрузки нажмите кнопку «Open Port» предварительно указав номер порта, на котором проинсталлировали ранее устройство. Запустится счетчик ожидания соединения. Подключите контроллер к компьютеру или подайте на него питание - связь установится автоматически.
В этом случае не потребуется переводить BASIC в BOOT режим.
Загрузчик подхватится по старту контроллера.
Загрузчик для Device PICµBASIC.
Поддерживается загрузка без и с использованием протокола MODBUS. Требуется подключение к контроллеру через USB-RS485 переходник. Если используется протокол MODBUS и адрес контроллера не известен – оставьте поле адреса пустым, как на рисунке. Программа сама найдет контроллер. Также можно изменить адрес контроллера – для этого установить адрес и нажать “SetAddr”
Загрузчик для Device PICµBASIC через WEB PICµBASIC по сети Ethernet
Предназначен для удаленного обновления по сети.
Настраивается аналогично терминалу.
Имеет мини консоль для отправки команд как WEB PICµBASIC , так и Device PICµBASIC
Кнопка UartOn активирует и настраивает порт MODBUS на WEB PICµBASIC контроллере
Написание программ на BASIC – AkelPad
Как правило, программа на BASIC имеет следующий вид:
0005 REM Программа часов с термометром
0006 REM Получим дату и время
0010 #(0)=DATE{}:#(3)=TIME{}
0015 REM Печатьдаты
0020 AT 0:LPRINT #2,#(0),"-",#(1),"-",#(2)
0025 REM Печать времени
0030 AT 64:LPRINT #2,#(3),":",#(4),":",#(5)
0035 REM Получим температуру
0040 T=RTEMP{}
0045 REM Проверим наличие датчика
0050 IF T<-100 THEN GOTO 10
0055 REM Температура получена, печатаем
0060 AT 10:LPRINT "Temp"
0070 AT 74:LPRINT #0,T:LCDD 239:LPRINT "C"
0075 REM Все с начала.
0080 GOTO 10
Все просто, пока программа простая. Также совсем не обязательно хранить комментарии в памяти программ контроллера. И в случае модификации приходится заново перенумеровывать строки и следить за всеми переходами по номерам строк. Велика вероятность допустить ошибку. И подсветку синтаксиса хочется.
Для этого используем бесплатную программу AkelPad http://akelpad.sourceforge.net/ru/ и подключаем к ней плагины. Можно самостоятельно все настроить или скачать настроенный редактор Скачать
Теперь все выглядит по другому.
Подсветка синтаксиса, сворачивание блоков, многооконный режим и многие другие плюшки.
Осталось решить остальные задачи.
Написание программ на BASIC - BASIC PRECOMPILER
Основная задача этой программы - избавить человека от рутинной работы и проверка выходного кода на наличие синтаксических ошибок. Конечно все ошибки распознать не получается (пока) но распространенные исправляются автоматически, на остальные выдаются предупреждения.
Для удобства описания в тексте теперь возможны подстановки.
Выходной файл может быть собран из нескольких исходных файлов.
Применяются текстовые метки переходов.
Осуществляется автоматическая нумерация строк.
Удаляются лишние строки и пробелы
Подстановка - должна быть в тексте раньше, чем встретится значение подстановки
#define VOLT EQU A
#define end_volt EQU b
Текст: IF VOLT=1 THEN end_volt=0 результат : IF A=1 THEN b=0
Подключаемые файлы: #includeTEST_3.BASЭта строка вставляет указанный файл в указанное место, во вставляемом файле допускается вложения других файлов
100 - Номер с которого дальше пойдет нумерация
[METKA_01] - метка
GOTO [METKA_01] - переход на метку. Вместо меток будут подставляться реальные номера строк
REM '**** - Комментарии, если установлено Enable – то будут добавлены в выходной файл с номерами строк
если дополнительно установлено Coment - то без номеров строк. Во всех случаях регистр имеет значение
“Open” открывает файл на выбор или последний, указанный в строке. Х – очищает эту строку. “SaveAs” сохраняет файл
Сразу при открытии подгружаются все файлы , указанные в #include
“Save” сохраняет файл на выбор или с последним именем указанным в строке. “Clear” – очистка окна
“Compile” собственно процедура преобразования.
При компиляции с комментариями , без номеров строк – они будут присутствовать в листинге, но загружаться в контроллер через терминал не будут.
В итоге получаем такую среду для написания программ.
Как показала практика, теперь написание сложных программ стало простым и удобным.
Удачной разработки!
ПО распространяется под лицензией Shareware. Вы можете скачать с сайта схемы, инструкции, прошивки бесплатно.
Обсудить на форуме
Купить