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

0 ... 92 93 94 95 96 97 98 ... 105

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

ход

тактирующего - сигноло

Выход токтирующегс сигноло соединяется с осииллагрофом или чостотомером

Рис. 7.20. Схема на базе программируемого таймера/счетчика 8254

uses

dos,crt,

{$1 с \ioexp\tpliM pas} const

base frequency=2457600, («Частота тактового сигнала 8254 *)

var

command byte,

output frequency longint,

procedure setbit(bitnumber, bitvalue byte),

(«Установка значения определенного бита команды bitnumber=l-8 bitvalue=0 или 1 «) begin

if bitvalue=1 then command =command or bit weight(bitnumber), if bitvalue=0 then command =command and (255-bit weight(bitnumber)), end,

procedure initialization, («Установка всех линий в 1 *)


begin

command:=127;

write data port(P address,command); («Ввод команды в порт данных.*) output frequency: =1000; end;

procedure loaddata(address,data:byte);

(* Загрузка данных в регистр сдвига 74LS164 и запись в 8254,

address выбирает счетчик (0-2), регистр управления data определяет данные для записи

в регистры.

Во время загрузки (1) в DO загружаются данные sw[i]

(2) на D1 (CLOCK) подается перепад 0-1-0

(4)D7 (CS) = 0 для разблокирования ИС

(5)в D6 и D5 (АО и А1) должен быть загружен необходимый адрес

(6)на D4 (WR) подается перепад 1-0-1, после загрузки D4 все время должно быть равно 1.*)

var

d:array[1..8] of byte; i,AO,A1:byte; begin

if address=0 then begin AO if address=l then begin AO if address=2 then begin AO if address=3 then begin AO

(•Определение битов данных для последовательной передачи в 74LS164.*) for i:=8 downto 1 do begin

d[i]:=0;

if data>=bit weight(i) then begin

data:=data-bit weight(i); d[i]:=i;

end;

end;

=0;

A1

=0;

end;

=1;

A1

=0;

end;

=0;

A1

=1;

end;

=1;

A1

=1;

end;

(•Загрузка данных в регистры 74LS164 for i:=1 to 8 do begin

setbit(1,d[i])

setbit(2,0)

setbit(2,1)

setbit(2,0)

end;

О

write data port(P address,command); write data port(P address,command); write data port(P address,command); write data port(P address,command);

(•Занесение данных в ИС 8254 setbit(7,A0) setbit(6,А1) setbit(5,0); setbit(5,1);

write data port(P address, command); write data port(P address, command); write data port(P add ress,command);

end;

procedure signal generator(base frequency,frequency:longint); (•Настройка счетчика 2 в режим 3 - режим генератора сигналов.*) var

divisor:longint; high byte 0,low byte 0:byte;


begin

divisor:=round(base frequency/frequency); high byte 0:=divisor div 256; low byte 0:=divisor mod 256;

if divisor>65000 then writeln(Error in delay time); loaddata(3,$b6);(«Загрузка управляющего слова.*)

loaddata(2,low byte 0); («Загрузка младшего байта.*) loaddata(2,hlgh byte 0); («Загрузка старшего байта.*) end;

procedure test 8253; begin

write(Input output frequency [Hz] (0 to quit):); readln(output frequency);

signal generator(base frequency,output frequency); end;

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

centronic address;

initialization;

repeat

if output frequency>0 then test 8253 until output frequency=0; end.

7.5.2. Генератор с числовым программным управлением HSP45102

Микросхема HSP45102 (Harris Semiconductor, RS284-977) - это генератор с числовым программным управлением, который последовательно выдает 12-разрядный двоичный код, представляющий собой значения синусоидальной функции за один период. Частота и фаза колебания задаются программно. Частота сигнала определяется одним из двух предустановленных 32-разрядных слов, которые объединены в один 64-разрядный регистр. Слово, указывающее выходную частоту, выбирается с помощью входа управления SEL L/M. Фаза сигнала зависит от состояния входов Р0 и Р1, которые устанавливают начальный сдвиг фазы 0°, 90°, 180° и 270°.

Назначение выводов и внутренняя блок-схема приведены на рис. 7.21. Входы Vcc (контакты 8 и 22) и GND (контакты 7, 15 и 21) соединены с положительным и нулевым проводами источника питания. Напряжение питания +5 В. Потребляемый ток в активном режиме равен 99 мА, а в режиме ожидания - 500 мкА. CLK (контакт 16) - это вход тактового сигнала. Максимальная тактовая частота 33 МГц.

SCLK (контакт 14), SD (контакт 13), MSB/LSB (контакт И) и SFTEN (контакт 10) - входы секции управления частотой. SCLK и SD - тактовый вход и вход последовательных данных. Данные на входе SD сдвигаются во внутренние регистры микросхемы по положительному фронту импульсов SCLK. SFTEN - это вход разрешения сдвига. Для разрешения сдвига данных на него необходимо подать низкий уровень. Если MSB/LSB = 1, то первый сдвигаемый бит интерпретируется как старший, если 0 - как младший. Значение генерируемого гармонического колебания можно вычислить по формуле:

Выходная частота (Гц) = N х Fclk/2 32,



0 ... 92 93 94 95 96 97 98 ... 105