Последние сообщения

Страницы: [1] 2 3 ... 10
1
Другой вариант подпрограммы изменения параметров, без использования переменных.
Работа только со стеком.

REM '*****************************************************
REM ' Модуль CHANGE_PARAMETR_V2.BAS
REM '*****************************************************
REM ' Требуется BASIC v3.4.2 или старше
REM '*****************************************************
REM 'Функция изменения параметра с кнопок и 
REM 'отображение его значения на дисплее
REM 'Передаваемые праметры в стеке §
REM ' §=адрес отображения параметра на дисплее
REM ' §=максимальное значение
REM ' §=минимальное  значение
REM ' §=шаг изменения
REM ' §=шаг изменения быстрый
REM ' §=размерность праметра (число знаков после запятой)
REM ' §=размерность праметра (число знаков всего)
REM ' §=текущее значение параметра
REM 'Возвращает код завершения
REM ' 1 - успешно 0 - выход по таймауту в стеке §
REM ' Само значение параметра в стеке §
REM 'Используются стек переменных +1
REM 'Обычные переменные не используются
REM '*****************************************************
REM ' Программа может работать на любых адресах строк
REM '*****************************************************
REM 'Используем прямой доступ к стеку,относительно вершины
REM ' ПЕЧАТЬ ЗНАЧЕНИЯ, ОЖИДАНИЕ НАЖАТИЯ
1000 AT З:LPRINT .В,%Б,А:§=KEY{15}:BEEP 15,2
REM ' ИЗМЕННИЕ ПАРМЕТРА , ПЕРЕХОД ПО КОДУ КНОПКИ
1001 CASE §,0,+11,1,+2,2,+4,4,+6,8,+8,16,+10
1002 GOTO -2
1003 А=А+Д:IF А>Ж THEN А=Ж
1004 GOTO -4
1005 А=А-Д:IF А<Е THEN А=Е
1006 GOTO -6
1007 А=А+Г:IF А>Ж THEN А=Ж
1008 GOTO -8
1009 А=А-Г:IF А<Е THEN А=Е
1010 GOTO -10
REM ' Выход по КНОПКЕ, запишем в стек и понизим 
1011 З=А:Ж=1:§-:§-:§-:§-:§-:§-:RETURN
REM ' Выход по таймауту , запишем в стек и понизим 
1012 З=А:Ж=0:§-:§-:§-:§-:§-:§-:RETURN
REM '*****************************************************
2
Установка даты и времени с использованием подпрограммы из первого поста

REM '*****************************************************
REM ' Требуется Модуль CHANGE_PARAMETR.BAS
REM '*****************************************************
REM ' Требуется BASIC v3.4.1 или старше
REM '*****************************************************
REM '            Пример изменения даты и времени
REM '*****************************************************
REM ' Программа может работать на любых адресах строк
REM ' Возможно портребуется скорректировать адрес вызова
REM ' модуля CHANGE_PARAMETR.BAS - GOSUB 1000
REM '*****************************************************
REM 'ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ HD44780
0100 LINIT 1:BEEP 15,2
REM '1 строка 00h - 13h (00 - 19)
REM '2 строка 40h - 53h (64 - 83)
REM '3 строка 14h - 27h (20 - 39)
REM '4 строка 54h - 67h (84 - 103)
REM '*************************************************
0101 CLS:AT 0:LPRINT " Установка даты "
0102 AT 64:LPRINT "Год    20"
0103 §=73:§=25:§=15:§=1:§=1:§=0:§=2:§=YEAR{}
0104 GOSUB 1000
0105 IF §=0 THEN GOTO +33
0106 YEAR §
REM '*************************************************
0107 AT 64:LPRINT "Месяц    "
0108 §=73:§=12:§=1:§=1:§=1:§=0:§=2:§=MONTH{}
0109 GOSUB 1000
0110 IF §=0 THEN GOTO +28
0111 MONTH §
REM '*************************************************
0112 AT 64:LPRINT "День     "
0113 §=73:§=31:§=1:§=1:§=1:§=0:§=2:§=DAY{}
0114 GOSUB 1000
0115 IF §=0 THEN GOTO +23
0116 DAY §
REM '*************************************************
0117 AT 64:LPRINT "День нед."
0118 §=73:§=7:§=1:§=1:§=1:§=0:§=2:§=DAYS{}
0119 GOSUB 1000
0120 IF §=0 THEN GOTO +18
0121 DAYS §
REM '*************************************************
0122 CLS:AT 0:LPRINT "Устан-ка времени"
0123 AT 64:LPRINT "Часы     "
0124 §=73:§=23:§=0:§=1:§=1:§=0:§=2:§=HOUR{}
0125 GOSUB 1000
0126 IF §=0 THEN GOTO +12
0127 HOUR §
REM '*************************************************
0128 AT 64:LPRINT "Минуты   "
0129 §=73:§=59:§=0:§=1:§=10:§=0:§=2:§=MIN{}
0130 GOSUB 1000
0131 IF §=0 THEN GOTO +7
0132 MIN §
REM '*************************************************
0133 AT 64:LPRINT "Секунды  "
0134 §=73:§=59:§=0:§=1:§=10:§=0:§=2:§=SEC{}
0135 GOSUB 1000
0136 IF §=0 THEN GOTO +2
0137 SEC §
REM '*************************************************
REM ' Установки завершены, показываем
0138 CLS:AT 4:SDATE $(0):LPRINT *$(0)
0139 AT 68:STIME $(0):LPRINT *$(0)
0140 PAUSE 1000:GOTO -2
REM '*******
******************************************
3
Пример использования  подпрограммы из предыдущего поста

