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