Микропроцессорные системы

Автор работы: Пользователь скрыл имя, 08 Марта 2013 в 12:12, курсовая работа

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


Разработать микропроцессорную систему управления объектом на основе ОМЭВМ К1830ВЕ51. Объект задан видом и количеством данных поступающих с объекта, потребным ресурсом для обработки данных, видом и количеством управляющих сигналов. Необходимо разработать принципиальную электрическую схему МПС, составить подпрограмму обработки данных, отладить её с помощью программного эмулятора и получить листинг программы.

Содержание работы


Задание на проектирование и исходные данные……………………………….3
Введение……………………………..………………………….………….…….4
1. Теоретический вопрос..……..……………………….…………………..……6
2. Описание принципа работы разрабатываемой МПС…………………...…..13
3. Блок-схема алгоритма работы МПС……………………………………..…..20
4. Текст программы на языке Ассемблер……………………………………....22
Заключение…………………………………………………………………..…...24
Литература…….………………………………………………………………....25
Принципиальная электрическая схема МПС

Файлы: 1 файл

Курсовая.docx

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

В микроконтроллерных системах, построенных на основе МК51. возможно использование двух типов внешней  памяти: постоянной памяти программ (ВПП) и оперативной памяти данных (ВПД). Доступ к ВПП осуществляется при помощи управляющего сигнала РВПП, который выполняет функцию строб-сигнала чтения. Доступ к ВПД обеспечивается управляющими сигналами ЧТ и ЗП, которые формируются в линиях Р3.7 и Р3.6 при выполнении портом 3 альтернативных функций.

Через универсальный асинхронный  приемопередатчик (УАПП) осуществляется прием и передача информации, представленной последовательным кодом (младшими битами вперед), в полном дуплексном режиме обмена. В состав УАПП, называемого часто последовательным портом, входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приемопередатчика. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян.

Управление режимом работы УАПП осуществляется через специальный регистр с символическим именем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и ТВ8) и биты прерывания приемопередатчика (RI и TI) [2].

 

Рис. 1. Структурная схема КР1830ВЕ51.

 

 

 

 

 

 

2. Описание принципа работы разрабатываемой МПС

Одной из неотъемлемых задач  является выбор схемы синхронизации  ОМЭВМ. Работу всех внутренних блоков МК-51 синхронизирует устройство выработки временных интервалов, которое в свою очередь управляется внутренним тактовым генератором. Период следования синхроимпульсов тактового генератора определяется частотой кварцевого резонатора, LC - цепочки или периодом следования сигналов внешнего источника. Схемы подключения кварцевого резонатора, LC - цепочки и внешнего источника приведены на рис. 2.

Рис. 2. Схемы подключения кварцевого резонатора, LС - цепочка, внешнего источника синхросигнала.

Практически все  команды МК-51 выполняются за один или два машинных цикла, который имеет фиксированную длительность и состоит из шести состояний S1...S6. В свою очередь, каждое состояние включает в себя две фазы P1 и Р2, длительность которых равна периоду следования тактовых импульсов t. Таким образом, длительность каждого машинного цикла ТЦ равна двенадцати периодам тактовых импульсов , где – частота синхронизации МК-51.

Рис. 3. Диаграмма формирования машинных циклов.

Для синхронизации работы остальных компонентов МПС можно использовать сигнал ALE, который дважды формируется в течение машинного цикла. Рис. 3 иллюстрирует сказанное.

Использование внешней памяти.

Все МК-51 серии 1830 (1816) имеют несколько адресных пространств, функционально и логически разделенных за счет разницы в механизмах адресации и сигналах управления записью и чтением:

  • внешняя память программ (ВПП);
  • резидентная память данных (РПД);
  • внешняя память данных (ВПД).

Структура адресного  пространства ВЕ31 показана на рис. 4.

Рис. 4. Адресное пространство микро ЭВМ.

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

Микро ЭВМ ВЕ31 не имеет внутренней памяти программ. Поэтому для ее работы необходимо использовать ВПП, ее объем  может достигать 64 Кбайта. Функциональная схема подключения ВПП к МК-31 показана на рис.5.

Рис. 5. Функциональная схема подключения ВПП.

При обращении к ВПП всегда формируется 16-разрядный адрес, младший байт которого выдается через порт Р0, а старший – через порт Р2. Причем порт Р0 используется в режиме временного мультиплексирования: в начале каждого машинного цикла обращения к ВПП (фаза S2P1) через порт Р0 выдается младший байт адреса, который должен быть зафиксирован во внешнем регистре RG по отрицательному фронту сигнала ALE (рис. 6); низкий уровень сигнала РМЕ, формируемый в течение фаз S3P1 ... S4P1 машинного цикла, разрешает выборку байта данных из ПЗУ, который затем   поступает на линии порта Р0 и вводится в МК-51. В качестве регистра RG рекомендуется использовать восьмиразрядный параллельный регистр - защелку типа ИР22 или аналог. Следует особо подчеркнуть, что на вывод DEMA ВЕ31 должен быть подан низкий уровень напряжения.