REM '*****************************************************
REM ' Требуется Модуль CHANGE_PARAMETR.BAS
REM '*****************************************************
REM ' Требуется BASIC v3.4.2 или старше
REM '*****************************************************
REM '            Пример изменения параметра
REM '*****************************************************
REM ' Программа может работать на любых адресах строк
REM ' Возможно портребуется скорректировать адрес выъова
REM ' модуля CHANGE_PARAMETR.BAS - GOSUB 1000
REM '*****************************************************
REM 'ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ HD44780
0100 LINIT 1:BEEP 15,2
REM '1 строка 00h - 13h (00 - 19)
REM '2 строка 40h - 53h (64 - 83)
REM '3 строка 14h - 27h (20 - 39)
REM '4 строка 54h - 67h (84 - 103)
REM '*************************************************
0101 CLS:AT 0:LPRINT "Настройка Uin"
0102 AT 64:LPRINT "Уровень "
0103 AT 79:LPRINT "В"
REM ' §=адрес отображения параметра на дисплеее
REM ' §=максимальное значение
REM ' §=минимальное  значение
REM ' §=шаг изменения
REM ' §=шаг изменения быстрый
REM ' §=размерность праметра (число знаков после запятой)
REM ' §=размерность праметра (число знаков всего)
REM ' §=текущее значение параметра
0104 §=72:§=2400:§=0:§=1:§=10:§=1:§=4:§=2200
0105 GOSUB 1000
0106 IF §=0 THEN GOTO +3
REM 'Возвращает код завершения
REM ' 1 - успешно 0 - выход по таймауту в стеке §
0107 CLS:LPRINT "Выбрано значение"
0108 AT 64:LPRINT .1,%4,§,"   Вольт":END
0109 CLS:LPRINT "Таймаут,значение"
0110 AT 64:LPRINT .1,%4,§,"   Вольт":END
REM '*****************************************************

4
Пример программы изменения какого либо параметра с кнопок и отображение его на дисплее

