Нижегородский Государственный Технический Университет им.

Интерфейсы периферийных устройств.

Лабораторная работа №2.

ПРОГРАММИРУЕМЫЙ АДАПТЕР ПОСЛЕДОВАТЕЛЬНОГО ОБМЕНА КР580ВВ51

Выполнили:

Студенты гр. 10-В-2

Принял:

Нижний Новгород

2013

Цель работы:

Изучить структуру, программирование, работу в разных режимах и подключение к шинам микро-эвм контроллера КР580ВВ51.

Задание:

Организовать схему и программу обмена между приемником и передатчиком последовательности из 5 слов разрядностью 6 бит с 2-мя стоповыми битами, с битом контроля по четности. Режим обслуживания по прерыванию от приемника, режим асинхронный. Скорость передачи 9,6 Кбод

Схема для исследований приведена на Рис.1.

В ходе выполнения лабораторной работы были произведены следующие эксперименты.

Первый вариант программы: передача одного слова данных. (Была произведена успешно)

lxi sp, 300h

mvi b, 0A5h

mvi a, 0F5h ;запись инструкции режима

out 01h

mvi a, 05h ;запись слова приказа

out 01h

mov a, b

out 04h ;вывод на дисплей

out 00h ;передача МС 51А

ei

:m

nop

jmp m

skip 20h ;ПП обработки прерывания

in 00h ;считать принятый байт

out 04h ;вывести его на экран

ei

ret ;возврат из ПП прерывания

Временная диаграмма.

Журнал:

Передача одного слова, длиной 6 бит была произведена успешно.

Блок-схема:

Второй вариант программы: передача массива данных.

Листинг:

lxi sp, 300h

:m2

mvi a, 0F5h ;запись инструкции режима

out 01h

mvi a, 05h ;запись слова приказа

out 01h

lxi h, m1

mov a, m

НЕ нашли? Не то? Что вы ищете?

out 04h ;вывод на дисплей

out 00h ;передача МС 51А

:metka

ei

mov a, m

nop

cpi 0ffh

jnz metka

jmp m2

skip 20h ;ПП обработки прерывания

in 00h ;считать принятый байт

out 04h ;вывести его на экран

inr l

mov a, m

out 00h;

mov a, l

ei

ret ;возврат из ПП прерывания

:mass

m1 db 0a5h, 0b5h, 0c5h, 0d5h, 0e5h, 0ffh ; массив исходных данных

Временная диаграмма.

В ходе работы была выявлена следующая проблема:

Запись второго и последующих слов в передатчик не происходила. Вследствие этого на выходе передатчика формировалась одна и та же диаграмма о передачи первого загруженного слова.

Журнал:

Для решения возникшей проблемы пришлось производить программный сброс контроллера последовательно обмена КР580ВВ51, и заново производить инициализацию перед передачей каждого слова (см. третий вариант программы).

Третий вариант программы (успешная реализация).

Листинг:

lxi sp, 300h

:m2

mvi a, 0F5h ;запись инструкции режима

out 01h

mvi a, 05h ;запись слова приказа

out 01h

lxi h, m1

mov a, m

out 04h ;вывод на дисплей

out 00h ;передача МС 51А

:metka

ei

nop

cpi 0ffh

jnz metka

jmp m2

skip 20h ;ПП обработки прерывания

in 00h ;считать принятый байт

out 04h ;вывести его на экран

mvi a, 45h ;запись слова приказа

out 01h

mvi a, 0F5h ;запись инструкции режима

out 01h

mvi a, 05h ;запись слова приказа

out 01h

inr l

mov a, m

out 00h

out 04h

ret ;возврат из ПП прерывания

:mass

m1 db 0a5h, 0b5h, 0c5h, 0d5h, 0e5h, 0ffh ; массив исходных данных

Блок-схема:

Овал: начало

Запись в передатчик первого слова из массива

 

Запись в передатчик следующего слова из массива

 

Сброс настроек контроллера

Настройка контроллера

 

Считывание пришедшего в приемник слова

 
Ромб: В аккумуляторе символ конца массива?

Ожидание прерывания, пока передатчик не передаст слово в приемник

 

Настройка контроллера

 


да

нет

Осциллограмма:

Журнал:

Для того, чтобы решить возникшую перед нами проблему, был произведен программный сброс контроллера, и заново произведена инициализация перед передачей каждого слова.