Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 5

Опрос датчиков

18.11.2014, 18:38. Показов 1674. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задача:опросить датчики (1,8,15).если сработал один или 2 датчика, то загорается соответствующая лампочка.если сработали все 3 датчика, то дополнительно загорается L14.опрос датчиков осуществляется через 5 секунд.

вообщем:2 редуктора 300 и 301, 16 лапочек..8 лампочек на 300 редукторе и 8 лампочек на 301 редукторе.

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
dt=5
kodl=0
OUT &H300,kodl
OUT &H301,kodl
OUT &H301,kodl
m1:
OUT &H300,128
OUT &H300,1
OUT &H301,64
tn=TIMER
Добавлено через 17 часов 11 минут
dt-интервал времени между опросами датчиков
dts-время на контроль ситуации
KODD-код принятый с линии данных
KODU- код реакций на ситуацию
kodl-код код выдавлив. на линии
kod1,kod3-код определяющий состояние с 1 по 3 датчик
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.11.2014, 18:38
Ответы с готовыми решениями:

Первое знакомство, опрос клавиатуры
Всем добрый день. Давно хотел сесть за этот бейсик. поставил q basic v.1.0 работает из виндовс. Знаком с бейсиком zx spectrum-а. ...

Опрос датчиков
Существуют-ли методы опроса множества (несколько сотен) контактных датчиков (скажем, концевиков) и передачи результатов на расстояние с...

Опрос 64-х датчиков на К1830ВЕ51
Всем привет, кто знает помогите!!! Карта опроса 64 датчиков (битовая информация) записана в ячейки 20Н-27Н РПД микроконтроллера...

9
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
19.11.2014, 01:11
Цитата Сообщение от бесперспект Посмотреть сообщение
вообщем:2 редуктора 300 и 301, 16 лапочек..8 лампочек на 300 редукторе и 8 лампочек на 301 редукторе.
А здесь не попутано понятие "редуктор" с понятием "регистр"?
0
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 5
20.11.2014, 14:03  [ТС]
да, перепутал.
0
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 5
24.11.2014, 00:36  [ТС]
вот!
Миниатюры
Опрос датчиков   Опрос датчиков   Опрос датчиков  

Опрос датчиков   Опрос датчиков   Опрос датчиков  

0
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
25.11.2014, 08:12
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
DEFINT A-Z
DIM AltTim AS SINGLE
DIM dt AS SINGLE, dts  AS SINGLE
DIM KODD, KODU, erst
DECLARE SUB SubOut (kod)
 
erst = 0
dt = 5
 
DO
a$ = INKEY$
LOOP WHILE a$ <> ""
 
DO
IF ((TIMER - AltTim) >= dt) OR NOT erst THEN
  AltTim = TIMER
  IF AltTim >= 3.402823E+38 - dt THEN AltTim = AltTim - 3.402823E+38
  erst = -1
  DEF SEG = VARSEG(KODD)
  POKE VARPTR(KODD), INP(&H300)
  POKE VARPTR(KODD) + 1, INP(&H301)
  DEF SEG
  KODD = KODD AND &H8102
  IF KODD = &H8102 THEN
     KODU = &HC102
  ELSE
     KODU = KODD
  END IF
  SubOut (KODU)
  dts = TIMER - AltTim
END IF
a$ = INKEY$
LOOP UNTIL a$ <> ""
 
END
 
SUB SubOut (kod)
DEF SEG = VARSEG(kod)
 OUT &H300, PEEK(VARPTR(kod))
 OUT &H301, PEEK(VARPTR(kod) + 1)
