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

0 ... 23 24 25 26 27 28 29 ... 105

for i:=1 to 4 do draw led(340+i*30,350,status[8+i]); output.input;

for i:=5 to 8 do draw led(340+i«30,350,status[8+i]);

if led selected>12 then led selected:=12;

if led selected<1 then led selected:=1;

(•Отображение окружности вокруг выбранного светодиода.•)

setlinestyle(0,0,3);

setcolor(cyan);

if led selected old<=8 then circle(30+30*led selected old,350,15)

else circle(340+30«(led selected old-8),350,15); setcolor(yellow);

if led selected<=8 then circle(30+30*led selected,350,15) else circle(340+30«(led selected-8),350,15);

end;

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

centromc address; («Ввод адреса параллельного порта.*) initialize graph;(«Инициализация графического режима.*)

draw panel;(«Рисование виртуальной панели.*)

led selected:=1; repeat

scan keyboard;(«Опрос клавиатуры для обнаружения нажатия клавиши.*)

until (key pressed=Q) or (key pressed=q); closegraph;(«Закрытие графического режима.*)

end.

Здесь используются две библиотеки - TPLIB1.PAS и TPLIB2.PAS, которые подключаются с помощью директивы ТР6 INCLUDE.

{$1 c:\ioexp\tplib1.pas} {$1 c:\ioexp\tplib2.pas}

Программа содержит три главные процедуры, находящиеся в библиотеке TLIB2.PAS: Draw panel рисует виртуальную панель управления экспериментальной платой, Draw led() и Draw message() - изображения виртуальных светодиодов и надписи. Процедура Output input управляет операциями ввода/вывода параллельного порта, Write data port(), write control port() и read status port() -операциями записи в регистры порта и чтения из них; они содержатся в библиотеке TPLIB1.PAS.

Процедура Scan keyboard опрашивает клавиатуру для обнаружения нажатия клавиш управления. Здесь используется функция get key из библиотеки TPLIB2.PAS.

3.1.2. Описание программы CENTEXP

Программа написана на языке VB3 и выполняет следующие функции:

О сообщает о количестве установленных на компьютере параллельных портов; О позволяет выбрать номер порта для его дальнейшего использования; О изменяет состояние битов регистра данных (8 бит) и регистра управления (4 бита);

О считывает данные из регистра состояния (4 линии).


Centronic port (LPT) on pour PC

Ш

2 Centronic ports (LPTsJ are instated on your PC. Thee base addresses ate: 888 Б32 Decimal

ЗВПуск g Adobe PhotoshopJ Centronic ports (LPT)

Рис. 3.2. Сообщение о количестве установленных параллельных портов

Нажмите кнопку ОК, и на экране появится другое окно (рис. 3.3). Здесь необходимо выбрать номер порта, к которому подключена экспериментальная плата. Введите номер порта (1-4) и щелкните по ОК. Вы увидите окно управления экспериментальной платой параллельного порта (рис. 3.4), содержащее информационную панель и 15 кнопок, которые выполняют следующие функции-

О Get it - обновление информации о состоянии входов. Красный цвет светодиода свидетельствует о высоком уровне соответствующей линии,

О 0-1 - изменение состояния битов регистра данных и управления При этом на панель выводится номер указанного порта и его базовый адрес,

О Change - выбор другого порта,

О Quit - выход из программы.

Для запуска программы в среде Windows нужно нажать кнопку Пуск и выбрать пункт меню Выполнить, а затем вписать ее полное имя путь + CENTEXP. После щелчка по кнопке ОК на экран выводится сообщение о количестве параллельных портов, установленных на компьютере, и их базовых адресах (рис. 3 2).


Рис. 3.3. Окно выбора параллельного порта

Текст программы CENTEXP

Объявление функции библиотеки динамической компоновки WLIB1 DLL

Объявляемые функции Centronic() Bit weight() Read status port() Write data port() и Write control port() Declare Function Centronic Lib С \Ioexp\Wlib1 dll (ByVal X As Integer) As Integer Declare Function Bit weight Lib С \Ioexp\WliM dll (ByVal X As Integer) As Integer Declare Function Read status port Lib С \Ioexp\WliM dll (ByVal address As Integer) As Integer

Declare Function Write data port Lib С \Ioexp\WliM dll (ByVal address As Integer ByVal Output data As Integer) As Integer

Declare Function Write control port Lib С \Ioexp\WliM dll (ByVal address As Integer ByVal Output data As Integer) As Integer

Sub Command1 Click()

input byte =read status port(P address) For l =12 to 15

status(i)=(input byte And Bit weigtit(i 11))/Bit weight(i-11)

If status(i)=1 Then Shape1(i) BackColor=&HFF& Else Shape1(i) BackColor=black

Next l

End Sub



0 ... 23 24 25 26 27 28 29 ... 105