Популярные проекты

WEB PICµBASIC LOGIC CONTROLLER

USB PICµBASIC Mid Hardware

USB PICµBASIC LOGIC CONTROLLER

DDS генератор сигналов "OSKAR-DDS"

Термостол для оплавления паяльной пасты

Осциллограф Карманный "OSKAR" V3.1

Электроника и механика 3-х координатного станка ЧПУ (Hobby CNC)

Простой счетчик

Измеритель ESR и емкости конденсаторов

Самодельный установщик SMD компонентов - раскладочный станок "SMD PLACER V2"

Прибор для измерения частоты, емкости, индуктивности, сопротивления

Выключатель /диммер светодиодных лент с ДУ.

Светомузыка «СЕМИЦВЕТИК» + автомат световых эффектов.

Универсальный прибор для автомобиля. Часы, термометр, вольтметр, тахометр.

Все, что нельзя запрограммировать на ассемблере, приходится паять.

      Этот сайт посвящен моим проектам на PIC контроллерах, доступных для публичного освещения. Все приведенные схемы реализованы в железе и работают в настоящее время в быту или производстве. Для написания программ использован пакет MPLAB/х , свободно распространяемый фирмой MICROCHIP. Используется программатор PICKIT2/3, ICD2/3. Любую конструкцию можно собрать самому, даже если она платная и получить бесплатно код разблокировки. Также можно приобрести в качестве набора для сборки или готового изделия. Принимаются заказы на разработку аналогово-цифровой или цифровой электроники, систем управления и электроники для производства с применением контроллеров.
Вопросы и предложения писать на почту Gennadiy.V@gmail.com
Если у Вас есть интересные предложения, закакзы или вопросы и форум Вам не помог - адрес тот же.


WEB PICµBASIC LOGIC CONTROLLER
Список команд, операторов, функций. Часть 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
WRPE  $(i),C

Запись строки  в память по адресу С. Количество  указывается явно=A или содержится в первом байте индексной переменной. Записываются все байты $(i) последовательно. Если длинна указана явно, то первой запишется длинна, затем данные

RDPE

Чтение из памяти строки

