Организация обмена информацией между персональным компьютером и микроконтроллером семейства MCS-51 фирмы Inte

Автор работы: Пользователь скрыл имя, 09 Января 2014 в 16:42, курсовая работа

Краткое описание

Все это определяет необходимость изучения микропроцессорных систем. В настоящее время в РАУ имеются учебные методические комплексы УМК ВЭФ, базирующиеся на микропроцессоре I8080, позволяющие получить знания в программировании микропроцессоров. К сожалению, на кафедре нет лабораторной установки, позволяющей получить практические навыки в программировании микроконтроллеров.

Содержание

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ 7
ВВЕДЕНИЕ 8
1. АНАЛИЗ СОСТОЯНИЯ ВОПРОСА 9
1.1 Постановка глобальных задач 13
1.2 Анализ предыдущей работы 13
1.2.1 Положительные стороны 13
1.2.2 Отрицательные стороны 14
1.3 Постановка задачи 15
2. РАЗРАБОТКА ВОПРОСОВ АППАРАТНОГО И ПРОГРАММНОГО СОПРЯЖЕНИЯ 18
2.1 Аппаратное сопряжение ПК и микроконтроллера 18
2.1.1 Скорость приема/передачи 19
2.1.2 Разработка формата принимаемых и передаваемых данных 19
2.1.3 Разработка схемы подключения микроконтроллера 20
2.1.4 Выбор источника питания 21
2.2 Подключение внешней памяти программ 21
2.3 Программное сопряжение микроконтроллера и ПК 23
2.3.1 Начальная установка MCS-51 23
2.3.2 Программное обеспечение организации обмена информацией между МК и ПК 23
2.3.2.1 Программа «Монитор» 23
2.3.2.2 Подпрограмма запуска программы пользователя в режиме реального времени 26
2.3.2.3 Подпрограмма запуска программы пользователя в пошаговом режиме 28
2.3.2.4 Подпрограмма записи программы пользователя в память программ микроконтроллера. 34
2.3.2.5 Подпрограмма записи информации в программно – доступные узлы микроконтроллера 36
2.3.2.6 Подпрограмма чтения из памяти программ микроконтроллера 37
2.3.2.7 Подпрограмма чтения информации программно – доступных узлов микроконтроллера 38
2.3.2.8 Подпрограмма выдачи ошибки в ПК 39
2.3.2.9 Подпрограмма выдачи одного байта информации 39
2.3.2.10 Подпрограмма приема одного байта информации. 41
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 45
ПРИЛОЖЕНИЯ 46

Вложенные файлы: 1 файл

Курсовая.doc

— 1.21 Мб (Скачать файл)

ОЗУ используется для размещения программ пользователя. При записи программ в ОЗУ, обращение к памяти программ осуществляется как обращение к памяти данных, чтение как к памяти программ.

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

1.2.2 Отрицательные стороны

 

Одним из минусов работы [5] является предложение о согласовании уровней между интерфейсом RS-232C и последовательным портом МК. Были разработаны схемы приемника и передатчика. Эти схемы имеют ряд недостатков. Одним из недостатков является необходимость в дополнительных источниках питания на +12 и –12 вольт. Данные схемы не являются надежными. Они используют устаревшую электронную базу и не удовлетворяют реальным требованиям, поставленным перед ними. В настоящее время имеется ряд микросхем, позволяющий осуществить согласование уровней сигналов между интерфейсом RS-232C и последовательным портом МК. Такие схемы более надежны и не требуют дополнительного питания на +12 и –12 вольт.

 

В работе [3] предлагалось использовать МК 8255. Данный МК не имеет внутренней памяти программ. В связи с этим возникла необходимость в установке внешней памяти программ. Эта память программ разбивалась на ПЗУ, для хранения программы «Монитор» и ОЗУ, как память программ пользователя. Это ограничивает общую внешнюю память программ, используемую как память программ пользователя.

 

В работе 3 не были решены вопросы с доступом к программно-доступным  узлам микроконтроллера. При переходе к подпрограмме микроконтроллер сохраняет в стеке только содержимое счетчика команд. Поэтому перед началом приема или передачи данных необходимо позаботиться о сохранение содержимого аккумулятора и регистров, которые будут использоваться при приеме или передачи данных.

 

Программа «Монитор»  учитывала только ряд задач, которые  могут возникнуть у пользователя на этапах разработки программного обеспечения, тестирования его или использования  системы на практике.

1.3 Постановка задачи

 

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

 

Вопросы аппаратных средств.

Разработка схемы сопряжения портов ПК и микроконтроллера с использованием современной электронной базы. Данная схема должна обеспечить согласование уровней сигналов между СОМ – портом ПК и микроконтроллером, не должна требовать дополнительных источников питания, должна иметь небольшие масса - габаритные характеристики, должна быть дешевой и надежной.

Разработка схемы подключения  памяти к микроконтроллеру. Данная схема должна обеспечить возможность  использования ОЗУ в качестве памяти программ. Во время записи программы  пользователя память программ должна использоваться, как память данных. Адресное пространство внешней памяти данных и памяти программ не должно перекрываться.

 

           Вопросы программного обеспечения.

