Программирование контроллера приёма, задержки и выдачи информации

Автор работы: Пользователь скрыл имя, 02 Июля 2011 в 06:49, курсовая работа

Описание работы

Контроллер по запросу от управляемого объекта должен вызвать подпрограмму приёма в параллельном или последовательном коде N-байтов управляющего сообщения, в котором указывается произвольный управляющий шеснадцатиричный код, и записать его в модуль оперативной памяти. Затем перейти к подпрограмме временной задержки, реализуемую таймером. После истечения заданного времени задержки контроллер должен перейти к подпрограмме выдачи N-байтов принятого и задержанного управляющего сообщения в последовательном или параллельном коде в управляемый объект. Способ приёма и выдачи управляющей информации, время задержки указываются в варианте проекта.

Файлы: 1 файл

ЭВМ курсовик.doc

— 696.50 Кб (Скачать файл)

ВОЕННАЯ АКАДЕМИЯ СВЯЗИ 
 
 
 
 
 
 
 

Курсовой  проект  

по дисциплине “Организация ЭВМ и систем”. 
 

 “Программирование  контроллера приёма, задержки и  выдачи информации ”. 
 
 
 
 
 
 
 

                                 Выполнили:   мл.сержант 4382 уч.гр.     

                       Москвичёв К.С. 

                      курсант  4382 уч.гр.             

                           Мухамадеев Т.В. 

                                        

             Проверил: преподаватель каф.20            

                        Ладис Д.И. 
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       

Санкт-Петербург    2011г. 
 

  1. Задание.

    Контроллер  по запросу от управляемого объекта должен вызвать подпрограмму приёма в параллельном или последовательном коде N-байтов управляющего сообщения, в котором указывается произвольный управляющий шеснадцатиричный код, и записать его в модуль оперативной памяти. Затем перейти к подпрограмме временной задержки, реализуемую таймером. После истечения заданного времени задержки контроллер должен перейти к подпрограмме выдачи N-байтов принятого и задержанного управляющего сообщения в последовательном или параллельном коде в управляемый объект. Способ приёма и выдачи управляющей информации, время задержки указываются в варианте проекта.

Вариант № 6.

Порт приёма : 1a1a2a4c4

Таймер: 2Cч2б2б7б10т15

Порт выдачи: 3в1в9в12в13в15в19

  1. Цели проекта.

1. Разработать  функциональную схему контроллера на основе БИС микропроцессорного комплекса 580 серии.

2. Разработать  программу работы модулей (БИС)  проектируемого контроллера. 
 

3. Блок схема алгоритма работы контроллера

 

  1. Вычисление  УС параллельного  порта и слова для сравнения, время задержки для таймера, УС1 УС2 для таймера, УСреж. последовательного порта, УСком. последовательного порта.
 

    Параллельный  порт производит приём байтов в режиме 0 по каналу А с единичным значением  по 4-му разряду канала С.

    УС 0-го режима параллельного  порта 

    D7 D6 D5 D4 D3 D2 D1 D0
    1 0 0 1 1 0 0 1

    D7 - признак УС1

    D6,D5 – режим 0 канала А

    D4 – ввод по каналу А

    D3 – ввод старших разрядов канала С

    D2 – режим 0 канала В

    D1 – режим ввода по каналу В

    D0 – ввод младших разрядов канала С 

     

                                       - Управляющее слово параллельного порта = 99H.

                                        - Слово для сравнения = 10H. 
 

УС  режима работы таймера 

    D7 D6 D5 D4 D3 D2 D1 D0
    1 0 0 0 0 0 1 0
 

D7,D6 – номер счётчика

D5,D4 – запись младших и старших байтов Ксч

D3,D2,D1 – режим 1

D0 - 16-тиричная система

                                    - УС режима работы таймера  = 82H

                                 

    D7 D6 D5 D4 D3 D2 D1 D0
    1 1 1 0 1 0 0 0
 

D7,D6 – команда READ BACK

D5,D4 – считывание СС

D3,D2,D1 – по второму счётчику

D0 – безразлично(не используется)

                                      - УС состояния таймера  = Е8H 
 
 

Определение Ксч=Tзадержки х Fработы.сч 

15х10-3с х 2х106Гц=30х103 раз.

                                                         - задержка 7530H 

УС  режима последовательного  порта 

    D7 D6 D5 D4 D3 D2 D1 D0
    1 1 1 1 1 1 1 1

D7,D6 – асинхронный режим с длительностью стоп бита 2Тх

D5 – контроль по чету

D4 – наличие контроля

D3,D2 – длинна символа 8-ми разрядов

D1,D0 – скорость передачи данных 1-64 

                            -  УС режима последовательного   порта = FFH 

УС  команды последовательного  порта 

    D7 D6 D5 D4 D3 D2 D1 D0
    0 0 0 1 0 1 0 1
 
 

D7 – ввод режима поиска синхросимволов отменён (ЕN)

D6 – программный сброс адаптера (IR)

D5 – запрос готовности приёмника БУ принять данные (RTS)

D4 – сброс ошибок в СС (ЕR)

D3 – формирование низкого уровня на входе TxD

D2 – запрет приёмника (RxEN)

D1 – нет запроса готовности БУ выдать данные в порт

D0 – передача разрешения

                                - УС команду последовательного порта = 15H 

5.Программа  работы контроллера 