RDPE  A,$(i),С
RDPE  $(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 LGNAADMIN”

В кавычках указывается текст. Вход администратора обеспечивает доступ ко всем функциям. Если логин = “” то аутентификация отключена. Максимальная длинна 8 символов. Чувствительно к регистру.

 

LGNU

Установка логина пользователя

 

SET LGNUUSER

В кавычках указывается текст. Вход пользователя  используется для доступа к 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
SET DHCP OFF

Включает/выключает DHCP клиент. Если включен, то получает адрес по DHCP. Если сервер DHCP не доступен, то используется свои настройки.

NAME

Установка имени контроллера

SET NAME “HOME_PLC”

В кавычках указывается текст. Максимальная длинна 8 символов.

AUTORUN

Вкл /выкл автозапуска программы

SET AUTORUN ON
SET AUTORUN OFF

Автозапуск программы по включения питания со строки с наименьшим номером.

WEBEXT

Вкл /выкл доступа WEB сервера к файлам Flash Disk

SET WEBEXT ON
SET WEBEXT OFF

Доступ WEB сервера  к Flash диску для чтения любых файлов.  

WEBINT

Вкл /выкл доступа WEB сервера к внутренним файлам

SET WEBINT ON
SET WEBINT OFF

Доступ WEB сервера  к файлам в прошивке процессора.  

            Служебные и информационные операторы

 NEW

Очистить программу

NEW

Стирает текущую программу, форматирует память программ.

 COPY

Копирует строку программы

COPY 10,20

Копирует программную строку с номером 10 в строку с номером 20. Предыдущие данные в строке 20 очищаются. Номер строки может быть представлен переменной.

 REM

Оператор комментирования

REM Это комментарий
 20 REM GOTO 100

Комментарий, интерпретатор не исполняет эту строчку Исключение оператора GOTO, строчка превращается в комментарий

 LIST

Выводит листинг

LIST
LIST 10,100
LIST A,B

Выводит весь листинг программы
Выводит листинг со строки 10 по строку 100 включительно. Номер строки может быть представлен переменной.

 LERR

Last ERROR

LERR

Показывает последнюю ошибку  в консоль.
Применяется в случае остановки по ошибке запущенной программы.

VER

Оператор

VER

Показывает версию  П/О в консоль

BOOT

Оператор

BOOT

Отмена инсталляции BASIC и запуск бутлоадера

REBOOT

Оператор

REBOOT

Перезагрузка контроллера

STATUS

Оператор

STATUS

Получение данных о состоянии контроллера.

CODE

Оператор

CODE  “1234-5678”

Ввод кода

            Операторы и функции работы с портами ввода - вывода

 PORT

Функция

 

#(i)=PORT{A}

Порт ввода/вывода настраивается на ввод
Переменой присваивается 1 если состояние порта ввода/вывода с номером A =лог.1 или 0 если лог.0  Номера портов от 1 до 34. По включению  порты настроены на ввод.

 PORT*

Функция

 

#(i)=PORT*{A}

Опрос порта без изменения направления ввода-вывода.
Переменой присваивается 1 если состояние порта ввода/вывода с номером A =лог.1 или 0 если лог.0  Номера портов от 1 до 34. По включению  порты настроены на ввод.

 PORT

Оператор

 

PORT A,i

Порт ввода/вывода с номером А настраивается на вывод, и устанавливается в ноль, если i=0;
в единицу , если i=1;меняет свое состояние на противоположное , если i=2;

PWM1
PWM2
PWM3
PWM4
PWM5

 Модуль ШИМ

 

PWM1 1,#(I)

PWM3 1,50

Включение  и настройка модуля PWM, установка заполнения.
Первый параметр 0 – PWM выключен, настроен на ввод , 1- включен, частота 2543 Гц, 2 – частота 10172 Гц, 3-частота  40690 Гц.
Второй параметр – заполнение ШИМ  0-255 .
PWM1 – 1 канал, PWM2 – 2 канал, и т.д.  
Каналы разбиты на 2 группы по частоте. Первая -  1и 2.
Вторая 3,4,5. Частота в одной группе одинаковая и выбирается последним оператором. При использовании RFID первая группа отключена.При использовании генератора – отключается вторая группа.

ADC

Чтение  АЦП

A=ADC{n}
#(i)= ADC{2}

Настраивает  выбранный канал АЦП и все каналы с меньшим номером, как аналоговые входы АЦП. Читает значение с выбранного канала АЦП в переменную.
Выходное число  0-1023 для 16 бит переменной,
0-255 для 8-бит.  Номера каналов  1-9
Для отключения модуля АЦП и аналоговых входов нужно указать номер канала равный нулю. При этом порты, ранее занятые АЦП будут настроены на ввод.

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 соответственно
При переполнении  -  возвращается отрицательное число
- 32768. Не применим для индексных переменных.
Максимальная частота измерения - 9,4 МГц

CLK1
CLK2
CLK3

Генератор частоты (меандр) на выводе CCP3,CPP4,CPP5 соответственно

CLK1 y,x
CLK2 y,x
CLK3 y,x

Включает генератор частоты От 2.5 кГц до 5,2 МГц . Отключает вторую группу PWM. Генератор работает независимо и постоянно от момента включения.
Диапазон частот разбит на 3 диапазона Y=0,1,2,3
0 – выключен, порт настраивается на ввод
В каждом 128 частот. Х = 0-127
1 диапазон,  частота  = 10416666/(2x+2)
2 диапазон, частота  = 2604167/(2x+2)
3 диапазон, частота  = 651041,7/(2x+2)

            Сетевые операторы и функции

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) помещается структура текущих сетевых настроек.
В первые девять байт #(0) - #(8) имя контроллера, как текст (может быть выведен как $(0))
#(9)- #(12) текущий IP, 4 байта
#(13) – DG последний октет
#(14) – MASK последний октет
#(15) - reserved (00) ;

UDPSND

Функция

A=UDPSND{$(0),192.168.1.1:253} A=UDPSND{#(0),K.L.M.N:P}

Посылает UDP пакет на указанный IP : PORT с текстом из переменной $(0), до 63 байт
Посылает UDP пакет на указанный IP : PORT длинной 64 байта из #(0)-#(63)
Возвращает 1 в случае успеха, 0 если маршрут не доступен Может выполняться до 2 секунд. В случае выполнения из консоли не выполнения - будет расшифровка ошибок

TCPSND

Функция

A=TCPSND{$(0),192.168.1.1:80}

A=TCPSND{$(0),K.L.M.N:P, $(500)}

Посылает запрос на указанный 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.