Разработать формат передачи данных между ПК и микроконтроллером. Этот формат должен использовать восемь информационных битов.

Разработать алгоритм записи программы, отлаженной на ПК, в память программ МК.

Разработать алгоритм запуска программы  в режиме реального времени.

Разработать алгоритм выполнения программы  в пошаговом режиме. В этом режиме микроконтроллер на каждом шагу программы должен  передавать в персональный компьютер содержимое всех программных узлов, а также следующую команду из памяти программ. При необходимости, по запросу из персонального компьютера микроконтроллер должен передать содержимое любой ячейки памяти данных, или любого блока ячеек памяти данных. Кроме того микроконтроллер должен передавать в персональный компьютер содержимое ячеек памяти программ, если это необходимо. При необходимости должна обеспечиваться запись в программно доступные узлы микроконтроллера, в память программ и память данных. Алгоритм должен позволять запускать программу с любого адреса указанного пользователем, продолжать выполнение прерванной программы в пошаговом режиме, или в режиме реального времени.

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

Разработать алгоритм записи информации в память данных.

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

Разработать алгоритм чтения информации из памяти данных.

Разработать алгоритм чтения информации из памяти программ.

Разработать алгоритм программы «Монитор». Программа «Монитор» должна обеспечивать запуск всех рассмотренных выше подпрограмм  в зависимости от кода, переданного из персонального компьютера. Поэтому необходимо разработать управляющие слова, которые и будут задавать режим работы системы. Управляющие коды не должны превышать 8 бит. Для реализации гибкости системы, необходимо при получении неиспользуемых кодовых комбинаций обеспечить переход выполнения программы в область памяти программ на заранее зарезервированный адрес. Этот адрес можно хранить в памяти программ по строго определенному адресу. Чтобы избежать выполнение случайного кода, во время начальной установки необходимо установить по этому адресу, адрес в памяти программ, в котором находится команда возврата из подпрограммы.

При переходе на разрабатываемые подпрограммы необходимо сохранить в стеке  содержимое аккумулятора. Перед выходом  из этих подпрограммы содержимое аккумулятора необходимо восстановить.

 

2. РАЗРАБОТКА ВОПРОСОВ АППАРАТНОГО И ПРОГРАММНОГО СОПРЯЖЕНИЯ

2.1 Аппаратное сопряжение ПК  и микроконтроллера

 

Для решения задачи сопряжения ПК и микроконтроллера было решено использовать интерфейс RS-232C.

Последовательный порт используется в качестве универсального асинхронного приемопередатчика (УАПП) с фиксированной или переменной скоростью последовательного обмена информацией и возможностью дуплексного включения.

 

Последовательный интерфейс  микроконтроллера МК-51 может работать в следующих четырех режимах:

Режим 0. Информация передается и принимается через вход RxD приемника (вывод P3.0). Через выход передатчика TxD (вывод P3.1) выдаются импульсы синхронизации, стробирующие каждый передаваемый или принимаемый бит информации. Формат посылки – 8 бит. Частота приема и передачи – тактовая частота микроконтроллера.

Режим 1. Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 10 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и стоп-бит (единица). Частота приема и передачи задается таймером/счетчиком 1.

Режим 2. Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 11 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и 2 стоп-бита (единицы). Передаваемый девятый бит данных принимает значение бита ТВ8 из регистра специальных функций SCON. Бит ТВ8 в регистре  SCON может быть программно установлен в «0» или в «1», или в него, к примеру, можно поместить значение бита Р из регистра PSW для повышения достоверности принимаемой информации (контроль по паритету). При приеме девятый бит данных принятой посылки поступает в бит RB8 регистра SCON. Частота приема и передачи в режиме 2 задается программно и может быть равна тактовой частоте микроконтроллера деленной на 32 или на 64.

Режим 3. Режим 3 полностью идентичен режиму 2 за исключением частоты приема и передачи, которая в режиме 3 задается таймером/счетчиком 1.

 

Для реализации обмена информацией между ПК и микроконтроллером наиболее удобным является режим 2, т.к. для работы в этом режиме не требуется таймер/счетчик. Этот режим полностью удовлетворяет предъявленным требованиям.

2.1.1 Скорость приема/передачи

 

Скорость приема/передачи, т.е. частота работы универсального асинхронного приемопередатчика (УАПП) в режиме 2 зависит от значения управляющего бита SMOD в регистре специальных функций.

Частота передачи определяется выражением:

f=(2SMOD/64)fрез.

Иными словами, при SMOD=0 частота передачи равна (1/64)fрез, а при SMOD=1 равна (1/32)fрез.

Скорость приема/передачи должна быть кратна 115,2 Кбод [6].

Исходя из вышеизложенного, выберем  частоту приема данных при SMOD=1. Если fрез=1,8432 МГц, тогда частота приема данных  будет 57,6 КБод.

 