АДРЕС КО КОММЕНТАРИЙ
Работа  порта приёма
0А00 F3 запрет  прерываний.
0А01 06 (В2)-рег.(В)  MVI B
0А02 05 количество  байт инф. принимаемых в порту.
0А03 16 (В2)-рег.(D) MVI D рег D E содержат адрес ОП куда надо записать данные
0А04 OB старший разряд адреса ячейки памяти.
0А05 1E (В2)-рег.(Е)  MVI E
0А06 FF младший разряд адреса ячейки памяти.
0А07 3E MVI A (следующий байт в аккумулятор) загр. В аккум УС парал.порта
0А08 99 УС реж. параллельного порта
0А09 D3 OUT (вывод УС из аккум. В БУ) загр. УС из аккум. в БУ парал.порта
0А0А 9B БУ пар.порта
0А0В DB IN (загрузка содержимого канала С в аккум) цикл  проверяющий готовность порта принимать информацию если 4-ый разряд канала С 1- готов

0-не готов.

0А0С 9A адрес канала С
0А0D E6 ANI (поразрядная конъюнкция)
0A0E 10  выделение 4-го разряда
0A0F CA JZ (A==0 ―› переход (В3 В2)) условный  переход
0A10 OB L-младший байт перехода.
0A11 OA H-старший байт перехода.
0A12 DB IN (загрузка аккум. из В2) загрузка  содерж. рег. В2 по кан. А в аккум
0A13 98 адрес канала А
0A14 12 STAX (A) ―›M по адр. в паре регистров (E)(D)  
0A15 05 DCR B   (B)-1 уменьшение  на 1 адресов ОП рег. В Е
0A16 1D DCR E   (E)-1
0A17 F8 MOV A,B  для сравнения (В) ―›(А) сод. рег.В  помещ. в аккум для послед ср.
0A18 C2 JNZ (A≠0 ―› переход на В3 В2) условный  переход
0A19 OB L-младший байт перехода
0A1A 0A H-старший байт перехода
0A1B C3 JMP―›B3B2 безусловный переход на таймер
0A1C 00 L-младший байт перехода
0A1D 08 H-старший байт перехода
Работа  таймера
0800 3E MVI A загрузка  в аккум. УС1 таймера
0801 82 УС1 таймера
0802 03 OUT вывод УС1 в БУ таймера
0803 72 адрес БУ таймера
0804 3E MVI A загрузка данных по задержке в СЧ2
0805 0C младший байт задержки
0806 D3 OUT
0807 71 адрес СЧ2
0808 3E MVI A
0809 10 старший байт задержки
080А D3 OUT
080В 71 адрес СЧ2
080C 3E MVI A загрузка  в таймер УС2 для считывания СС
080D E8 УС2 счётчика для считыв. СС
080E D3 OUT
080F 72 адрес БУ таймера
0810 DB IN загрузка  СС из БУ в аккумулятор
0811 72 адрес БУ таймера
0812 E6 ANI (поразрядная конъюнкция) проверка  окончания счёта 1-кон. 0-не конец
0813 40 выделение 6-го разряда
0814 CA JZ (A==0 ―› переход (В3 В2)) сравнение аккум. с 0 если 0-переход 1-дальше.
0815 10 L-адр.перехода
0816 08 H-адр.перехода
0817 C3 JMP безусловный переход на порт выдачи
0818 00 L-адр.задержки
0819 09 H- адр.задержки
Работа  порта выдачи
0900 06 MVI B загрузка в параллельный порт управляющего слова режима и управляющего слова

команды

0901 05 кол-во байт информации
0902 1E MVI E
0903 FF L разряда вдреса
0904 3E MVI A
0905 FF УСреж. П-  
0906 D3 OUT
0907 81 адрес БУ П-
0908 3E MVI A
0909 15 УСком. П-
090A D3 OUT
090B 81 адрес БУ П-
090C 1A LDAX D,E вывод информации в порт
090D D3 OUT
090E 81 адрес буфера данных П-
090F 05 DCR B (код кол-ва байт) уменьшение  В-1 Е-1
0910 1D DCR E (мл. разряд адреса в ОП)
0911 78 MOV A,B (из В в аакум.) згр. из В в  аккум
0912 C2 JNZ (A≠0) ―› перех. на В3В2 условный  переход если А≠0 переход если А=0 след. ком.
0913 0C L  (мл.адрес перехода)
0914 09 H (ст.адрес перехода)
0915 F8 Е1 (разрешение прерываний)
0916 76 HTL (останов)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

6. Схема контроллера. 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

7.Вывод:

Мы практически разработали функциональную схему контроллера на основе БИС микропроцессорного комплекса 580 серии и программу работы модулей проектируемого контроллера, который должен  по запросу от управляемого объекта  вызвать подпрограмму приёма в параллельном или последовательном коде N-байтов управляющего сообщения, в котором указывается произвольный управляющий шеснадцатиричный код, и записать его в модуль оперативной памяти. Затем  перейти к подпрограмме временной задержки, реализуемую таймером. После истечения заданного времени задержки контроллер должен перейти к подпрограмме выдачи N-байтов принятого и задержанного управляющего сообщения в последовательном или параллельном коде в управляемый объект. Способ приёма и выдачи управляющей информации, время задержки указываются в варианте проекта.

Таким образом, проделав данную работу мы практически  применили наши знания о модулях  микропроцессорной ЭВМ. Закрепили  знание команд микропроцессора  В580ВМ80. Полностью разобрались с принципами составления управляющих слов портов ввода-вывода и таймера.

Информация о работе Программирование контроллера приёма, задержки и выдачи информации