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

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
Примеры программирования

Экранное меню  с выводом часов и изменением 4-х параметров.

Используется LCD дисплей и 5 кнопок, с подключением описанным ранее.
Кнопки подключены  i/o17-21

Нажатие кнопок сопровождается звуковым сигналом

Изменяемые параметры хранятся  в #(0),#(1),#(2),#(3)
i -  указатель на выбранный парметр
j – тип отображения на дисплее; 0 часы, 1 заставка, 2 редактирование
$(10) – текстовая переменная с текущим значением  времени
Тип нажатых кнопок дополнительно выводится в консоль.

            Собственно программа с комментариями

0005 LINIT 1:REM ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ
0010 PAUSE 20:REM СТАРТ, ОЖИДАНИЕ ОТПУСКАНИЯ
0011 A=GKEY{0,2,62}:IF A<>62 THEN GOTO 10
0012 REM j - ВИД ДИСПЛЕЯ, i-НОМЕР ПРАМЕТРА
0013 REM #(i) САМИ ПАРАМЕТРЫ, $(10)- ВРЕМЯ
0018 REM WAIT PRESS ANY KEY
0020 PAUSE 50:A=GKEY{0,2,62}
0022 IF j=0 THEN GOSUB 510
0024 IF A=62 THEN GOTO 20
0025 REMНАЖАТА, Генерация звука
0030 BEEP 15,2
0040 REM SELECT AND PRINT NUMBER KEY
0042 CASE A,60,50,58,60,54,70,46,80,30,90
0043 REM выбор действия по коду кнопки -OK
0050 PRINT "PRESS OK"
0051 CASE j,0,55
0052 j=0:GOSUB 510
0053 GOTO 10
0055 j=1:GOSUB 520
0056 GOTO 10
0057 REM Нажали влево, меняем индекс
0060 PRINT "PRESS LEFT":j=2
0061 IF i>0 THEN i=i-1
0063 GOSUB 500
0064 GOTO 10
0070 PRINT "PRESS UP":j=2
0071 IF #(i)<255 THEN #(i)=#(i)+1
0072 GOSUB 500
0073 GOTO 10
0074 REM Нажали вниз,Уменьшим по индексу
0080 PRINT "PRESS DOWN":j=2
0081 IF #(i)>0 THEN #(i)=#(i)-1
0082 GOSUB 500
0084 GOTO 10
0085 REM Нажали вправо
0090 PRINT "PRESS RIGHT":j=2
0091 IF i<3 THEN i=i+1
0092 GOSUB 500
0093 GOTO 10
0094 REM Подпрограммы
0500 REM ОТОБРАЖЕНИЕ ПАРАМЕТРА
0501 AT 0:LPRINT " ПРАМЕТР #",i,"     "
0502 AT 40:LPRINT "ЗНАЧЕНИЕ = ",#(i),"    "
0503 RETURN
0504 REM
0510 REM ОТОБРАЖЕНИЕ НАЧАЛО
0511 AT 0:LPRINT "   РАБОТАЕМ      "
0512 STIME $(10):AT 40:LPRINT "   ",*$(10),"       "
0513 RETURN
0514 REM
0520 REM ОТОБРАЖЕНИЕ ПАРМЕТРОВ
0521 AT 0:LPRINT " ПАРАМЕТРЫ  0-3    "
0522 AT 40:LPRINT ~1,#(0),#(1),#(2),#(3)
0523 RETURN

            Она же в оптимизированном виде

0005 LINIT 1:REM ИНИЦИАЛИЗАЦИЯДИСПЛЕЯ
0010 PAUSE 20:A=GKEY{0,2,62}:IF A<>62 THEN GOTO 10
0020 PAUSE 50:A=GKEY{0,2,62}:IF j=0 THEN GOSUB 110
0024 IF A=62 THEN GOTO 20
0030 BEEP 15,2
0042 CASE A,60,50,58,60,54,70,46,80,30,90
0050 PRINT "PRESS OK"
0051 CASE j,0,55
0052 j=0:GOSUB 110
0053 GOTO 10
0055 j=1:AT 0:LPRINT " ПАРАМЕТРЫ  0-3    "
0056 AT 40:LPRINT ~1,#(0),#(1),#(2),#(3):GOTO 10
0060 PRINT "PRESS LEFT":j=2:IF i>0 THEN i=i-1
0061 GOTO 100
0070 PRINT "PRESS UP":j=2:IF #(i)<255 THEN #(i)=#(i)+1
0071 GOTO 100
0080 PRINT "PRESS DOWN":j=2:IF #(i)>0 THEN #(i)=#(i)-1
0081 GOTO 100
0090 PRINT "PRESS RIGHT":j=2:IF i<3 THEN i=i+1
0100 AT 0:LPRINT " ПРАМЕТР #",i,"     "
0101 AT 40:LPRINT "ЗНАЧЕНИЕ = ",#(i),"    ":GOTO 10
0110 AT 0:LPRINT "   РАБОТАЕМ      ":STIME $(10)
0111 AT 40:LPRINT "   ",*$(10),"       ":RETURN

При этом коды клавиш и текущее время можно одновременно просматривать на WEB странице.


ПО распространяется под лицензией 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.