Другие значения частот кварца могут  быть выбраны из таблиц в приложении 1 и приложении 2.

2.1.2 Разработка формата принимаемых  и передаваемых данных

 

Формат принимаемых  и передаваемых данных почти полностью  описан режимом 2 работы последовательного  интерфейса.

Формат должен состоять из 11 бит:

стартовый бит – ноль;

восемь бит данных;

девятый бит – контроль по паритету, для повышения достоверности  принимаемой информации;

два стоповых бита – единицы.

 

2.1.3 Разработка схемы  подключения микроконтроллера

 

При сопряжении интерфейса RS-232 со входами последовательного интерфейса микроконтроллера MCS-51, необходимо обеспечить согласование уровней сигналов. Стандартный уровень сигналов RS-232C – +12 и –12 В. Стандартный уровень сигналов асинхронного интерфейса микроконтроллера MCS-51 – +5 В.

В зависимости от требований, предъявляемых к проектируемой  схеме, преобразователи уровней  сигналов могут быть выполнены различными способами.

Приемники и передатчики  выполненные на дискретных элементах  имеют ряд недостатков:

большие массогабаритные характеристики;

высокая потребляемая мощность;

недостаточная надежность;

необходимость в дополнительных источниках питания;

стоимость.


 

Рис. 1. Схема подключения  микроконтроллера MCS-51 фирмы Intel к портам персонального компьютера.

 

Исходя из этих соображений, для организации сопряжения уровней  портов ПК и микроконтроллера можно  воспользоваться микросхемой ADM202 фирмы Analog Devices. Данная микросхема позволяет согласовать уровни сигналов, не требуя дополнительных источников питания [4].

Микроконтроллер принимает  данные через вход приемника (вывод P3.0), а передает данные через выход передатчика (вывод P3.1). Микроконтроллер может запретить прием данных из ПК с помощью сигналов на выводе Р2.6. Это необходимо для сигнализации ПК о приеме ошибочных данных. В свою очередь ПК может запретить передачу данных из микроконтроллера с помощью сигналов на выводе Р2.7.

2.1.4 Выбор источника питания

 

В зависимости от места  установки, источником питания может  служить либо блок питания ПК, либо отдельный блок питания, специально предназначенный для данной установки. В связи с тем, что данную установку  планируется использовать в компьютерном классе, наиболее оптимальным вариантом является использование блока питания ПК. Напряжение источника питания +5V, необходимое для лабораторной установки, можно взять с внешнего разъема клавиатуры. Подключение контактов этого разъема представлено на рисунке 2.


 

Рис. 2. Разъем клавиатуры персонального компьютера.

 

Реализация подключения  потребует изготовления специального переходного кабеля, входящего в  состав лабораторной установки.

2.2 Подключение внешней памяти  программ

 

Как уже отмечалось ранее, для организации обмена информацией между ПК и микроконтроллером целесообразно использовать в качестве внешней памяти программ ОЗУ. ОЗУ позволит быстро и многократно перепрограммировать микроконтроллер, что позволит использовать его как отладочный модуль, или как часто перепрограммируемое устройство управления (например, для управления различными лабораторными установками).

В качестве микросхемы ОЗУ  можно использовать микросхему КР537РУ8. Объем памяти данной микросхемы составляет 2К. В связи с тем, что данная установка планируется как УМК в курсе «Микропроцессоры», то этого объема памяти вполне достаточно для размещения программы пользователя, т.к. программы, реализуемые в процессе лабораторных работ, как правило не превышают 100 команд. Объем таких программ не превышает 300 байт.

При записи программы  пользователя в память программ, обращение  к ОЗУ осуществляется как к  памяти данных. Во время работы программы, как к памяти программ.


 

Рис. 3. Схема подключения внешней  памяти программ к микроконтроллеру.

 

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

2.3 Программное сопряжение микроконтроллера  и ПК

2.3.1 Начальная установка MCS-51

 

Инициализация (сброс) микросхемы осуществляется подачей сигнала RST (высокий уровень напряжения) при подключенном кварце. Вход RST – внутренний триггер Шмидта. Состояние RST проверяется в фазе S5P2 каждого машинного цикла. Пока уровень RST высокий, ALE и PME тоже имеют высокий уровень. Их установка происходит после установки «0» на RST. Внутренний алгоритм при подаче сигнала «СБРОС» производит следующие действия:

устанавливает счетчик команд и  все регистры специальных функций, кроме портов – защелок Р0 – Р3, указателя стека и регистра SBUF в ноль;

указатель стека принимает значение равное 07Н;

запрещает все источники прерываний, работу таймеров – счетчиков и  последовательного порта;

выбирает БАНК 0 памяти данных, подготавливает порты Р0 – Р3 для приема данных и определяет выводы ALE и PME, как входы для внешней синхронизации;

в регистрах специальных функций PCON, IP и IE резервные биты принимают случайные значения;

Информация о работе Организация обмена информацией между персональным компьютером и микроконтроллером семейства MCS-51 фирмы Inte