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

0 ... 90 91 92 93 94 95 96 ... 105

dummy:=dummy+(read status port(P address) and 1)*bit weight(i);

(«Считывание данных с линии SDA.*)

delay(1);

(*SCL=1 - 0.*)

(*Если приняты последние данные, то SDA=1.>

(«Если принятые данные еще не последние, то SDA=0 для подтверждения. («Генерация тактовых импульсов подтверждения.*)

SCL(O);

end;

if stop flag then begin

SDA(1); ACK;

end

else begin

SDA(O); ACK; SDA(1);

end;

receive:=dummy; end:

(*TP6 программная библиотека PC № 9, генерация условия "СТОП" Procedure STOP; (•Генерация условия "СТОП".*) begin

SDA(O); (*SDA=0.*) SCL(1); (*SCL=1.*) SDA(1); (*SDA=0 - 1.*) end;

procedure init time; («Инициализация времени.*) begin

write(Input initial second:); write(Input initial minute:); write(Input initial hour:); wnte(Input initial day:); write(Input initial date:); write(Input initial month:); write(Input initial year:); write(Input initial control word: end;

procedure init 41T56(second,minute,hour,day,date,month,year,control word; byte) (•Установка значения секунд, минут, часов, дня недели, числа, месяца и года.*) begin

(«Генерация условия "СТАРТ".*) (•Передача подчиненного адреса, R/W=0.*) (•Смещение указателя на адрес 9.*) (•Передача секунд.*)

read(second);

read(minute);

read(hour);

read(day);

read(date);

read(month);

read(year);

read(control word)

start;

transmit(208); transmit(O); transmit(BCD(second)) transmit(BCD(minute)) transmit(BCD(hour)): transmit(BCD(day)); transmit(BCD(date)); transmit(BCD(month)); transmit(BCD(year)); transmit(BCD(control word

(•Передача минут. С


function МК41Т56(х:byte):real; var

data:аггау[1..500] of byte; begin

start;(«Генерация условия "СТАРТ".*)

transmit(208);(«Передача подчиненного адреса, R/W=0.*)

transmit(O);(«Смещение указателя на адрес 0 «)

start;(«Новая генерация условия "СТАРТ" для чтения.*)

transmit(208+1 );(«Передача подчиненного адреса 208+1 D, R/W=1.*)

for i:=1 to 6 do data[i]:=receive(false); («Считывание данных с подтверждением.

data[7]:=receive(true); («Считывание данных без подтверждения.»)

(«При чтении адрес регистра увеличивается автоматически.») (•Преобразование данных в формат времени.*)

if х=1 then MK41T56:=data[1] and (64+32+16)/16.10+data[1] and (8+4+2+1); if x=2 then MK41T56:=data[2] and (64+32+16)/16«10+data[2] and (8+4+2+1); if x=3 then MK41T56:=data[3] and (32+16)/16«10+data[3] and (8+4+2+1): if x=4 then MK41T56:=data[4] and (4+2+1);

if x=5 then MK41T56:=data[5] and (32+16)/16«10+data[5] and (8+4+2+1); if x=6 then MK41T56:=data[6] and (32+16)/16«10+data[6] and (8+4+2+1); if x=7 then MK41T56:=data[7] and (128+64+32+16)/16«10+data[7] and (8+4+2+1); end;

procedure show time; begin

writelnC Inter 1С bus 41T456 Timer); writeln;

writeCInput initial second:); writeln(MK41T56( 1):5:0); writeCInput initial minute:); writeln(MK41T56(2):5:0); write(Input initial hour:); writeln(MK41T56(3):5:0); writeCInput initial day:); writeln(MK41T56(4):5:0); writeCInput initial date:); writeln(MK41T56(5):5:0); writeCInput initial month:); writeln(MK41T56(6):5:0); writeCInput initial year:); writeln(MK41T56(7):5:0); end;

begin

centronic address; init time;

init;(«Инициализация линий SCL и SDA.*)

init 41T56(second,minute,hour,day,date,month,year,control word); repeat

clrscr;

show time;

delay(10000); until keypressed; end.

7.5. Генераторы сигналов с цифровым управлением

Генераторы сигналов с цифровым управлением позволяют формировать цифровые и аналоговые сигналы с частотой, устанавливаемой цифровой схемой управления. Микросхемы 8253/8254 - это интегральные таймеры/счетчики, которые широко используются для генерации цифровых сигналов. Микросхемы HSP45102 и ML2036 - программируемые генераторы синусоидальных колебаний.


7.5.1. Программируемый таймер/счетчик 8254

Микросхема (рис. 7.18) снабжена тремя 16-разрядными программируемыми счетчиками, каждый из которых имеет по три линии ввода/вывода: CLK, GATE и OUTPUT. На вход CLK подается тактовый сигнал частотой от 0 до 8 МГц. Вход GATE управляет запуском и остановкой счетчика. Если на этот вход поступает сигнал высокого уровня, то счетчик включается. На выходе OUTPUT появляется выходной сигнал счетчика. Режимы работы микросхемы задаются с помощью восьмиразрядной двунаправленной шины данных и пяти линий управления (АО, Al, WR, RD и CS). Данные записываются в четыре внутренних регистра: регистр

1 (DO D7

Буфер донних

Регистр управления

Счетмик О

Снетчик 1

Счетмик 2

{9JCLK0

{jj)gateo {ш)оито

{l5)CLKl {и) GATE 1

{t3)outi

{?8)CLK2

{f)GATE2

{l7)0UT2

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



0 ... 90 91 92 93 94 95 96 ... 105