Проектирование микроконтроллера на микропроцессоре 8086

Автор: Пользователь скрыл имя, 06 Июня 2013 в 12:54, курсовая работа

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

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

Содержание

Введение 4
1. Функциональное проектирование 6
1.1. Анализ исходных данных 6
1.2. Выбор и обоснование структуры микроконтроллера 7
1.3. Обобщенный алгоритм функционирования 10
2. Структурное проектирование 12
2.1. Разработка алгоритма программного обеспечения 12
2.2. Реализация программного обеспечения на языке ассемблера 14
2.3. Проектирование структуры блоков микроконтроллера 17
2.3.1. Проектирование структуры блока памяти 18
2.3.2. Проектирование структуры блока ввода данных 22
2.3.3. Проектирование структуры блока индикации 25
2.3.4. Программное управление устройствами ввода – вывода 31
2.3.5. Проектирование блока центрального процессора 32
3. Схемотехническое проектирование 38
Заключение 43
Список используемой литературы 44

Работа содержит 1 файл

Пояснительная записка.doc

— 417.00 Кб (Скачать)

Данная БИС  представляет собой ПЗУ наименьшего  объема из всех найденных микросхем. Для реализации 16-разрядной памяти используем 4 БИС КР556РТ11. Таким образом, получаем ПЗУ объемом в 512 байт. Этого более чем достаточно для хранения кода программы.

Адресные  линии А7 – А0 всех четырех БИС  подключаем к линиям адреса А8 – А1 шины адреса системного интерфейса микроконтроллера (см. рис. 2.4).

Входы CS1 и CS2 БИС используются для выборки кристалла. Выборка происходит при подаче низкого потенциала на эти оба входа. Поэтому, входы CS2 всех 4 микросхем заземляем, а входы CS1 подключаем к управляющей линии MEMR блока процессора (см. рис. 2.4).

Выходы DO4 – DO1 БИС подключаются к шине данных системного интерфейса микроконтроллера (см. рис. 2.4).

 

 

 


 

 

 

 

 

 

 

Рис. 2.3. УГО БИС КР556РТ11

 

При чтении из ПЗУ, на шину данных в любом случае будет подаваться 16-разрядное слово, из которого процессор по необходимости выберет требуемый байт и поместит его в регистр, указанный в команде. Поэтому сигналы BHE и А0 на блок памяти не подаются.

Таким образом, в системе будет установлено ПЗУ объемом 512 байт, физически реализованное в виде 4 четырехразрядных модулей памяти. Эти 4 модуля представляют 1 логический модуль памяти объемом 256*16. Для адресации 16-битных ячеек внутри модуля необходимо 8 адресных цепей: А8 – А1.

Функциональная схема блока памяти представлена на рис. 2.4.

Составим  карту распределения адресного  пространства микропроцессора (рис. 2.5). При этом нужно учесть, что для  адресации ячеек памяти используется только 9 младших адресных разрядов. Значения остальных адресных разрядов игнорируются. Из этого следует, что наш модуль будет “размазан” по всему адресному пространству микропроцессора. Дублирование адресов будет происходить через каждые 512 байт (см. рис. 2.5).

 

 

 


 

 

 

 

 

 

 

 

 

 

Рис. 2.4. Функциональная схема  блока памяти

 

 


 

 

 

 

 

 

 

Рис. 2.5. Карта распределения  адресного пространства микропроцессора

 

 

Теперь рассмотрим процесс функционирования блока  памяти микроконтроллера.

Известно, что  каждый цикл шины содержит 4 обязательные такта Т1 – Т4. В такте Т1 выдается адрес на совмещенную шину адреса/данных, в такте Т2 происходит коммутация направления передачи, в тактах Т3 и Т4 – передача данных. Если в системе имеются запоминающие или внешние устройства, которые не могут передавать информацию с максимальной пропускной способностью шины, то вводится необходимое количество тактов ожидания TW между тактами Т3 и Т4. В выбранных микросхемах памяти цикл считывания происходит за 120 нс, что меньше продолжительности тактов Т3 и Т4 микропроцессора (400 нс), откуда следует, что нет необходимости во введении тактов ожидания.

Функционирование  блока памяти микроконтроллера иллюстрируется логическими диаграммами, приведенными на рисунке 2.6.

 


 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.6. Логические диаграммы  сигналов при чтении данных из ПЗУ

 

В такте Т1 блок процессора выставляет на линиях А8 – А1 шины адреса системного интерфейса микроконтроллера адрес запоминающей ячейки, который защелкивается там в такте Т2 по спаду сигнала ALE. В тактах Т2 – Т4 вырабатывается сигнал MEMR=0 (схема формирования приведена на рис. 2.18), который указывает блоку памяти на необходимость выдачи данных на линии D15 – D0 шины данных системного интерфейса микроконтроллера. В выбранных микросхемах памяти время выборки после разрешения tCS = 45 нс, следовательно, данные из памяти появятся на шине данных системного интерфейса микроконтроллера только через 45 нс (см. рис. 2.6). После выполнения чтения и установления сигнала MEMR=1 цикл чтения заканчивается следующим образом: линии шины данных переводятся в третье состояние, адрес прочтенной ячейки остается на линиях шины адреса до защелкивания на них нового значения.

 

 

      1. Проектирование структуры блока ввода данных

 

