Автор работы: Пользователь скрыл имя, 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
Алгоритм подпрограммы чтения из программно – доступных узлов микроконтроллера представлен на рисунке 16.
Рис. 16. Алгоритм подпрограммы чтения из программно – доступных узлов микроконтроллера.
В качестве счетчика и указателя адреса передаваемых данных используется регистр R1. Максимально допустимый адрес - FFh.
2.3.2.8 Подпрограмма выдачи ошибки в ПК
В качестве кода ошибки выбран код 0Fh.
Процедура выдачи ошибки использует подпрограмму выдачи одного байта. Поэтому, перед запуском этой процедуры, код ошибки необходимо поместить в аккумулятор.
В связи с тем, что для сигнализации ошибки все процедуры используют регистр R4, перед запуском подпрограммы выдачи одного байта данных содержимое регистра R4 необходимо сохранить. Для этой цели используется регистр R7.
Перед завершением подпрограммы значение регистра R4 необходимо восстановить.
Алгоритм подпрограммы выдачи ошибки представлен на рисунке 17.
Рис. 17. Алгоритм подпрограммы выдачи ошибки в ПК.
2.3.2.9 Подпрограмма выдачи одного байта информации
Алгоритм подпрограммы выдачи одного байта информации в ПК представлен на рисунке 18.
Рис. 18. Алгоритм подпрограммы выдачи одного байта информации в ПК.
Подпрограмма передает данные находящиеся в аккумуляторе в последовательный порт вывода. В начале работы процедура переносит бит четности в буфер последовательного порта, задает значения счетчиков ошибок и ожиданий, и ожидает, пока буфер порта будет свободен. Как только последовательный порт будет готов к пересылке информации, программа начнет проверять готовность ПК к приему данных.
Если ПК будет не готов к приему информации долгое время, то процедура завершит свою работу с занесением в регистр R4 кода 00h, символизирующего ошибку передачи данных.
Как только ПК будет готов к приему данных подпрограмма передаст содержимое аккумулятора в последовательный порт. Подождет, пока порт не будет готов к передаче следующего байта данных и запустит подпрограмму задержки, для того, чтобы ПК успел проверить переданную информацию и, в случае ошибки, выдал бы запрос на повторную передачу данных.
Если ПК выставит сигнал ошибки переданной информации, подпрограмма будет пытаться передать эту информацию еще раз. Этот процесс будет повторяться, до тех пор, пока не обнулится счетчик ошибок.
Если счетчик ошибок будет равен нулю, процедура завершит свою работу с ошибкой.
В качестве сигнала готовности ПК, и сигнала ошибки переданной информации используется сигнал на входе P2.7.
2.3.2.10 Подпрограмма приема одного байта информации.
В начале работы, подпрограмма задает счетчик ошибок, счетчик тактов ожидания и разрешает передачу информации из ПК в микроконтроллер.
После этого подпрограмма ожидает приема информации, проверяет ее и, если данные приняты верно, сохраняет результат в регистре R0.
В случае возникновения ошибок, микроконтроллер передает в ПК сообщение об ошибке и предлагает повторить передачу.
Алгоритм подпрограммы приема одного байта информации представлен на рисунке 19.
Рис. 19. Алгоритм подпрограммы приема одного байта информации.
В случае многократного повторения ошибок, подпрограмма завершает свою работу и выставляет в регистре R4 код 00h, символизирующий ошибочность принятых данных.
Если от ПК долгое время не будет передана информация, подпрограмма также завершит свою работу и выставит в регистре R4 код 00h, символизирующий ошибочность принятых данных. В качестве счетчика времени ожидания используется регистр R6.
ЗАКЛЮЧЕНИЕ
В работе была рассмотрена организация обмена информацией между персональным компьютером и микроконтроллером семейства MCS-51 фирмы Intel. Была разработана, на уровне структурной схемы, аппаратная часть сопряжения микроконтроллера с портами персонального компьютера, а также схема подключения внешней памяти программ к микроконтроллеру. Разработано, на уровне алгоритмов, программное обеспечение микроконтроллера.
На основе проделанной работы можно создать установку, позволяющую автоматизировать процесс программирования микроконтроллерной системы. Данную установку можно применять в качестве лабораторной установки для изучения курса «Микропроцессоры» и в качестве программируемого управляющего элемента более сложной системы.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЯ
Кратность |
Скорость передачи (Кбод) |
Частота кварца (МГц) | |
SMOD=0 (1/64) |
SMOD=1 (1/32) | ||
1 |
115,2 |
7,3728 |
3,6864 |
2 |
57,6 |
3,6864 |
1,8432 |
3 |
38,4 |
2,4576 |
1,2288 |
4 |
28,8 |
1,8432 |
0,9216 |
5 |
23,04 |
1,4746 |
0,73728 |
6 |
19,2 |
1,2288 |
0,6144 |
7 |
16,457142 |
1,053257 |
0,526628 |
8 |
14,4 |
0,9216 |
0,4608 |
9 |
12,8 |
0,8192 |
0,4096 |
10 |
11,52 |
0,73728 |
0,36864 |
12 |
9,2 |
0,6144 |
0,3072 |
Приложение 2
SMOD=0
Кратность |
Скорость передачи (Кбод) |
Частота кварца (МГц) | |
SMOD=0 (1/64) |
SMOD=1 (1/32) | ||
1 |
115,2 |
7,366503 |
7,378725 |
2 |
57,6 |
3,673807 |
3,698251 |
3 |
38,4 |
2,438711 |
2,475377 |
4 |
28,8 |
1,818014 |
1,866903 |
5 |
23,04 |
1,443078 |
1,504189 |
6 |
19,2 |
1,191022 |
1,264355 |
7 |
16,457142 |
1,009183 |
1,094738 |
8 |
14,4 |
0,871229 |
0,969007 |
9 |
12,8 |
0,762533 |
0,872533 |
10 |
11,52 |
0,674317 |
0,796539 |
12 |
9,2 |
0,538844 |
0,685511 |
SMOD=1
Кратность |
Скорость передачи (Кбод) |
Частота кварца (МГц) | |
SMOD=0 (1/64) |
SMOD=1 (1/32) | ||
1 |
115,2 |
3,683252 |
3,689363 |
2 |
57,6 |
1,836904 |
1,849126 |
3 |
38,4 |
1,219356 |
1,237689 |
4 |
28,8 |
0,909007 |
0,933452 |
5 |
23,04 |
0,721539 |
0,752095 |
6 |
19,2 |
0,595511 |
0,632178 |
7 |
16,457142 |
0,504592 |
0,547369 |
8 |
14,4 |
0,435615 |
0,484504 |
9 |
12,8 |
0,381267 |
0,436267 |
10 |
11,52 |
0,337159 |
0,398270 |
12 |
9,2 |
0,269422 |
0,342756 |