Рис. 6. Временная диаграмма работы с ВПП.

В некоторых МПС, рассчитанных на обработку больших массивов данных, РПД может оказаться недостаточно. В этом случае возникает необходимость использования внешнего оперативного запоминающего устройства (ОЗУ), которое может быть подключено к МК-51 так, как это показано на рис. 7.

Рис. 7. Функциональная схема подключения ВПД.

При этом обращение к ВПД  возможно только с помощью команд МОVX. Команды MOVX @Ri, А и MOVX A, @Ri формируют восьмиразрядный адрес, который выдается на ОЗУ через порт РО. Команды MOVX @DPTR, А и MOVX A, @DPTR формируют 16-разрядный адрес, младший байт которого выдается через порт РО, а старший - через порт Р2. Так же как и при работе с ВПП, байт адреса, выдаваемый через порт Р0, должен быть зафиксирован во внешнем регистре по отрицательному фронту сигнала    ALE, т.к. в дальнейшем линии порта Р0 используются для чтения или записи информации в/из МК-51. При этом чтение информации стробируется сигналом RD, формируемым ВЕ51, а запись - сигналом WR. На рис. 8 показана временная диаграмма работы МК-51 в режимах обмена данными с ВПД.

Рис. 8. Временная диаграмма работы микро ЭВМ с ВПД.

Расширение каналов ввода/вывода информации.

Как уже указывалось  выше число линий ввода/вывода МК-51 во многих реальных применениях оказывается недостаточным. Для расширения каналов ввода/вывода обычно используют такие стандартные схемотехнические приемы, как сканирование матрицы датчиков, опрос группы канальных приемопередатчиков с тремя состояниями на выходе, мультиплексирование входных данных, стробируемый параллельный вывод информации, использование быстродействующего последовательного канала связи и т.д.

В качестве примера расширения числа линий ввода информации рассмотрим фрагмент схемы, приведённой на рис. 9. Микросхемы D1и D2 представляют собой сдвоенные мультиплексоры 4 в 1 типа КП2 (КП12) и могут передавать информацию от 16 двоичных датчиков на четыре линии порта P1 (P1.0 … P1.3) МК-51. Выводы P1.4 и P1.5 используются для выбора группы, состоящей из 4-х датчиков, опрашиваемых в данный момент времени. Так как нагрузочная способность выходных буферов портов ввода/вывода невысока, то рекомендуется использовать буферные схемы при подключении значительной нагрузки. В рассматриваемом примере эту роль играют инверторы D3. При этом вносимая ими инверсия легко корректируется программным способом.

Рис. 9. Фрагмент схемы подключения входных датчиков.

Расширение каналов  вывода информации обычно достигается  за счет использования нескольких регистров, стробируемых различными синхросигналами, либо за счет использования последовательного  канала связи.

Рис. 10. Схема последовательного вывода информации

 

 

При последовательном выводе информации байт данных записывается в буфер данных последовательного  порта, работающего в режиме 0. Эти  данные выводятся на выход RxD (альтернативная функция вывода Р3.0) в последовательном коде. Вывод данных синхронизируется по выходу TxD (альтернативная функция вывода Р3.1). Эти выходы связаны с соответствующими входами сдвигового регистра типа ИР8, где и осуществляется преобразование кода в параллельный [2].

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Блок-схема алгоритма  работы МПС и её описание

Рис. 11. Блок-схема алгоритма  обработки данных.

 

 

 

На начальной установке  и подготовке портов ввода-вывода определяется начальный адрес программы, константы, приоритет и источники прерывания, режим работы таймеров/счётчиков  и последовательного порта, очищается  аккумулятор и регистры счётчики и задаётся вид сигнала прерывания.

Дальше программа переводит  микроконтроллер в режим ожидания прихода прерывания. Внешнее прерывание поступает со входа . После прихода прерывания МК-51 читает байт данных из порта P1 и сравнивает его с константой.

По результатам сравнения  МК-51либо выводит принятый байт через  последовательный порт, либо формирует  на заданной линии порта P3 импульс заданной длительности. После этого осуществляется переход в режим ожидания прихода следующего прерывания.

Скорость последовательного  обмена УАПП в режимах 1 и 3 определяется по формуле:

       (1)

Нам необходимо найти TH – десятичное значение содержимого регистра TH1. По условию , . Выражая из формулы (1) TH, подставив исходные данные, получим десятичное значение регистра TH1 – 213. Тогда .