Блок ввода  данных предназначен для приема 16-разрядных  данных о текущем значении веса из внешней среды. Считается, что данные на вход устройства ввода подаются непрерывным потоком. Функционирование устройства ввода заключается в постоянном считывании данных, поступающих на его вход, без обмена управляющими сигналами (например, готовность данных, подтверждение чтения) с внешней средой. Исходя из этого, приходим к заключению, что в качестве устройства ввода можно использовать простое 16-разрядное буферное устройство.

Так как мы решили строить систему на базе микропроцессора  К1810ВМ86, то целесообразно для построения остальных блоков микроконтроллера использовать микросхемы из комплекта К1810 или из совместимых с ним комплектов. Исходя из этих соображений, в качестве элементной базы для построения устройства ввода данных выбираем БИС КР580ВА86 комплекта К580, полностью совместимые с БИС микропроцессорного комплекта К1810.

Восьмиразрядные шинные формирователи КР580ВА86 (рис.2.7) применяются как буферные устройства шины данных в микропроцессорных  системах.

Выводы А7 – А0  -  вход/выход линий данных. Назначение определяется уровнем напряжения на входе Т.

Выводы В7 – В0  -  вход/выход линий данных. Назначение определяется уровнем напряжения на входе Т.

Вывод Т –  входной сигнал управления направлением передачи. При Т=0 осуществляется передача от В к А (режим В®А), при Т=1 – от А к В.

Вывод ОЕ – входной сигнал разрешения передачи.


 

 

 

 

 

 

 

 

Рис. 2.7.  УГО шинного  формирователя КР580ВА86

 

Для организации  устройства приема 16-разрядных данных используем два вышеназванных шинных формирователя, объединенные физически  по управляющим входам Т и ОЕ. Функциональная схема блока ввода данных в микроконтроллер приведена на рис. 2.8.

 


 

 

 

 

 

 

 

 

 

Рис. 2.8. Функциональная схема  блока ввода

 

Управляющие входы ОЕ шинных формирователей (см. рис. 2.8) подключаются к управляющему выходу блока процессора IOR.

Управляющий вход Т заземляется, чем обеспечивается передача данных от выводов В к  А.

Выводы В7 – В0 используются как входы данных, поступающих из внешней среды в микроконтроллер. На входы В7 – В0 шинного формирователя BD1 подается младший байт слова входных данных: DI7 – DI0, на эти же входы формирователя BD2 – старший байт: DI15 – DI8.

Выводы А7 – А0 обоих шинных формирователей подключаются к шине данных системного интерфейса микроконтроллера.

При подаче напряжения низкого уровня на входы ОЕ шинных формирователей, происходит передача 16-разрядного входного слова на шину данных системного интерфейса микроконтроллера.

Функционирование блока  ввода данных иллюстрируется логическими  диаграммами, приведенными на рис. 2.9.


 

 

 

 

 

 

 

 

 

Рис. 2.9. Логические диаграммы сигналов при вводе данных из внешнего устройства

 

В тактах Т2 –  Т4 блоком процессора вырабатывается управляющий  сигнал IOR=0, который указывает блоку ввода на необходимость выдачи данных из внешнего устройства на линии D15 – D0 шины данных системного интерфейса микроконтроллера. Время задержки шинного формирователя КР580ВА86 достаточно мало – менее 35 нс, продолжительность цикла чтения так же достаточно мала. Поэтому данные на шину данных микроконтроллера поступят через 35 нс после спада сигнала IOR. Как видно из рис. 2.9, при функционировании блока ввода вообще не используется шина адреса системного интерфейса микроконтроллера.

 

 

2.3.3.   Проектирование структуры блока  индикации

 

Блок индикации  предназначен для отображения пикового значения веса и направления его изменения на светодиодных матрицах. Этот блок построим на базе БИС контроллера клавиатуры и индикации КР580ВВ79. БИС микропроцессорного комплекта К580 полностью совместимы с БИС комплекта К1810. УГО БИС КР580ВВ79 приведено на рис.2.10.


 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.10. УГО БИС КР580ВВ79

 

Итак, БИС  КР580ВВ79 представляет собой однокристальное  программируемое интерфейсное устройство, предназначенное для ввода информации с клавиатуры и вывода информации на дисплей в системах, построенных  на основе 8- и 16- разрядных микропроцессорах.