REM '*****************************************************
REM ' Модуль CHANGE_PARAMETR.BAS
REM '*****************************************************
REM ' Требуется BASIC v3.4.1 или старше
REM '*****************************************************
REM 'Функция изменения параметра с кнопок и 
REM 'отображение его значения на дисплее
REM 'Передаваемые праметры в стеке §
REM ' §=адрес отображения параметра на дисплеее
REM ' §=максимальное значение
REM ' §=минимальное  значение
REM ' §=шаг изменения
REM ' §=шаг изменения быстрый
REM ' §=размерность праметра (число знаков после запятой)
REM ' §=размерность праметра (число знаков всего)
REM ' §=текущее значение параметра
REM 'Возвращает код завершения
REM ' 1 - успешно 0 - выход по таймауту в стеке §
REM ' Само значение параметра в стеке §
REM 'Используются переменные
REM 's текущее значение параметра
REM 't длинна переменной , символы
REM 'u размерность праметра
REM 'v шаг изменения быстрый
REM 'w шаг изменения
REM 'x минимальное значение
REM 'y максимальное значение
REM 'z адрес отображения параметра на дисплеее
REM '*****************************************************
REM ' Программа может работать на любых адресах строк
REM '*****************************************************
REM ' ЗАГРУЗКА ДАННЫХ
1000 s=§:t=§:u=§:v=§:w=§:x=§:y=§:z=§
REM ' ПЕЧАТЬ ЗНАЧЕНИЯ, ОЖИДАНИЕ НАЖАТИЯ
1001 AT z:LPRINT .u,%t,s:§=KEY{15}:BEEP 15,2
REM ' ИЗМЕННИЕ ПАРМЕТРА , ПЕРЕХОД ПО КОДУ КНОПКИ
1002 CASE §,0,+11,1,+2,2,+4,4,+6,8,+8,16,+10
1003 GOTO -2
1004 s=s+w:IF s>y THEN s=y
1005 GOTO -4
1006 s=s-w:IF s<x THEN s=x
1007 GOTO -6
1008 s=s+v:IF s>y THEN s=y
1009 GOTO -8
1010 s=s-v:IF s<x THEN s=x
1011 GOTO -10
REM ' Выход по КНОПКЕ 
1012 §=s:§=1:RETURN
REM ' Выход по таймауту
1013 §=s:§=0:RETURN
REM '*****************************************************
5
1.
   Q: Подключился терминалом - на любую команду ответ BASIC WORK
   A:  Программа на BASIC Выполняется. Прервать выполнение  -  BREAK.  Дополнительные возможности:
SET AUTORUN ON   - Включить автозапуск программы по включения питания со строки с наименьшим номером.
SET AUTORUN OFF    - Выключить автозапуск.

2.
   Q: Можно ли вывести из строя контроллер "кривой программой" на BASIC ?
   A: Нет. Выдаст ошибку , с указанием номера строки и номера оператора в строке, также тип ошибки , например :
LINE:0010 :0 SYNTAX ERROR    при выполнении программы
> :0 SYNTAX ERROR  - если неправильно набрана в консоли

3.
6
Запустили в производство  DEVICE PICµBASIC LOGIC CONTROLLER и USB PICUBASIC LOGIC CONTROLLER.
Так же есть модули расширения.
Есть в наличии.  Подробнее тут http://www.picping.lg.ua/market/index.htm
7
Обсуждение материалов сайта picping.lg.ua / Re: Хотелка Амплипульс.
« Последний ответ от Sergej Сентябрь 08, 2016, 05:31:49 pm »
 :'( а сэкономить хотелось
8
Спасибо буду следить. :)
9
Обсуждение материалов сайта picping.lg.ua / Re: Хотелка Амплипульс.
« Последний ответ от Gennadiy Сентябрь 08, 2016, 04:09:31 pm »
Цена вопроса на один прибор для личного пользования?

Она будет складываться из нескольких частей частей -
Стоимость разработки прибора - примерно  50-1000 * стоимость аналогичного серийно производимого прибора.
Поскольку прибор медицинский - стоимость производства 5-ти экземпляров и разнобразных испытаний.
Стоимость сертификации и допусков
Ну и собственно стоимость изготовления одного, который попадет к Вам в руки.
Так что купите готовый, сэкономить не получится.
 
10
Отмечу сразу я не профессионал. Есть в наличии контролеры бу ТХ9042 Trolex, и несколько датчиков для них, но нет преобразователя интерфейсов USB->RS485 (Modbus - основной протокол, Mystic, Sap, Sarply). Интересует использование WEB PICµBASIC в качестве такого преобразователя для самостоятельного изучения работы с контролером ТХ9042 Trolex.

Не совсем понятно, чего собственно хочется.  Любое устройство с интерфейсом RS485 можно подключить к USB с помощью USB PICµBASIC LOGIC CONTROLLER -  http://picping.lg.ua/pic_basic/index.htm


Цену на WEB PICµBASIC не нашел.

Тут  http://picping.lg.ua/eth_pic_basic/index.htm есть все для самостоятельной сборки. Все варианты подключения модулей расширения и ПО.
Сборка контроллеров производится только на заказ и в нужной аппартной конфигурации.
Ориентировочно с октября будут производится OEM партнером и можно будет купить готовые у него.
Страницы: [1] 2 3 ... 10