Рассчитаем значения X и Y для формирования временной задержки.

Время задержки в секундах рассчитывается по формуле:

       (2)  

Если задана длительность импульса, то необходимо подобрать  такие X и Y, чтобы выполнялось условие:

 

Рассчитаем X при максимальном значении циклов и . Выражая их формулы (2) X, получим значение 44.

4. Текст программы  на языке Ассемблер

ORG 00H                     ;начало программы

SJMP NACH                ;переход к подпрограмме предварительной установки

 

ORG 13H                      ;определяем вектор прерывания

AJMP PRER                ;переход к подпрограмме обработки прерывания

 

OGID:

NOP

SJMP OGID                  ;ожидание прихода прерывания

 

ORG 100H                    ;начальный адрес основной программы

CONST EQU 30           ;определение константы

NACH:

SETB PX1                    ;установка приоритета внешнего прерывания

SETB EA     ;снятие блокировки прерываний

SETB EX1                    ;управление прерыванием от внешнего источника  

MOV TMOD,#00000000B          ;установка режима 0 работы таймера/счётчика

MOV SCON, #00000000B          ;установка режима 0 работы УАПП

CLR A                           ;очистка аккумулятора

MOV RS1,#0B

MOV RS0,#0B             ;выбор банка 0 для рабочих регистров

CLR R0

CLR R1

CLR R2

CLR R3

CLR R4

CLR R5

CLR R6

CLR R7                         ;очистка регистров-счётчиков

CLR IT1                         ;низкий уровень сигнала прерывания на входе

SJMP OGID                  ;переход к подпрограмме ожидания прерывания

 

ORG 140H

PRER:                            ;подпрограмма чтения данных из порта Р1

MOV A,P1                   ;чтение данных из порта P1 в аккумулятор

MOV R3,A                   ;передача данных из аккумулятора в регистр R3

SUBB A,CONST          ;вычитание значения константы из значения в А

JC DATE                     ;переход к подпрограмме передачи данных через УАПП

JNC IMPUL                ;переход к подпрограмме формирования импульса

 

 

 

ORG 170H

DATE:

MOV A,R3                            ;передача данных из регистра R3 в аккумулятор

CLR   TR1                               ;останов таймера Т/С 1

MOV   TH1,#0D5H                ;автозагружаемое значение для получения

                                                 скорости 300 бит/с, рассчитанное по формуле (1)                                                               

MOV   SCON,#11011100B    ;установка режима 3 УАПП

MOV   TMOD,#00100000B   ;установка режима 2 Т/С 1

SETB   TR1                             ;запуск таймера

LABEL:

JNB   T1,LABEL                    ;ожидание окончания передачи

CLR   T1                                 ;очистка флага передачи

MOV   SBUF,A                      ;выдача 9 бит данных в последовательный порт

RETI                                      ;конец прерывания

SJMP OGID                           ;переход к ожиданию прихода прерывания

 

ORG 200H

IMPUL:

CLR P3.0

CLR P3.1

CLR P3.2

CLR P3.3

SETB P3.4

CLR P3.5

CLR P3.6

CLR P3.7                                ;выбор четвёртой линии порта Р3

MOV R0,#2CH                        ;загрузка числа X в регистр R0

LOOP1:

MOV R1,#FFH                        ;загрузка числа Y в регистр R1

LOOP2:

DJNZ R1,LOOP2          ;декремент R1 и внутренний цикл, если (R1) не равно 0

DJNZ R0,LOOP1          ;декремент R0 и внешний цикл, если (R0) не равно 0

MOV R2,#4H

LOOP3:

DJNZ R2,LOOP3                   ;точная подстройка временной задержки

CLR P3.4                                ;очистка линии порта РЗ.4

RETI                                      ;конец прерывания

SJMP OGID                           ;переход к ожиданию прихода прерывания

 

KONEC:

END                                       ;конец программы

 

 

 

Заключение

  В курсовом проекте  разработана МПС управления объектом, на основе К1830ВЕ51 и составлена подпрограмма обработки данных, включающая в себя передачу данных через последовательный интерфейс и формирование импульса на линии порта заданной длительности. Построена блок-схема данной подпрограммы. Использовалось число каналов информации МПС для взаимодействия с объектом управления: ввода – 16, вывода  - 16. Организована внешняя память программ (ПЗУ) – 32 Кбайт, и данных (ОЗУ) – 4 Кбайт.

Также изложены особенности построения однокристального микроконтроллера МК-51 и описаны принципы работы МПС.

В результате получены практические навыки работы по разработке микропроцессорной системы.

Информация о работе Микропроцессорные системы