Раздел: Документация
0 ... 78 79 80 81 82 83 84 ... 105 * о Не используется Пер&ая Вторая цифра цифра Коды клаЬиии
Рис. 6.40. Временные диогроммы выходо последовательных донных плате через четыре транзисторных ключа. Программа на языке ТР6, приведенная ниже, считывает данные из модуля и на их основе вычисляет влажность. Текст программы HMODULE.PAS Program Humidity lCDjnodule, (* М1 (контакт 4) соединен с S1 Линия инвертирована М2 (контакт 5) соединен с S2 Линия инвертирована МЗ (контакт 6) соединен с S3 Линия инвертирована М4 (контакт 7) соединен с S4 Линия инвертирована *) uses Crt.dos {$1 с \ioexp\TPLIB1 PAS} var C or F,l byte, datax array[1 12] of byte, umtx char Function Input data byte, (•Все входы порта состояния инвертированы *) begin mput data =5-read status port(P address), end, Function Humidity real, (•Считывание значения влажности из модуля влажности •) var keypressed data digit 1st digit 2nd byte, 6.6. ЦИФРОВЫЕ ДАТЧИКИ РАСХОДА ЖИДКОСТИ ЩЩ begin («Нахождение логического 0 перед заголовком.*) repeat until input data=15;(«Нахождение логической 1 на всех входах." delay(500);(«Задержка 500 мс.*) («После задержки на входе 0.*) («Заголовок (два положительныхимпульса) пропускается.*) repeat until input data=15;(«Нахождение логической 1.») repeat until input data=0;(«Нахождение логического 0.*) repeat until input data=15;(«Нахождение логической 1.*) repeat until input data=0;(«Нахождение логического 0.*) («Считывание данных о нажатии клавиши.») repeat until input data<>0; Keypressed data:=input data; if keypressed data<15 then begin («Пропуск одного синхроимпульса.*) repeat until input data=15; repeat until input data=0; end else repeat until input data=0; (♦Считывание первой цифры.*) repeat until input data<>0; digit 1st:=input data; (*Пропуск одного синхроимпульса.*) repeat until input data=15; repeat until input data=0 («Считывание второй цифры.*) repeat until input data<>0; digit 2nd:=input data; if digit 2nd=15 then digit 2nd:=0; («Генерация значения влажности.*) Humidity:=(digit 1st)*10+(digit 2nd); end; (•Главная программа.*) begin Centronic address; (*Выбор параллельного порта.*) Repeat gotoxy(20,10); write( Humidity from the module:,humidity:5:1,%); delay(5000); until keypressed; end. («Ввод данных о нажатии клавиши. («Нахождение логической 1.* («Нахождение логического 0. (•Ввод данных о нажатии клавиши." («Нахождение логической 1.*) (♦Нахождение логического 0.*) («Ввод данных о нажатии клавиши. 6.6. Цифровые датчики расхода жидкости Цифровой датчик расхода жидкости (UCC International, RS185-9982) - это трехконтактный датчик жидкостного потока (рис. 6.41). В его канале расположена нейлоновая крыльчатка, насаженная на вал из нержавеющей стали; когда в канале baxog - зеленой + 5В - кроеной \ п Общий - синий Блок датчика - Кабель Входящий поток
Зоходящий поток Входящий поток \
+ 5В S1 gnd Контакты но экспериментальной плоте пороллельноао порто Выходящий поток Рис. 6.41. Схемы датчика расхода жидкости протекает жидкость, крыльчатка вращается. В датчик также встроены инфракрасный излучатель и детектор. Все устройства размещены внутри датчика, внешних элементов не требуется. Крыльчатка, вращаясь под воздействием потока, периодически закрывает своими лопастями инфракрасный детектор, что приводит к появлению на выходе детектора прямоугольных импульсов, которые после усиления подаются на выходные контакты устройства. Частота следования импульсов пропорциональна скорости потока жидкости. Каждый литр воды, протекающей через датчик, приблизительно соответствует 752 импульсам. Датчик измеряет скорость потока от 1 до 20 л/мин. 0 ... 78 79 80 81 82 83 84 ... 105
|