Все, что нельзя запрограммировать на ассемблере, приходится паять.
Этот сайт посвящен моим проектам на PIC контроллерах, доступных для публичного освещения. Все приведенные схемы реализованы в железе и работают в настоящее время в быту или производстве.
Для написания программ использован пакет MPLAB/х , свободно распространяемый фирмой MICROCHIP.
Используется программатор PICKIT2/3, ICD2/3.
Любую конструкцию можно собрать самому, даже если она платная и получить бесплатно код разблокировки.
Также можно приобрести в качестве набора для сборки или готового изделия.
Принимаются заказы на разработку аналогово-цифровой или цифровой электроники, систем управления и электроники для производства с применением контроллеров.
Вопросы и предложения писать на почту Gennadiy.V@gmail.com
Если у Вас есть интересные предложения, закакзы или вопросы и форум Вам не помог - адрес тот же.
Файловая система
Эта файловая система располагается в памяти программ микроконтроллера и предназначена для хранения файлов для встроенного WEB сервера. Доступ к ней имеет только WEB сервер только на чтение. Как правило, в ней располагаются HTML файлы, картинки, CSS файлы и другие статические файлы, необходимые для функционирования WEB сервера. Из PICµBASIC эти файлы недоступны. Более подробное описание, стандарты и пример создания этой файловой системы читайте в разделе «WEB сервер».
Файловая система организована во внешней FLASH памяти. Требуется наличие 2-х старших микросхем памяти. Типы имен - формат 8.3, например README.txt. Регистр имеет значение. Пробелы в имени между буквами не допускаются. Имя файла должно содержать как минимум одну букву, точку и одну букву в расширении. К этим файлам WEB сервер имеет доступ на чтение, если включен. PICµBASIC имеет полный доступ. С помощью программы BasicTerminal можно копировать файлы по сети с компьютера на FlashDisk и наоборот.
Максимальное количество файлов – 64
Максимальный размер файла - 32 кб.
Общий размер диска – 128 кб.
При удалении файла происходит дефрагментация диска и освобождается место.
При быстром удалении файла очищается только каталог, место не освобождается.
Одновременно может быть открыт только один файл, поддерживается потоковый и блочный обмен. Поддерживаются все стандартные функции файловой системы, см. операторы работы с файлами. Некоторые команды работают только с консоли. Можно писать уже в существующие файлы, с указанием позиции записи. Можно читать любой файл с любого места. Можно читать и писать данные в файлы в текстовом, бинарном виде. Также поддерживается ввод /вывод переменных в / из файла в текстовой и HEX записи. Имена файлов записываются текстом в кавычках “LOG.txt” или задаются в индексных переменных, как текст. Например $(10) , где в байте $(10) указанна длинна текста без учета ячейки $(10), а в ячейках $(10+1), $(10+2),… находится сам текст.
DIR |
Оператор |
DIR |
Вывод в консоль каталога файлов Flash диска |
DIR |
Функция |
A=DIR{$(10)} |
Возвращает единицу в обычную переменную, если такой файл существует или ноль, если нет. |
DIRF |
Оператор |
DIRF $(10) |
Записывает имя первого файла на диске в индексную переменную как текст (первый байт – длинна текста). Следующий вызов – второго, и так до конца каталога. Если файлов более нет, вернет пустую строку. Следующий вызов – снова первый. |
FORMAT |
Оператор |
FORMAT |
Форматирует Flash диск. Физически удаляет все данные и создает пустой каталог. |
OPENRD |
Оператор |
OPENRD “README.TXT” |
Открывает файл на чтение. Указатель устанавливается на первый символ файла. |
OPENWR |
Оператор |
OPENWR “REPORT.TXT” |
Открывает файл на запись. Указатель устанавливается на первый символ файла. Если файл не существует – он будет создан, каталог обновится при закрытии файла. |
CLOSE |
Оператор |
CLOSE |
Закрывает файл, ранее открытый для чтения или записи. |
CREATE |
Оператор |
CREATE 32,2048,“log.txt” |
Создаёт файл log.txt длинной 2048 байт, заполняет его. Максимальная длинна 32767 байт. Первое число(переменная) – код символа заполнителя. Второе число(переменная) – длинна файла в байтах. |
TYPE |
Оператор |
TYPE “README.TXT” |
Выводит содержание файла в консоль, как текст. |
TYPEB |
Оператор |
TYPEB “README.TXT” |
Выводит содержание файла в консоль, как данные, таблицей в hex |
DEL |
Оператор |
DEL “README.TXT” |
Удаляет файл с указанным именем, выполняет дефрагментацию диска. Не применять для систем с нестабильным питанием. Отключения питания в процессе приведет к разрушению файловой системы |
DELF |
Оператор |
DELF “README.TXT” |
Удаляет файл с указанным именем. Место не освобождается на диске, кроме как удаление последнего файла |
DEFRAG |
Оператор |
DEFRAG |
Удаляет файлы после DELF совсем, выполняет дефрагментацию диска. Не применять для систем с нестабильным питанием. Отключения питания в процессе приведет к разрушению файловой системы |
RENAME |
Оператор |
RENAME $(i),“BAC.TXT” |
Изменяет имя файла |
FCOPY |
Оператор |
FCOPY “REM.TXT”, $(i) |
Копирует файл в пределах диска |
EOF |
Функция |
A=EOF{} |
Возвращает 1, если достигнут конец файла или нет открытых файлов, и 0, если еще есть данные в файле. |
LOF |
Функция |
A=LOF{} |
Возвращает длину открытого файла |
LOC |
Функция |
A=LOC{} |
Возвращает текущую позицию чтения или записи в файле. |
SEEK |
Оператор |
SEC 200 |
Устанавливает текущую позицию чтения или записи в файле. Устанавливает на последний байт, если указатель превышает длину файла. В случае, если файл открыт как новый и указатель переместим вперед, данные в незаписанной области случайные. |
FPRINT$ |
Оператор вывода строки |
FPRINT$ #(i)
FPRINT$ $(i) |
Вывод массива переменных – до 63 байт, как строки с кодами символов в переменных в файл. Количество выводимых символов в ячейке #(i), сами коды символов в ячейках #(i+1) и далее (+2,+3…).Никаких дополнительных символов, включая перевод строки – не выводится. Источником массива данных могут быть только индексные переменные и массив не должен пересекать границы блоков по 256 байт. |
FPRINT@ |
Бинарный оператор вывода |
FPRINT@ #(i) |
Копируется один байт – значение переменной в файл. |
FPRINT# |
Оператор вывода |
FPRINT# #(i) |
Записывает два байта – значение переменной в файл в HEX записи. |
FPRINT |
Оператор вывода. |
FPRINT “DATE=”,X |
Печать в ранее открытый файл. Аналогично оператору PRINT, только данные выводятся в файл. Так будет *.csv файл. |
FREAD |
Чтение из файла, как числа. |
FREAD a FREAD a,Z,#(5) |
Из файла считывается число текстом до разделителя (запятая = *.csv) и как число записывается в обычную переменную. Указатель сдвигается за разделитель. В случае конца файла, файл будет закрыт. Если данные невозможно интерпретировать как число, переменная обнуляется. |
FREAD$ |
Чтение из файла, как текста. |
FREAD$ $(40)
FREAD$ 5,$(40),$(46) |
Чтение байт, как текст, из ранее открытого файла в индексную переменную с адреса 40. В случае конца файла, файл будет закрыт. В ячейку $(40) будет помещено количество байт считанное из файла первым, в ячейки $(41)-$(…) сами считанные данные. Первый считываемый байт в файле должен содержать длину записи. Максимально можно считать 63 байта. |
FREAD@ |
Бинарное чтение чисел |
FREAD@ $(40) |
Один байт будет скопирован из файла в ячейку $(40) |
FREAD# |
Чтение из файла в HEX записи |
FREAD# a,B,C |
Из файла считывается число в HEX записи и как число записывается в переменную. Для индексных переменных считывается два байта, для обычных - 4. В этом случае первые – старший байт. В случае конца файла, файл будет закрыт. Если данные невозможно интерпретировать как число в HEX записи, переменная обнуляется. |
WRITE |
Оператор для загрузки файлов |
WRITE “00112233FFAA” |
Запись в открытый файл последовательности байт 0x00 0x11 0x22 0x33 0xFF 0xAA. Файл может быть открыт как новый или как для циклической записи. Длинна одной ограничена длинной строки (26 байт данных). Длинна всех записей ограничена 32767 байт на один файл. |
READ |
Оператор для выгрузки файлов |
READ 10 |
Чтение из открытого файла с текущей позиции 10 байт в консоль. Формат вывода текстом, дополняется концом строки 0x0D,0x0A |
ПО распространяется под лицензией 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.