3 Разработка программных средств мпс
3.1 Постановка и формулировка задачи инициализации интерфейсного модуля
В соответствии с заданием необходимо инициализировать БИС интерфейсного модуля на следующие режимы работы МПС:
- обеспечить параллельный обмен информацией от принтера и 2 семисегментных индикатора. Принтер подключаю к каналу А и настраиваю на 1 режим работы – вывод. На канал В подключаю семисегментный индикатор, настраиваю на 0 режим работы – вывод. На канал С подключаю второй семисегментный индикатор, настраиваю на 0 режим работы – вывод. Для обеспечения требуемых режимов работы каналов необходимо загрузить управляющее слово (УС) в регистр управляющего слова (РУС) ППИ;
- обеспечить режим прямого доступа к памяти от одного УВВ с помощью БИС КР580ВТ57 (КПДП). УВВ подключен на 0 канал, поэтому настраиваю нулевой канал на ввод 7100 байт на 8-15 страницы ОЗУ, начиная с адреса 8 страницы – 2000. КПДП работает в режиме нормальной записи, без автозагрузки и в режиме фиксированного приоритета. Для обеспечения заданного режима, необходимо запрограммировать КПДП, т. е. загрузить определенную информацию в регистры К0 (РА0, РЦ0 и РУ0) и регистры К1 (РА1, РЦ1 и РУ1), а также в регистр режима (РР);
- обеспечиваем режим прерываний от одного УВВ .Зададим область векторов прерываний на 8 странице ОЗУ, начиная с адреса 2000h. Вектора следуют друг за другом через 4 байта. Для программирования ПКП, необходимо загрузить в него УСИ1 и УСИ2.
№ стр. |
HEX |
8 |
2000 |
… |
|
23FF |
|
9 |
2400 |
… |
|
27FF |
|
10 |
2800 |
… |
|
2BFF |
|
11 |
2C00 |
… |
|
2FFF |
|
12 |
3000 |
… |
|
33FF |
|
13 |
3400 |
… |
|
37FF |
|
14 |
3800 |
… |
|
3BBB |
|
3BBC |
|
… |
|
3BFF |
|
15 |
3C00 |
… |
|
3FFF |
3.1.1 Инициализация КР580ВВ55 (ППИ)
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
Сформируем адреса регистров всех каналов:
Адрес ППИ = 84 h = 100001002
Адрес канала А = 100001002 = 84 h
Адрес канала В = 100001012 = 85 h
Адрес канала С = 100001102 = 86 h
Адрес РУС = 100001112 = 87 h
3.1.2 Инициализация КР580ВТ57 (КПДП)
Запрограммируем канал 0 (К0). Запишем содержимое регистров РА, РЦ, РУ. Передача должна осуществляться с адреса 2000 h.
РА0 = 2000 (8 стр.)
РЦ0 = N – 110 = 710010 – 110 = 709910 = 1BBB16 = 01101110111011 2 , где N=7100 – количество передаваемых байт.
0 |
1 |
Чтение |
Запись |
РУ0 =
Memory УВВ
Ввод
MWR IORD
При программировании РУ0 и РЦ0 объединяются:
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
Запрограммируем РР (УС)
D7 D6 D5 D4 D3 D2 D1 D0
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
D7 = 0 – автозагрузки нет
D6 = 1 – запрет после окончания передачи
D5 = 0 – нормальная запись
D4 = 0 – фиксированный приоритет
D3 = 0 – к каналу 3 не подключено УВВ
D2 = 0 - к каналу 2 не подключено УВВ
D1 = 0 - к каналу 1 не подключено УВВ
D0 = 1 – к каналу 0 подключено УВВ, работает
Определяем адреса регистров 0 канала и регистра режимов.
Каждый регистр каждого канала имеет свой 8-миразрядный адрес. А7-А4 определяется из адреса контроллера системы, а А3-А0 – адрес конкретного регистра.
Адрес КПДП = 20 h = 001000002
Адрес РА0 = 001000002 = 20 h
Адрес (РУ+РЦ)0 = 001000012 = 21 h
Адрес РР = 001010002 = 28 h
3.1.3 Инициализация КР580ВН59 (ПКП)
Запишем первый адрес области вектора прерываний в двоичной системе:
3BC016 = 00111011110000002
Сформируем УСИ1 :
УСИ1 = 110101102 = D6 h
Сформируем УСИ2:
УСИ2 = 3B h
Сформируем адреса для УСИ1 и УСИ2:
Адрес ПКП = Е2 h = 111000102
Адрес УСИ1 = Е2 h = 111000102
Адрес УСИ2 = Е3 h = 111000112
3.2 Блок-схема алгоритма программы инициализации интерфейсного модуля.
DI ; запрет прерываний
Инициализация
ППИ УС
= А0 h
РУС Инициализация
КПДП 2000
h
РА0 5BBB
h
(РУ+РЦ)0 41
h
РР
Инициализация
ПКП УСИ1
= D6
h
ПКП УСИ2
= 3В h
ПКП
EI
; разрешение
прерываний
3.3 Разработка программы на языке Assembler
Инициализация КПДП:
DI ; запрет прерывания
MVI A, 00 ; 00 A
OUT 20 ; младший байт РА0 К0
MVI A, 20 ; 20 A
OUT 20 ; старший байт РА0 К0
MVI A, BB ; BB A
OUT 21 ; младший байт (РУ+РЦ)0 К0
MVI A, 5B ; 5B A
OUT 21 ; старший байт (РУ+РЦ)0 К0
MVI A, 41 ; УС = РР
OUT 28
EI ; разрешение прерываний
Инициализация ПКП:
DI ; запрет прерываний
MVI A, D6 ; УСИ1 A
OUT E2 ; УСИ1 ПКП
MVI A, 3B ; УСИ2 A
OUT E3 ; УСИ2 ПКП
EI ; разрешение прерываний
Инициализация ППИ:
DI ; запрет прерываний
MVI A , A0 ; УС А
OUT 87 ; A0 РУС
EI ; разрешение прерываний
IN 84 ; ввод в канал А
OUT 85 ; вывод из канала В
OUT 86 ; вывод из канала С1 (С3 – С0)
OUT 87 ; вывод из канала С2 (С7 – С4)
Заключение
В результате данной курсовой работы была разработана микропроцессорная система на базе микропроцессорного комплекта КР580 в соответствии с техническим заданием.
Необходимые требования, предъявленные к разработанной МПС, были представлены при анализе проектируемой системы, в соответствии с которым, проводились основные этапы разработки. В числе разработанных блоков и модулей вошли: блок центрального процессора, модуль памяти, интерфейсный модуль. Блок центрального процессора состоит из следующих БИС: КР580ВМ80А (центральный процессор), КР580ВК38 (системный контроллер), КР280ИР82 (буферный регистр).
Модуль памяти состоит из модуля ОЗУ, построенного на ИМС К537РУ10, и модуля ПЗУ, построенного на ИМС К573РФ4.
Разработанный интерфейсный модуль обеспечивает реализацию различных видов обмена данными, а именно параллельный ввод/вывод, ввод/вывод по прерываниям и ввод/вывод с прямым доступом в память. Программная реализация приведенных видов обмена заключилась в инициализации интерфейсных БИС и разработке средствами языка ASSEMBLER итоговой программы. Графически реализация представлена в разработанной блок-схеме алгоритма.
Результатом работы над курсовым проектом стал комплект конструкторской документации, состоящий из следующих документов:
-пояснительная записка ТКАС.431321.001ПЗ;
-схема электрическая структурная ТКАС.431321.001Э1;
-схема электрическая принципиальная ТКАС.431321.001Э3;
-перечень элементов ТКАС.431321.001ПЭ3.
ЛИТЕРАТУРА
1 Сайты:
- vtest/vmin
-mp.nntc.nnov.ru
2 Конспект лекций по дисциплине «МП и МПС» за 3 курс.