Раздел: Документация
0 ... 77 78 79 80 81 82 83 ... 105 Пьезодинамик ztx300 -oN> Переключатель асы/термометр ТреВога Выход за границу ТреВога "низкая температура" Контакты на экспериментальной плате параллельного порта + 5В Переключение единиц измерения температуры L0 HI Выход синхроимпульсов Выгрузка последовательных данных о температуре ТреВога "Высокая температура" 5 12В Переключатель Времени измерения 10 с или 1 с Установка минут Установка часоВ GND включения Рис. 6.37. Жидкокристаллический температурный модуль- а - модуль; б - схема {$1 с \ioexp\tplib1.pas} var C or F,i:byte, Datax:array[1..12] of byte, Umtx char, Function Temperature: real; («Цикл считывания данных с температурного IK модуля.*) begin write data port(P address,1); («Нахождение заголовка - кратковременного (1 мс) положительного импульса.*) repeat repeat until read status port(P address) and 1=1; («Нахождение логического О Линия инвертирована.*) repeat until read status port(P address) and 1=0; («Нахождение логической 1. Линия инвертирована.*) delay(3),(«Задержка на 3 мс.*) vdo vss vdo vss Dl D2 D3 D4 D5 D6 D7 D8 D9 D10 Dll D12 D13 D14 PIN 9 PIN 9 PIN 10
Рис. 6.38. Формат последовательных выходных данных C or F:=round(read status port(P address) and 2/2); if C or F=1 then unitx.=C else unitx:=F; until read status port(P address) and 1=0; («Получение результата в градусах Цельсия (=1) или градусах Фаренгейта (=0).*) («Считывание двоично-десятичных данных. Последовательность считывания: 80,40,20,10,8,4,2,1,01 for i:=1 to 12 do begin repeat until read status port(P address) and1=1 repeat until read status port(P address) and1=0 repeat until read status port(P address) and1=1 ,04,02,01.«) («Нахождение логического 0,») («Нахождение логической 1,*) («Нахождение логического 0.*) datax(i]:=1-round(read status port(P address) and 2/2); («Считывание бита данных. Бит инвертирован *) end; («Генерация значения температуры.») Temperature:=10*(8*datax[1]+4*datax[2]+2.datax[3]+1«datax[4])+ 1»(8»datax[5]+4»datax[6]+2*datax[7]+1*datax[8])+ О,1*(8*datax[9]+4*datax[10]+2*datax[11]+1*datax[12]); end; («Главная программа, begin Centronic address; repeat gotoxy(20,10): write(Temperature from the module: delay(5000); until keypressed; end. («Выбор параллельного порта.*) ,temperature:5:1, ,unitx); 6.5. ЦИФРОВЫЕ ДАТЧИКИ ВЛАЖНОСТИ \Щ] 6.5. Цифровые датчики влажности Жидкокристаллический модуль влажности (Maplin, ZA38R) имеет такое же устройство, как и модуль температуры/времени, описанный выше. Он измеряет относительную влажность в диапазоне 25-96% и сохраняет минимальный и максимальный результат, полученный после последнего сброса (рис. 6.39). Датчик влажности размещен на плате. Обычно ЖК дисплей показывает текущее значение влажности, но при нажатии кнопок MIN и МАХ на дисплее соответственно отображаются минимальное и максимальное значения, которые хранятся во внутренней памяти датчика. Эту память можно очистить, нажав обе кнопки одновременно. Для вывода значений относительной влажности в четырехразрядном двоично-десятичном формате используются четыре выхода Ml - М4 (контакты 4-7) -см. рис. 6.40. Сначала по каждой выходной линии передается по два синхроимпульса, затем - четыре бита данных, отображающих состояния кнопок. И только после этого выводятся два разряда значения влажности (старший разряд идет первым). Схема модуля влажности показана на рис. 6.39. Модуль соединен с экспериментальной платой параллельного порта, четыре выхода - с контактами SI - S4 на Рис. 6.39. Жидкокристаллический модуль влажности и его включение 0 ... 77 78 79 80 81 82 83 ... 105
|