DEF SEG
END SUB
1.Почему запись и чтение идет по одним и тем же адресам?
2.Зачем нужно dts и прочие переменные?
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
25.11.2014, 16:21
Почему запись и чтение идет по одним и тем же адресам?
Мне гугл не сказал, что на порту &H300 находится...
До &H300 там бластеры с интервалом в &H20, чуть повыше MPU401 и Adlib, а на &H300 фиг его знает.
Пролейте свет кто-нибудь...
0
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
25.11.2014, 16:53
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Пролейте свет кто-нибудь...
&h300...&h31f: Prototype card (факт.: резерв).
Но мне интересно другое. В исходном задании производится чтение бита 1 регистра 300, 0 и 7 битов регистра 301, а затем эти значения записываются в эти же биты. Это очень похоже на "масло масляное".
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
25.11.2014, 17:31
vodav, по коду вообще непонятно что надо.
Сначала выделяются биты, потом снова собирается число из этих бит.
При этом проверяется куча каких-то бредовых условий типа может ли выделенный AND-ом бит3(с нуля)
ровняться 4-м, и дураку понятно, что он никогда не будет равен 4-м, т.к. 4 это бит2.
Схемы тоже ничего особо не дают.

Понятно, что ничего не понятно. В идеале нужно знать где порт команд, а где порт данных.
Что нужно послать в порт команд, чтобы считать с порта данных датчика значение, формат значения.
Тоже самое для индикации но на запись.

а затем эти значения записываются в эти же биты. Это очень похоже на "масло масляное".
Во во... Не может быть один и тот же порт в "простом случае" закреплён за индикацией и датчиком,
только по системе порт команд\порт данных. Про синхронизацию вообще ни слова.
0
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 5
24.12.2014, 21:34  [ТС]
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
CLS
t0=TIMER
dt=5
kodl=0
out&300,0
out&301,0
M1:
CLS
kod1=INP(&300)
kod2=INP(&301)
maska1=1
maska2=128
maska3=2
rezoult1=1 AND kod1
rezoult2=128 AND kod1
rezoult3=2 AND kod2
 
IF rezoult1=1 THEN d1=1 ELSE d1=0
IF rezoult2=128 THEN d2=1 ELSE d1=0
IF rezoult3=2 THEN d3=1 ELSE d1=0
 
n=d1+d2+d3
IF n>2 THEN GOTO 20 ELSE 10
 
10
kodu1=rezoult1+rezoult2
kodu2=rezoult3
GOTO 30
20
kodu1=rezoult1+rezoult2
kodu2=rezoult3+32
 
ts=TIMER
PRINT ts-t0
 
30
out&300,kodu1
out&301,kodu2
m4:IF ((TIMER-tn)>dt) THEN GOTO m1 ELSE GOTO m4
END
Добавлено через 1 минуту
кто нибудь может описать программу?
что обозначает TIMER

print ts-t0
t0 что такое
0
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
25.12.2014, 05:51
Цитата Сообщение от бесперспект Посмотреть сообщение
кто нибудь может описать программу?
Лучше автора этого никто не сделает.
Цитата Сообщение от бесперспект Посмотреть сообщение
что обозначает TIMER
Посмотрите справку (F1).
Цитата Сообщение от бесперспект Посмотреть сообщение
t0 что такое
В t0 записывается значение TIMER.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.12.2014, 05:51
Помогаю со студенческими работами здесь

Опрос температурных датчиков IPCON I-7033 D
Добрый вечер! Совсем нуль в датчиках, микропроцессорах и иже с ними. Но пришлось столкнуться с написанием программы, которая через COM-порт...

Написать код имитирующий опрос датчиков реактора в реальном времени
Всем привет! Нужно написать код имитирующий опрос датчиков реактора в реальном времени и не знаю как это реализовать На форме при...

Быстрый опрос датчиков по UART, настройка через WEB GUI, сервер
Есть куча датчиков с нестандартным протоколом. Датчики с разными адресами сидят на шине RS485 и ждут когда к ним обратится мастер. Интервал...

Калибровки датчиков.
Ув. форумчане. 1) Подскажите как обычно (или как грамотно) организуют оцифровку аналоговых сигналов и перевод их в другие физические...

Подключение датчиков
Здравствуйте, подскажите, пожалуйста, как к Ардуино осуществить подключение большого количества датчиков (10, 20, 50, 100), желательно,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru