Все, что нельзя запрограммировать на ассемблере, приходится паять.
Этот сайт посвящен моим проектам на PIC контроллерах, доступных для публичного освещения. Все приведенные схемы реализованы в железе и работают в настоящее время в быту или производстве.
Для написания программ использован пакет MPLAB/х , свободно распространяемый фирмой MICROCHIP.
Используется программатор PICKIT2/3, ICD2/3.
Любую конструкцию можно собрать самому, даже если она платная и получить бесплатно код разблокировки.
Также можно приобрести в качестве набора для сборки или готового изделия.
Принимаются заказы на разработку аналогово-цифровой или цифровой электроники, систем управления и электроники для производства с применением контроллеров.
Вопросы и предложения писать на почту Gennadiy.V@gmail.com
Если у Вас есть интересные предложения, закакзы или вопросы и форум Вам не помог - адрес тот же.
Список команд, операторов, функций. Часть 2.
Функции, операторы, команды - сводная таблица V3.3.x
Операторы и функции работы с EEPROM
WREE |
Запись в EEPROM |
WREE #(1),A WREE 10,b |
Записать переменную #(1) или число по адресу А . адрес должен быть в диапазоне 0-959. Используется одна ячейка EEPROM. Для 16 бит переменных запишется младший байт. Параметрами выступают переменная, число. |
RDEE |
Чтение из EEPROM |
#(1)=RDEE {A} |
Прочесть 1 байт из EEPROM по адресу А в переменную. Параметрами выступают переменная, число, выражение. |
WRPE |
Запись в память строки |
WRPE A,$(i),C |
Запись строки в память по адресу С. Количество указывается явно=A или содержится в первом байте индексной переменной. Записываются все байты $(i) последовательно. Если длинна указана явно, то первой запишется длинна, затем данные |
RDPE |
Чтение из памяти строки |
RDPE A,$(i),С |
Чтение строки по адресу С длинной A или как указано в первом прочтенном байте. Приемником массива данных могут быть только индексные переменные и массив не должен пересекать границы блоков по 256 байт. В $(i) будет записано число символов или из указанного явно или из прочтенного первого байта, в остальные будут записаны данные кроме длинны. |
Операторы и функции работы с часами реального времени
Часы реального времени реализованы на микросхеме DS1307. Если не установлены – то следующие операторы и функции работать не будут. На остальное влияния не оказывает.
Числовые функции |
|||
YEAR |
Функция |
A=YEAR {} |
Переменной присевается текущий год , две последние цифры (0-99) |
MONTH |
Функция |
B=MONTH{} |
Переменной присваивается текущий месяц (1-12) |
DAY |
Функция |
C=DAY{} |
Переменной присваивается текущее число (1-31) |
DAYS |
Функция |
C=DAYS{} |
Переменной присваивается текущий день недели (1-7) |
HOUR |
Функция |
#(i)=HOUR{} |
Переменной присваивается текущее значение часа (0-23) |
MIN |
Функция |
#(i)=MIN{} |
Переменной присваивается текущее значение минут (0-59) |
SEC |
Функция |
#(i)=SEC{} |
Переменной присваивается текущее значение секунд (0-59) |
DATE |
Функция |
(i)=DATE{} |
Переменной с индексом i присваивается текущее число, с индексом i+1 присваивается текущий месяц, с индексом i+2 присваивается текущий год. Приемником /источником массива данных могут быть только индексные переменные и массив не должен пересекать границы блоков по 256 байт. |
TIME |
Функция |
#(i)=TIME{} |
Переменной с индексом i присваивается текущий час, с индексом i+1 присваиваются минуты, с индексом i+2 присваиваются секунды. |
Текстовые функции |
|||
SDATE |
Оператор |
SDATE $(i) |
Переменной с индексом (i) присваивается длинна текста, с индексом (i+1) и далее - текст формата «15-01-15» содержащий текущую дату |
STIME |
Оператор |
STIME $(i) |
Переменной с индексом (i) присваивается длинна текста, с индексом (i+1) и далее - текст формата «12:20:07» содержащий текущее время |
SDT |
Оператор |
SDT $(i) |
Переменной с индексом (i) присваивается длинна текста, с индексом (i+1) и далее - текст формата «12:20:07 15-01-15» содержащий текущее время и дату |
Операторы установок |
|||
YEAR |
Оператор |
YEAR 15 |
Устанавливает год. Параметрами могут быть числа, переменные. |
MONTH |
Оператор |
MONTH 5 |
Устанавливает месяц |
DAY |
Оператор |
DAY #(5) |
Устанавливает день |
DAYS |
Оператор |
DAYS #(3) |
Устанавливает день недели (1-7) |
HOUR |
Оператор |
HOUR i |
Устанавливает час |
MIN |
Оператор |
MIN 10 |
Устанавливает минуты |
SEC |
Оператор |
SEC 30 |
Устанавливает секунды |
Группа операторов SET
Все команды этого раздела доступны только с консоли.
Предназначены для настройки контроллера и PICµBASIC. Дополнительные операторы этой группы, относящиеся к периферийным модулям, или модулям расширения смотрите в описаниях команд этих модулей
LGNA |
Установка логина администратора |
SET LGNA “ADMIN” |
В кавычках указывается текст. Вход администратора обеспечивает доступ ко всем функциям. Если логин = “” то аутентификация отключена. Максимальная длинна 8 символов. Чувствительно к регистру. |
LGNU |
Установка логина пользователя |
SET LGNU “USER” |
В кавычках указывается текст. Вход пользователя используется для доступа к WEB серверу. Если логин = “” то аутентификация отключена. Максимальная длинна 8 символов. Чувствительно к регистру. |
PSWA |
Установка пароля администратора |
SET PWSA “ADMIN” |
В кавычках указывается текст. Максимальная длинна 8 символов. Чувствительно к регистру. |
PSWU |
Установка пароля пользователя |
SET PSWU “USER” |
В кавычках указывается текст. Максимальная длинна 8 символов. Чувствительно к регистру. |
IP |
Установка IP адреса |
SET IP 192.168.1.2 |
Установка IP адреса контроллера |
MASK |
Установка маски сети, последний октет |
SET MASK 128 |
Установка маски сети 255.255.255.128, три первых октета равны 255. |
DG |
Установка шлюза по умолчанию, последний октет |
SET DG 1 |
Установка шлюза по умолчанию 192.168.1.1, три первых октета берутся из IP адреса. |
DHCP |
Вкл /выкл получения адреса по DHCP |
SET DHCP ON |
Включает/выключает DHCP клиент. Если включен, то получает адрес по DHCP. Если сервер DHCP не доступен, то используется свои настройки. |
NAME |
Установка имени контроллера |
SET NAME “HOME_PLC” |
В кавычках указывается текст. Максимальная длинна 8 символов. |
AUTORUN |
Вкл /выкл автозапуска программы |
SET AUTORUN ON |
Автозапуск программы по включения питания со строки с наименьшим номером. |
WEBEXT |
Вкл /выкл доступа WEB сервера к файлам Flash Disk |
SET WEBEXT ON |
Доступ WEB сервера к Flash диску для чтения любых файлов. |
WEBINT |
Вкл /выкл доступа WEB сервера к внутренним файлам |
SET WEBINT ON |
Доступ WEB сервера к файлам в прошивке процессора. |
Служебные и информационные операторы
NEW |
Очистить программу |
NEW |
Стирает текущую программу, форматирует память программ. |
COPY |
Копирует строку программы |
COPY 10,20 |
Копирует программную строку с номером 10 в строку с номером 20. Предыдущие данные в строке 20 очищаются. Номер строки может быть представлен переменной. |
REM |
Оператор комментирования |
REM Это комментарий |
Комментарий, интерпретатор не исполняет эту строчку Исключение оператора GOTO, строчка превращается в комментарий |
LIST |
Выводит листинг |
LIST |
Выводит весь листинг программы |
LERR |
Last ERROR |
LERR |
Показывает последнюю ошибку в консоль. |
VER |
Оператор |
VER |
Показывает версию П/О в консоль |
BOOT |
Оператор |
BOOT |
Отмена инсталляции BASIC и запуск бутлоадера |
REBOOT |
Оператор |
REBOOT |
Перезагрузка контроллера |
STATUS |
Оператор |
STATUS |
Получение данных о состоянии контроллера. |
CODE |
Оператор |
CODE “1234-5678” |
Ввод кода |
Операторы и функции работы с портами ввода - вывода
PORT |
Функция |
#(i)=PORT{A} |
Порт ввода/вывода настраивается на ввод |
PORT* |
Функция |
#(i)=PORT*{A} |
Опрос порта без изменения направления ввода-вывода. |
PORT |
Оператор |
PORT A,i |
Порт ввода/вывода с номером А настраивается на вывод, и устанавливается в ноль, если i=0; |
PWM1 |
Модуль ШИМ |
PWM1 1,#(I) PWM3 1,50 |
Включение и настройка модуля PWM, установка заполнения. |
ADC |
Чтение АЦП |
A=ADC{n} |
Настраивает выбранный канал АЦП и все каналы с меньшим номером, как аналоговые входы АЦП. Читает значение с выбранного канала АЦП в переменную. |
BEEP |
Генерация звука |
BEEP C,D |
Генерация звука с номером ноты = С, длительностью =D. Длительность кратно 25 Ms. Номера нот 1-31 от До первой октавы до Ми пятой октавы. |
GCLK |
Счетчик импульсов |
A=GCLK{x} |
Счетчик импульсов за 1 mS, 10 mS, 100 mS, 1000 mS для x= 1,2,3,4 соответственно |
CLK1 |
Генератор частоты (меандр) на выводе CCP3,CPP4,CPP5 соответственно |
CLK1 y,x |
Включает генератор частоты От 2.5 кГц до 5,2 МГц . Отключает вторую группу PWM. Генератор работает независимо и постоянно от момента включения. |
Сетевые операторы и функции
PING |
Функция |
A=PING{192.168.1.1} |
Переменной A присваивается время в миллисекундах ожидания ответа на ping заданного узла. В случае недоступности A=-32768 |
IPNEW |
Функция |
A=IPNEW{} |
Попытка получить новый IP адрес по DHCP. IP адрес изменится в случае удачного запроса. Контроллер обычно загружается быстрее DHCP сервера по сбросу питания, и требуется обновление IP через какое то время после старта (для конфигураций с включенным DHCP). Если DHCP отключен - обновление не произойдет. Возвращает 1 в случае обновления по DHCP, 0 если DHCP не доступен |
IPCFG |
Оператор |
IPCFG #(0) |
В переменную #(0) помещается структура текущих сетевых настроек. |
UDPSND |
Функция |
A=UDPSND{$(0),192.168.1.1:253} A=UDPSND{#(0),K.L.M.N:P} |
Посылает UDP пакет на указанный IP : PORT с текстом из переменной $(0), до 63 байт |
TCPSND |
Функция |
A=TCPSND{$(0),192.168.1.1:80} |
Посылает запрос на указанный IP : PORT с текстом из переменной $(0), до 63 байт вида : GET /index.htm?lg=web&ps=as&hs=123456 HTTP/1.1 0x0D 0x0A User-Agent: 'NAME_CONTROLLER' 0x0D 0x0A 0x0D 0x0A Где $(0) = /index.htm?lg=web&ps=as&hs=123456 Как минимум $(0) должна содержать символ «/», если она пустая, то «/» будет подставлен автоматически. Посылает запрос на указанный IP : PORT с данными из переменной #(0)-#(63) – 64 байта. Возвращает 1 в случае успеха, 0 если не отправлено Может выполняться до 3 секунд. В случае выполнения из консоли не выполнения - будет расшифровка ошибок В переменную $(500), если она указанна, помещает данные, как текст, из буфера последнего принятого пакета. Данные будут обрезаны до размера 63 байт. |
ПО распространяется под лицензией Shareware. Вы можете скачать с сайта схемы, инструкции, прошивки бесплатно.
Новые версии прошивок и документации скачивать в разделе Файлы / Files
Обсудить на форуме
Купить
Страницы
Общее описание и технические характеристики
Аппаратная платформа. Схемы, разводка.
Программное обеспечение. Bootloader - прошивка и программа загрузки.
Web PICµBASIC. Загрузка и установка
Программное обеспечение. BASIC_Terminal.
WEB PICµBASIC. Описание языка программирования
WEB PICµBASIC. Список команд, операторов, функций. Часть 1.
WEB PICµBASIC. Список команд, операторов, функций. Часть 2.
Web PICµBASIC. WebServer - настройка и программирование
Web PICµBASIC. Файловая система.
Web PICµBASIC. Модули расширения.
Дисплей HD44780. Схема подключения. Список команд, операторов, функций.
Интерфейс UART, RS232/RS485. Схема подключения. Список команд, операторов, функций.
Шина 1-Wire. Ключи и датчики. Схема подключения. Список команд, операторов, функций.
RFID EM-Marin 125 кГц. Схема подключения. Список команд, операторов, функций.
Датчик AM2302/DHT22. Схема подключения. Список команд, операторов, функций.
Дискретные входы. Схема подключения. Список команд, операторов, функций.
Интерфейс MODBUS RTU MASTER. Список команд, операторов, функций.
Клавиатура и силовые ключи. Схема подключения. Список команд, операторов, функций.
Примеры программирования.
Графический дисплей на контроллере UC1601s.