Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Исследование порта ввода-вывода на бис кр580вв55Содержание книги
Поиск на нашем сайте
1. Цель и задачи работы Ознакомиться со структурой микросхемы параллельного программируемого адаптера интерфейса КР580ВВ55 и с организацией её функционирования. Исследование возможности использования микросхемы в качестве порта для подключения клавиатуры (на примере учебно-отладочного устройства «Электроника 580»).
2. Теоретические положения Под портом ввода-вывода понимают интерфейсную буферную схему для программного управления вводом и выводом со стороны процессора или контроллера ввода-вывода (аппаратный канал). Микросхема КР580ВВ55 представляет совой универсальную программно-управляемую БИС для организации портов ввода-вывода информации в параллельной форме. Она позволяет подключить к магистрали данных микропроцессорной системы периферийные устройства практически любых типов. Условное графическое обозначение микросхемы приведено на рис. 1. Обмен информацией между магистралью данных системы и микросхемой КР580ВВ55 осуществляется через 8-разрядный двунаправленный тристабильный канал данных (D0..D7). Микросхема функционирует в трех режимах, она содержит два 8-разрядных и два 4-разрядных порта ввода/вывода, объединенных в две группы по 12 разрядов. В режиме 0 каждую группу из 12 линий можно запрограммировать на нестробируемый ввод или вывод, в режиме 1 каждую группу можно запрограммировать на стробируемые ввод или вывод, при этом 8 разрядов используются для передачи данных, а оставшиеся 4 – для управления обменом. В режиме 2 используется только одна группа, которая реализует стробируемый двунаправленный 8-разрядный канал обмена, управляемый сигналами пяти выводов. На рис.1 РА [0- 7], PB [0 - 7], PC [0 - 7] - выходы трех буферных регистров для подключения внешних устройств: младшие разряды порта С логически сгруппированы с портом В, а старшие - с портом А; АО, А1 - входы адреса для выбора одного из трех буферных регистров и регистра управляющего слова. Для сброса всех регистров в нулевое состояние служит вход R; CS - выбор микросхемы. Направлением передачи управляют входы RD (чтение данных из одного из регистров на шину данных) и WR (запись данных с шины DO...D7 в один из четырех регистров микросхемы. Рассмотрим более подробно функционирование микросхемы в трех основных режимах [I], [2]. Режим 0 обеспечивает программно-управляемый нестробируемый обмен информацией. Микросхема может рассматриваться как три 8-и разрядных порта независимо настраиваемых на ввод или вывод разрядных (каналы А, В и С). Вывод информации осуществляется по команде OUT микропроцессора с фиксацией выводимой информации в регистрах каналов, а ввод - по команде IN без запоминания информации. При этом на адресных входах АО, А1 должен быть установлен адрес порта: - 00h - адрес канала А; - 01h - адрес канала В; - 02h - адрес канала С.
Режим 1 обеспечивает стробируемый однонаправленный обмен информацией с внешним устройством. Передача данных производится по каналам А и В, а линии канала С используются для приема и выдачи сигналов управления обменом. В режиме ввода сигналы стробов, принимаемые со входов РС4 и РС2 записывают данные в регистры портов А и В соответственно и устанавливают единичным значением флаги состояния заполненности входных регистров и флаги состояния прерывания. Разряды РС4, РС2 используются для хранения флагов разрешения прерываний портов А и В соответственно, т.е. единицы, установленные в этих триггерах соответствуют разрешению прерываний. Выводы состояния заполненности РС5 (порт А) и РС1 (порт В) можно использовать для управления ВУ, а выходы прерываний РС3 (порт А) и РС0 (порт В) – для передачи сигнала запроса на ПДП. Разряды РС7, РС6 программируются на ввод или вывод разрядом управляющего слова (0 – ввод, 1 – вывод). При выводе в режиме 1 РС4, РС5 программируются на ввод или вывод, РС7 и РС1 хранят состояние выходных буферных регистров А и В (0 – буфер заполнен), их выводы используют для управления ВУ. РС3, РС0 как и ранее, показывают состояние прерывания, а РС6 и РС2 представляют собой триггеры разрешения прерываний. Режим 2 обеспечивает двунаправленную передачу по каналу А к внешнему устройству и обратно. Для передачи и приема сигналов управления обменом используются пять линий канала С: РС7=0 – выходной буфер полон, РС6 – подтверждение вывода, РС4 -строб ввода, РС5 – входной буфер полон, РС3 – запрос прерывания. Оставшиеся линии каналов B и С могут настраиваться на режимы 0 или 1. Режим работы каждого из каналов А, В и С определяется содержимым регистра управляющего слова (РУС), который записывается при установленном на адресных входах АО, А1 состоянии 11 (адрес 03h). Записав управляющее слово в РУС, можно перевести микросхему в один из трех рассмотренных режимов работы. Формат управляющего слова задания режимов приведен на рис. 2. В дополнение к основным режимам работы микросхема обеспечивает возможность программно-независимой установки в "1" и сброса в "0" любого из разрядов регистра канала С. Формат управляющего слова установки-сброса разрядов регистра канала С показан на рис. 3.
Режим работы каналов можно изменять как в начале, так и в процессе выполнения программы, что позволяет обслуживать периферийные устройства в определенном порядке одной микросхемой. При изменении режима работы любого канала все входные и выходные регистры каналов и триггеры состояния сбрасываются.
В учебно-отладочном устройстве "Электроника-580" микросхема КР580ВВ55 используется для подключения клавиатуры к микропроцессору. Схема подключения клавиатуры приведена, на рис. 4. Клавиатура представляет собой матрицу 3x8 клавиш, объединенных в три группы. Каждая группа подключена к соответствующему входу канала С интерфейса: - к выходу РС4 подключены клавиши; "0", "1", "2", "3", "4", "5", "6", "7"; - к выходу РС5 подключены клавиши: "8", "9", "А", "В", "С", "D", "Е", "F"; - к выходу РС6 подключены клавиши: "MEM", "REG" "ADR", "STEP", "RUN", "NEXT", "BRK", "CLR".
Канал А принимает информацию с клавиатуры. Канал С по линиям РС4 - РС6 выдает сигнал «0» опроса клавиатуры. Остальные линии этого канала выполняют следующие функции: - РС1: сигнал на разрешение прерывания; - РС2: сигнал на светодиод "Флаг Z "; - РСЗ: сигнал на светодиод "Флаг С "; - РС7: сигнал на разрешение ПДП для индикации (РС7 = 0 - ПДП запрещён, РС7 = 1 - ПДП разрешен). В УОУ с помощью контроллера прямого доступа к памяти на индикаторе отображается содержимое ячеек ОЗУ с адресами от 83F8h до 83FFh (ячейка с адресом 83F8h соответствует левому знаку дисплея). Ввод информации с клавиатуры осуществляется следующим образом. В исходном состоянии на линии РС4 - PC6 подаются сигналы логической единицы. В результате при нажатии любой клавиши код 11111111, поступающий на вход канала А, не изменяется. Затем поочередно на линиях РС4 - PC6 появляется сигнал логический ноль, что производится с применением записи специального управляющего слова (рис.3). При нажатии клавиши этот ноль поступает на соответствующую линию канала А. Для получения кода нажатой клавиши нужно использовать код, считанный с канала А. Процесс опроса клавиатуры выполняется периодически, пока не будет нажата одна из клавиш. Программа на языке ассемблера, выполняющая сканирование клавиатуры, формирование кода нажатой клавиши и вывод введенного символа на индикацию, приведена в приложении. В соответствии с программой для ввода информации с клавиатуры используется асинхронный (нестробируемый) метод обмена. Считанное значение преобразуется в двоичный код символа, а затем в код, необходимый для вывода на индикатор. Вывод символа осуществляется на самый правый индикатор дисплея. Если считанное число превышает 15 (F в шестнадцатеричной системе), то на индикаторе загораются четыре нижних сегмента.
3. Оборудование
Учебно-отладочное устройство "Электроника-580".
4. Задание на работу
4.1. Изучить функционирование программы, приведенной в приложении. На основании приведенной составить свою программу, выполняющую ввод только одного символа с клавиатуры с выводом его на индикацию. При вводе с клавиатуры любого другого символа на индикаторе задействовать четыре нижних сегмента. Варианты заданий приведены в таблице. 4.2. Составить схему алгоритма для вашей программы. Сопроводить ее комментариями, поясняющими сигналы в электрической схеме (рис. 4), вырабатываемые командами. Написать программу на языке ассемблера [3] и закодировать её в машинных кодах с указанием ячеек памяти и проверить правильность её работы на учебно-отладочном устройстве.
Таблица Варианты заданий
5. Порядок выполнения работы
5.1. До занятия ознакомиться с теоретическими положениями и ответить на контрольные вопросы. 5.2. Составить программу в соответствии с вариантом задания на языке ассемблера МП K580. 5.3. Составить схему алгоритма программы, сопроводив её соответствующими комментариями. 5.4. Закодировать программу в машинных кодах МП К580. 5.5. Ввести программу в память учебно-отладочного устройства. Переключатель "Прогон-Отладка" поставить в положение "Прогон". Запустить программу в счет. Проверить правильность работы программы путем нажатия клавиши и контроля введенного символа на индикаторе дисплея.
6. Оформление отчета
Отчет оформляется в тетради или на листах формата А4 и должен содержать: * названиекурса, названиеи цель работы, задание на исследование; * схему подключения клавиатуры к порам микросхемы К580 ВВ55. * схему алгоритма ввода с клавиатуры заданного символа с соответствующими комментариями, поясняющими сигналы, вырабатываемые командами; * листинг программы на языке ассемблера МП К580, обеспечивающей ввод с клавиатуры заданного символа (с программой в машинных кодах с указанием ячеек памяти и необходимыми комментариями).
7. Контрольные вопросы
7.1. Как работает микросхема КР580ВВ55 в режиме 0 и как задается этот режим? 7.2. Как работает микросхема КР580ВВ55 в режиме 1 и как задается этот режим? 7.3. Как работает микросхема КР580ВВ55 в режиме 2 и как задается этот режим? 7.4. Опишите формат управляющего слова при работе в режиме установки и сброса разрядов регистра канала С. 7.5. Как работает схема ввода информации с клавиатуры? 7.6. Как организовано сканирование клавиатуры? 7.7. Как организуется асинхронный ввод-вывод информации в К580? 7.8. Как осуществляется преобразование информации, введенной с клавиатуры в двоичный код символа?
Библиографический список
1. Микропроцессоры. Кн.1. Архитектура и проектирование микроЭВМ, Организация вычислительных процессов: Учебник для вузов/ Под ред. Л.Н. Преснухина. Л.: Высшая школа, 1986. - 495 с. 2. Хвощ С. Т., Варлинский Н. Н., Попов Е. А. Микропроцессоры и микроЭВМ в системах автоматического управления: Справочник. - Л.: Машиностроение, 1976. - 640 с. 3. Готовский В.Ю. и др. Программирование на языке Ассемблера для микропроцессора КР580ВМ80: Учебное пособие, М.: МЭИ – 1988.
Приложение ; Основная программа ввода символов с клавиатуры и вывода их на индикацию ORG 8200h;МАШИННЫЙ КОД XRA A;AF OUT 03;D3 03 ;Обращение к подпрограмме сканирования клавиатуры KLAV: CALL SCAN;CD 31 82 CPI 10h;FE 10 JM KL1;FA 10 82 MVI A, 5Ch;3E 5C JMP KL2;C3 1A 82 ;Формирование адреса индицируемого кода, соответствующего введенному числу KL1: LXI D, CONST;11 21 82 ADD E;83 MOV E, A;5F MVI A, 00h;3E 00 ADC D;8A MOV D, A;57 LDAX D;1A ; Вывод символа на индикатор KL2: STA 83FFh;32 FF 83 JMP KLAV;C3 03 82 HLT;76 ;Массив кодов символов для индикации CONST DB 3Fh, 06h, 5Bh, 4Fh DB 66h, 6Dh, 7Dh, 07h DB 7Fh, 6Fh, 77h, 5Dh DB 39h, 5Еh, 79h, 71h ;Подпрограмма сканирования клавиатуры и формирования кода введенного символа SCAN LXI H, 06FFh;;21 FF 06 ; в L - признак отсутствия нажатия, в Н - счетчик линий ;проверка нажатия клавиши SK1: IN 02;DB 02 ANI 8DH;E6 8D ORI 70H;F6 70 ; установка всех линий матрицы в 1 OUT 02;D3 02 MOV A, H;7C SUI 02h;D6 02 ; три линии просканированы? JC SCAN;DA 31 82 MOV H, A;67 ORI 08h;F6 08 OUT 03;D3 03 IN 00;DB 00 CMP L;BD ; нажатия не было? JZ SK1;CA 34 82 ; формирование кода введенного символа SK2: INR L;2C RAR;1F JC SK2;DA 4D 82 ; формирование кода введенного символа с учетом номера строки MOV A, H;7C RAL;17 RAL;17 ADD L;85 RET;C9 END
|
||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-04-26; просмотров: 2087; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.20 (0.012 с.) |