В качестве дисплея  используем линейку из 5 восьмисегментных светодиодных матриц типа АЛС324Б с  общим анодом (рис.2.11). Матрица имеет 8 входов для управления индикацией каждого сегмента и 1 вход для подачи питающего напряжения. Соответствующие входы управления сегментами матриц объединены между собой и образуют 8 – разрядную магистраль кода символа. Для вывода символа, например, в матрицу 2, необходимо установить на магистрали код отображаемого символа и подать питающее напряжение на анод 2-й матрицы.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.11. Структура линейки  индикации

 

БИС КР580ВВ79 (см. рис. 2.10) состоит из двух функционально-независимых  частей: клавиатурной и дисплейной. В проектируемой системе используется лишь дисплейная часть контроллера КР580ВВ79.  Дисплейная часть БИС обеспечивает сканированный интерфейс с 5-символьным алфавитно-цифровым дисплеем. Для хранения информации, подлежащей отображению, внутри БИС имеется ОЗУ дисплея объемом 16 байт.

Входные сигналы  БИС КР580ВВ79 CS, A0, WR, RD (см. рис. 2.10) используются для управления обменом информацией между микропроцессором и внутренними регистрами и буферами БИС. Обмен возможен при наличии уровня лог. 0 на входе CS. Характер информации, передаваемой в БИС, определяется значением уровня сигнала А0. При А0 = лог.0 входная и выходная информация является данными. При А0 = лог.1 входная информация является командой, а выходная – словом состояния. Сигналы WR и RD задают направление пересылки данных. Программирование режимов работы БИС и запись информации в ОЗУ дисплея осуществляются по двунаправленной шине данных D7 – D0, которая соединяет внутреннюю шину данных БИС с шиной данных системного интерфейса микроконтроллера.

Функциональная  схема блока индикации представлена на рис. 2.12.

Так как в нашем случае БИС служит только для вывода информации, то, соответственно, производиться в неё будет только запись. Поэтому на управляющий вход RD постоянно подаем высокий уровень напряжения, а вход WR заземляем (см. рис.2.12).

Вход CS БИС соединяем с выходом IOW блока центрального процессора. При произведении цикла записи во внешнее устройство, на выходе IOW формируется сигнал уровня лог.0 и происходит выборка БИС КР580ВВ79 и запись команды/данных в неё.

Управление  адресным входом А0 БИС осуществляем посредством линии А1 шины адреса системного интерфейса микроконтроллера.

Вход RESET соединяем с одноименным выходом генератора тактовых импульсов К1810ГФ84 блока центрального процессора. При передаче сигнала уровня лог. 1 на этот вход происходит аппаратный сброс БИС КР580ВВ79.

Вход CLK подключаем к выходу PCLK блока центрального процессора.

Счетчик сканирования БИС КР580ВВ79 вырабатывает сигналы  сканирования индикаторов дисплея (SL3 – SL0) и может работать в двух режимах. В данной системе используется режим 1 – режим сканированного кодирования.




 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.12. Функциональная схема блока индикации

 

В этом режиме счетчик сканирования БИС КР580ВВ79 обеспечивает выдачу на выходы SL3 – SL0 двоичного кода 4 младших разрядов счетчика синхронизации, который необходимо дешифрировать внешним дешифратором для получения сигналов сканирования матриц дисплея. Так как дисплей в микроконтроллере состоит из 5 индикаторов АЛС324Б, то для их последовательного выбора с использованием дешифратора достаточно использовать три младшие линии SL2 – SL0 (см. рис. 2.12).

В качестве внешнего дешифратора используем микросхему К555ИД7. Эта микросхема, УГО которой приведено на рис. 2.13, представляет собой двоично-десятичный дешифратор-демультиплексор, преобразующий трехразрядный код А0 – А2 в напряжение низкого уровня, появляющееся на одном из восьми выходов 0 – 7. Дешифрация происходит тогда, когда на входах Е1 и Е2 действует напряжение низкого уровня, а на входе Е3 – высокого. Иначе – на всех выходах будет напряжение высокого уровня. Поэтому, для обеспечения непрерывной дешифрации, входы Е1 и Е2 микросхемы К555ИД7 заземляем, а на вход Е3 подаем напряжение высокого уровня (см. рис. 2.12).

 


 

 

 

 

 

 

Рис. 2.13. УГО БИС К555ИД7

 

В момент сканирования матриц дисплея сигналами SL3 – SL0 на выходах DA3 – DA0 и DB3 – DB0 БИС КР580ВВ79 (см. рис. 2.12) появляются данные, определяющие отображаемый символ на сканируемом индикаторе. То есть, другими словами, эти выходы образуют магистраль кода символов (см. рис. 2.11).

Так как нагрузочная  способность выходов DA3 – DA0 и DB3 – DB0 довольно мала, то подключение к ним индикационной линейки осуществляем через шинный формирователь КР580ВА87. УГО и назначение выводов этой микросхемы такие же, как и у КР580ВА86 (см. рис. 2.7), только ВА86 не инвертирует данные, а ВА87 инвертирует.

Информация о работе Проектирование микроконтроллера на микропроцессоре 8086