Курсовая работа: Шина расширения ISA
Рисунок 5.4 - Микросхема КР1533ИД3
К155ЛП5 - микросхема представляет собой 4 двухвходовых логических элемента "исключающее ИЛИ".
Рисунок 5.5 Условное графическое изображение К155ЛП5
Операционный усилитель К140УД12
Этот тип ОУ имеет следующие характеристики:
Iвх, мкА 7-50
fс, Мгц 0.3-1
Uвых, в/мкс' 0.1-0.8
Uпит, В + - (5% 15)
Iпотр., мА 0.03-0.6
Uсм, мВ 5
Кус Ц*103 50
Рис.5.6 Условное обозначение и цоколёвка операционного
усилителя К140УД12
6 . Разработка графического структурного алгоритма программы
Прикладная программа, управляющая разработанным устройством, представляет собой исполняемый файл main.com. Работу устройства можно задать изначально в начале выполнения main.com, с помощью параметра D - число, заносимое в регистр RG для установки соответствующего сопротивления.
Программа должна:
1. Запросить управляющий байт.
2. Занести в указанный порт введённый байт.
3. Ожидать сигнала с шины данных, если он получен - вывести сообщение
В программе можно выделить 3 основных логических блока - занесение управляющего слова в регистр, перехват прерывания 08h, параллельное слежение за шиной данных.
Блок схема работы программы (структурный графический алгоритм) приведен в Приложении данного курсового проекта.
6.1 Разработка прикладной программы и описание её возможностей
По сложности программирования интерфейс ISA занимает среднее место между Centronics с одной стороны, и PCI и SCSI с другой. Особенностью программирования Centronics является абсолютная простота, т.к все сигналы доступны для программирования. ISA - доступность только шины данных и портов ввода-вывода, PCI - сложность программирования шины в целом.
Данная прикладная программа управляет разработанным нестандартным периферийным устройством. Это управление довольно просто, так как изначально устройство работало абсолютно автономно, и мне пришлось вводить дополнительные управляющие регистры и делать параллельные отводы от схемы, что ввело лишь небольшие усложнения в работу устройства в целом.
Программа является резидентной, т.е. находится постоянно в памяти. Загружается командой “main.com”, инициализирует устройство, и предлагает ввести байт D, где D - число, заносимое в управляющий регистр (по умолчанию оно равно 0), и выгружается “main.com u".
Находясь в памяти, программа постоянно следит за шиной данных, и если пришло сообщение о включении/выключении нагревателя, выдаёт соответствующее сообщение.
6.2 Листинг программы
comsegment segment para
org 100h