8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 72 73 74 75 76 77 78 ... 105

gnd

Контакты на экспериментальной плате пораллелонога порта

Рис. 6.26. Схема с использованием микросхемы TSL220

(•Если интенсивность света слишком мала, эта программа не будет работать,*)

(•Выход TSL220 соединен с контактом S1 экспериментальной платы параллельного порта.*)

uses

graph,crt,dos;

var

time.penod: real;

(•Загрузка файла библиотеки.*) {$1 c:\ioexp\tplib1.pas}

Procedure init 8253(low count byte, high count byte:byte); («Загрузка low byte и high byte в третий таймер 8253.*)

(«Тактовая частота 8253: 2x1193180 = 2386360 Гц, период тактовых импульсов 1/f = 0,419 не.*) begin

(«Управляющее слово = b6h = 10110110b:

10= выбор счетчика 2;

11= чтение/запись сначала младшего байта, а потом старшего; 011 = режим 3;

0 = двоичный счет на 16.*)

port($43) port ($42) port ($43) pOrt($61) port($43)

=$Ь6;

=low count byte; =high count byte; =port($61) or 1;

(•Загрузка управляющего слова в регистр 8253,*)

(«Загрузка младшего байта.*)

(•Загрузка старшего байта.*)

(•Отключение внутреннего динамика.*)

(*80Н - команда фиксации для третьего счетчика.*)

end;

Function read 8253:integer;

(•Считывание двух восьмибитовых регистров счетчика.*) var

low byte,high byte:byte; begin

low byte:=port($42); high byte:=port($43); read 8253:=low byte+256*high byte; end;


Function find period(Address:integer;Bit weight:integer):real;

(«Определение периода входного цифрового сигнала.

Входной сигнал зависит от адреса входного порта (Address) и бита.

Бит 0, Bit weight=1

Бит 1, Bit weight=2

Бит 7, Bit weight=128.*) var

count, average number,timel,time2:integer; begin

(«Определение длительности нулевого уровня цифрового сигнала. Она будет использоваться для установки значения переменной Average number.*)

repeat until port(Address) and Bit weight=Bit weight;(«Сигнал=1.*)

repeat until port(Address) and Bit weight=0;(*Сигнал=0,«)

timel:=read 8253;(«Считывание количества тактов 8253 первый раз.*)

repeat until port(Address) and Bit weight=Bit weight;(«Сигнал снова равен 1.*)

time2:=read 8253;(«Считывание количества тактов 8253 второй раз,*)

Average number:=round(100/(Time1-Time2));(«Нахождение переменной Average number.*)

if Average number=0 then Average number:=1;

repeat until port(Address) and Bit weight=Bit weight;(*Сигнал=1.*)

repeat until port(Address) and Bit weight=0;(*Сигнал=0. *)

timel:=read 8253;(«Считывание количества тактов 8253 первый раз.*)

for count:=1 to Average number do («Нахождение отрицательного фронта цифрового сигнала.*) begin

repeat until port(Address) and Bit weight=Bit weight; («Сигнал=1.*) repeat until port(Address) and Bit weight=0;(*Сигнал=0.«)

end;

Time2:=read 8253;(«Считывание количества тактов 8253 второй раз.*)

Find period:=((Tirae1-tirae2)*1/(2«1193180)*1e6/Average number); end;

(♦Главная программа. *) begin

Centronic address;

mit 8253(255,255);(«Инициализация третьего таймера 8253.*)

repeat

time penod:=find period(P address+1, 8); (*P address+1 - адрес порта состояния,

8 - вес бита D83.*)

gotoxyOO, 10); write(Time period of output signal from TSL220 [ns]: ,time period:8:1); gotoxyOO, 11); write(Frequency of the output signal [Hz]:, 1/time penod*1e6:8:l); delay(2000); until keypressed; end.

6.3.1. Линейная матрица световых детекторов TSL215

Оптоэлектронный датчик TSL215 (Texas Instruments) состоит из двух секций по 64 пиксела, организованных в линейную матрицу из 128 пикселов. Пикселы имеют размеры 120x70 мкм и расположены на расстоянии 125 мкм между центрами. Работа датчика подразделяется на два этапа: интегрирование и вывод данных.


На первом этапе каждый пиксел накапливает заряд, пропорциональный интенсивности падающего света; лучше освещаемые участки матрицы получают больший заряд. На втором этапе напряжение заряда каждой точки выводится через аналоговый выход. Это напряжение можно оцифровать с помощью АЦП.

Назначение выводов и внутренняя блок-схема светового детектора TSL215 приведены на рис. 6.27. На контакты 1 и 7, обозначенные Vdd, подается напряжение питания +5 В. Контакты 5 и 12 соединяются с общим проводом. Контакты 4 и 8 - это аналоговые выходы первой и второй секции AOl и А02. На вход CLK (контакт 3) подаются тактовые импульсы. Входы SI1 и SI2 (контакты 2 и 10)

Vdd

1А 7 )

1

:

2

3

64

1 Сброс I

1

Цепь опроса пиксело1

S64

Узел смитыба!

Буферный регистр

Q1 I02I03

064

64-разрядный регистр сд&иго

-д-г

...

о)

[оз

а О) I

8.5.1

т о й

Г с с

о

Е О

о- 3

о и

е- >-

г 5.?

5 о;

Токто&ый генератор

(13) so

CLK SI

Рис. 6.27. Назначение выводов и внутренняя блок-схема TSL215



0 ... 72 73 74 75 76 77 78 ... 105