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

0 ... 88 89 90 91 92 93 94 ... 105

(«ТР6 программная библиотека 12С № 8, прием данных от шины 12С.*) Function receive(stop flag:boolean);byte; («Прием данных через шину.*) var

i,dummy:byte; begin dummy:=0;

for i:=8 downto 1 do begin

SCL(1); (*SCL становится равным 1.*) delay(1);

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

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

delay(1);

SCL(O); («SCL=1 - 0,*)

end;

if stop.flag then begin

SDA(1); (*Если приняты последние данные, то SDA=1.*) АСК;

end

else

begin

SDA(O); («Если принятые данные еще не последние, то SDAO для подтверждения.*) АСК;(«Генерация тактовых импульсов подтверждения.*)

SDAC1);

end;

receive:=dummy; end;

(*TP6 программная библиотека 12С № 9, генерация условия "СТОП".*)

Procedure STOP;

(♦Генерация условия "СТОП".*)

begin

SDA(O) SCL(1) SDA(1) end;

(*SDA=0.*) (*SCL=1.*) (*SDA=0 - 1.*)

Procedure Write R0M byte (block,Address,data:byte);

(«Запись байта только для чтения, block и address определяют ячейку памяти.*) begin

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

transmit(128+32+2*block); (Передача битов управления, адреса блока и RD/WR

(=0, настройка режима записи).*) transmit(address);(«Передача адреса ячейки памяти внутри блока,*)

transmit(data);(«Передача данных.*)

stop;(«Генерация условия окончания.*)

delay(50); end;

Function Read R0M byte(block,Address;byte):byte; begin

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


(«Передача битов управления, адреса блока и RD/ЯЯ

(=0, настройка режима записи).*)

(«Передача адреса ячейки памяти внутри блока.*)

(•Генерация условия "СТАРТ",*)

(•Передача битов управления, адреса блока и RD/WR

(=1, настройка режима чтения).*)

(•Прием данных. •)

(•Генерация условия "СТОП".»)

transmit(128+32+2*block);

transmit(address); start;

transmit(128+32+2*block+l);

Read ROM byte:=receive(true) stop; end;

Procedure test write read; begin

write(Select a memory block (0,1,2 and 3);); readln(block); write(Select an address in the block (0-255):); readln(address); write(Input the data to be written to ROM:); readln(data); write ROM byte(block,address,data); writeln;

writeln(The data written to the ROM:, read ROM byte(block,address)); writeln(Press one RETURN to continue and two RETURN to stop); readin; delay(4000); end:

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

centronic address;

repeat cerscr;

Test write read; until keypressed; end.

7.4. Системы отсчета реального времени

Микросхемы отсчета времени - обязательный компонент систем управления внешними объектами в реальном масштабе времени. Такие микросхемы, как правило, состоят из автономной схемы отсчета времени/даты и интерфейсных схем сопряжения, которое обычно осуществляется через параллельную шину, имеющую восемь разрядов для данных и несколько линий управления. В качестве примера можно привести микросхемы HD146818 и MSM6242. В последнее время появились новые типы ИС этого класса, например МК41Т56 и PCF8573, поддерживающие работу с шиной 12С. Количество линий ввода/вывода в них существенно меньше.

Микросхема МК41Т56 (SGS-Thomson) - это маломощный хронометр с объемом памяти 512 бит, которые организованы в 64 байтовых слова. Первые восемь байт используются для хранения значения времени и даты. Устройство поддерживает работу с шиной PC в качестве ведомого устройства. Микросхема постоянно следит за напряжением питания: если оно падает ниже определенного уровня, передача данных блокируется, что предотвращает запись ошибочной информации. При использованиитштиевой батареи на 3 В, емкостью 30 мА-ч, срок хранения данных превышает 10 лет.


Назначение выводов и внутренняя блок-схема приведены на рис. 7.15. Контакты 8 и 4 соединены с положительным и отрицательным проводами источника питания на +5 В

Генератор 32 768кГц

Делитель

Сброс

Схема

питания

управления

Т

Упро&ляющая

Регистр

логика

ВЬодо/

одресо

Ьа&одо

Секунды

Минуты

4ocd

Денв

Дата

Год

Управление

ОЗУ (56x8)

Рис. 7.15. Назначение выводов и внутренняя блок-схема МК41Т56

Устройство потребляет ток 3 мА в активном режиме и 1 мА в режиме ожидания (SDA = SCL =1). Входы OSC0 и OSC1 соединены с кварцем 32,768 МГц. SCL - это линия синхронизации, а SDA - двунаправленная линия данных шины PC. FT/OUT - выход проверки частоты. После записи во внутренний регистр микросхемы соответствующего управляющего слова на выходе появляется прямоугольный сигнал частотой 512 Гц. Этот выход может использоваться как программно управляемый.

Функции 64 байт ячеек памяти таковы:

адрес=0регистр секунд (биты 0-6,00-59, двоично-десятичный формат)

адрес= 1регистр минут (биты 0-6,00-59, двоично-десятичный формат)

адрес=2регистр часов (биты 0-5, 00-23, двоично-десятичный формат)

адрес=3регистр дней (биты 0-2, 01-07, двоично-десятичный формат)

адрес=4регистр чисел (биты 0-5, 01-31, двоично-десятичный формат)

адрес=5регистр месяцев (биты 0-4,01-12, двоично-десятичный формат)

адрес=6регистр лет (биты 0-7, 00-99, двоично-десятичный формат)

адрес=7регистр управления (см. далее)

адрес=8-63 ОЗУ



0 ... 88 89 90 91 92 93 94 ... 105