Смекни!
smekni.com

Микропроцессорная система управления на базе интерфейсов персонального компьютера (стр. 2 из 2)

3. К155ИД3

Микросхема представляет собой дешифратор четырехзначного двоичного кода. По входам Е0 и Е1 подаются сигналы разрешения выходов, чтобы устранять текущие выбросы, которыми сопровождается дешифрация кодов, появляющихся не строго синхронно (например, поступающих от счетчика пульсации). Чтобы разрешить прохождение данных на выходы, на входы Е0 и Е1 следует дать напряжение низкого уровня. Когда на входах Е0 и Е1 присутствуют напряжения высокого уровня, то на выходах 0-15 появляются также высокие уровни.

Дешифратор К155ИДЗ потребляет ток 56 мА. Время задержки распространения сигнала для цепи "вход А – выход" составляет 36 нс. Внешний вид и обозначения контактов приведены на рис. 4.5.


1 Номинальное напряжение питания 5 В
5 %
2 Выходное напряжение низкого уровня не более 0,4 В
3 Выходное напряжение высокого уровня не менее 2,4 В
4 Входной ток низкого уровня не более -1,6 мА
5 Входной ток высокого уровня не более 0,04 мА
6 Ток потребления не более 56 мА
7 Время задержки распространения при включении по входам 20 - 23 по входам 18, 19 не более 33 нс не более 27 нс
8 Время задержки распространения при выключении по входам 20 - 23 по входам 18, 19 не более 36 нс не более 30 нс
9 Время дешифрации не более 35 нс
10 Потребляемая мощность не более 294 мВт

Разработка принципиальной схемы

С компьютера необходимые данные, сформированные программным путем, посылаются в порт на 8- разрядную шину данных D0-D7. Через интерфейсный кабель они попадают на микросхему DD1 – шинный формирователь, выполняющий 2 функции усиление сигнала, защиту LPT порта от высокого потенциала в случае пробоя одного из транзисторов.

С выхода DD1 усиленный по уровню сигнал подается на микросхему DD4 – регистр данных, куда они записываются по управляющему сигналу (С1) из порта и хранятся до подачи нового управляющего сигнала. С выхода DD4 данные поступают прямиком на регистры DD5-DD6 данных выбранной группы устройств.

Программа формирует следующий пакет данных, отвечающих за выбор микросхемы на платах управления, в которую будут записаны переданные ранее данные. Снова происходит посылка в порт, и данные через DD1 попадают одновременно на входы регистра данных DD4, по управляющему сигналу (С0) данные записываются в регистр. Регистр DD4 разрешает запись в один из двух регистров данных (DD5-DD6), которые идут с регистра DD4.

Информация с регистров DD5 – DD6 подается на транзисторы VT1-VT16. При подаче на эти транзисторы напряжения высокого уровня они открываются.

При контроле состояния объектов данные, сформированные компьютером, поступают через порт на DD1 - шинный формирователь, а с него на дешифраторы DD7-DD8, которые подключены к горизонтальным линейкам матрицы объектов. Вертикали подключены к шинному формирователю DD3 (через который осуществляется контроль) с одной стороны, а с другой стороны на них подается +5В (логическая 1).

Разработка программного обеспечения

Для разработки программного обеспечения для обеспечения функций управления и контроля воспользуемся средой Delphi. В среде разработки создадим форму и добавим на неё 3 объекта типа TEdit и 2 объекта типа TButton:


Для управления регистрами LPT порта будем использовать библиотеку inpout32.dll. Необходимо в заголовке программы, в секции uses поместить прототипы функций Out32 и Inp32 со специальной директивой компилятора external, говорящей откуда нужно эти функции брать:

function Inp32(PortAdr: word): byte; stdcall; external 'inpout32.dll';

function Out32(PortAdr: word; Data: byte): byte; stdcall; external 'inpout32.dll';

Создадим обработчик кнопки "Считать", код которого будет реализовывать считывание данных по адресу, указанному в поле Edit1 и вывод считанных данных в поле Edit2:

procedure TForm1.Button1Click(Sender: TObject);

var

Data: Byte;

i: integer;

begin

Out32($37A, 12); //разрешаемдешифрацию DD7

for i:=0 to 3 do

begin

out32($378,i); //записываемврегистрданных

Data:= Inp32($379); //считываем с регистра управления

Edit2.Text:=IntToStr(Data);

end;

Out32($37A, 4); //запрещяем выполнение каких-либой действий

end;

Создадим обработчик кнопки "Записать", код которого будет реализовывать запись указанных данных (0-255) по указанному адресу (0-15):

procedure TForm1.Button2Click(Sender: TObject);

var

data:string;

adress:string;

begin

adress:=edit3.Text;

data:=edit4.Text;

Out32($378, StrtoInt(data)); //Записываем в регистр DD5

Out32($37A ,6); //разрешаем запись в DD5

Out32($37A, 4); //запрещяем выполнение каких-либой действий

Out32($378, StrtoInt(adress)); //Записываем в регистр DD4

Out32($37A, 5); //разрешаем запись DD4

Out32($37A, 4); //запрещяем выполнение каких-либой действий

Out32($37A, 0); //разрешаем дешифрацию DD6

Out32($37A, 4); //запрещяем выполнение каких-либой действий

end;

Построение селектора адреса для Системного интерфейса ISA

Расчет базового адреса порта

44*8+300Н = 352(160Н)+768(300Н)= 460Н

В двоичной системе исчисления: 0000 0100 0110 0000

A0 – 0

A1 – 0

A2 – 0

A3 – 0

A4 – 0

A5 – 1

A6 – 1

A7 – 0

A8 – 0

A9 – 0

A10 – 1

A11 – 0

А12 – 0

А13 – 0

А14 – 0

А15 – 0


Список литературы

1.Меркулов, А. В., Микропроцессорная система управления на базе интерфейсов персонального компьютера[Текст]:: Учеб. пособие. – Хабаровск: Изд-во ДВГУПС, 2004. – 70 с.: ил.

2. Программирование LPT портов на Delphi Электронный ресурс].- Электрон.дан. .- Режим доступа: http://radiolomaster.net

3. Якубовсий, С.В. Цифровые и аналоговые интегральные микросхемы[Текст]: Справочник / С.В. Якубовский, Л.И. Ниссельсон, В.И. Кулешова и др. – М.: Радио и связь, 1089. – 496 с.

4. "Интегральные микросхемы: Справочник" / Б. В. Тарабин, Л.Ф. Лунин, Ю. Н. Смирнов и др.; под ред. Б. В. Тарабрина. – М.: Радио и связь, 1984 – 528с., ил.

5. Работа с LPT под Win 2000, XP: библиотека inpout32.dll[Электронный ресурс].- Электрон.дан. .- Режим доступа: http://www.pcports.ru/articles/2.php