Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Воронежский государственный технический университет»
Кафедра автоматизированных и вычислительных систем
РАЗРАБОТКА СХЕМ И ПРОГРАММ НА ОСНОВЕ МИКРОКОНТРОЛЛЕРА К1816ВЕ51
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к выполнению лабораторных работ по дисциплине «Микропроцессорные системы»
для студентов направления 09.03.01 «Информатика и вычислительная техника» (профиль «Вычислительные машины, комплексы, системы и сети») заочной формы обучения
Воронеж 2018
УДК 681.325.5-181.4(07) ББК 32.97я7
Составитель канд. техн. наук, доц. Г. В. Петрухнова
Разработка схем и программ на основе микроконтроллера К1816ВЕ51: методические указания к выполнению лабораторных работ по дисциплине «Микропроцессорные системы» для студентов направления 09.03.01 «Информатика и вычислительная техника» (профиль «Вычислительные машины, комплексы, системы и сети») заочной формы обучения / ФГБОУ ВО «Воронежский государственный технический университет»; cост. Г. В. Петрухнова. Воронеж : Изд-во ВГТУ, 2018. 39 с.
В методических указаниях приведены необходимые сведения для выполнения лабораторных работ, посвященных изучению архитектуры и возможностей микроконтроллеров семейства ВЕ51.
Предназначены для студентов 3-го курса.
Методические указания подготовлены в электронном виде и содержатся в файле Методичка_МПС_ВЕ51_ЗО.pdf.
Ил. 2. Табл. 3. Библиогр.: 5 назв.
УДК 681.325.5-181.4(07) ББК 32.97я7
Рецензент – В. Ф. Барабанов, д-р техн. наук, проф. кафедры автоматизированных и вычислительных систем ВГТУ
Издается по решению учебно-методического совета Воронежского государственного технического университета
ВВЕДЕНИЕ
В состав семейства ВЕ51 (iMCS 8051) входит целый ряд микросхем – от самых простых микроконтроллеров до достаточно сложных. Микроконтроллеры семейства имеют гарвардскую архитектуру и позволяют выполнять как задачи управления различными устройствами, так и реализовывать отдельные узлы аналоговой схемы. Они работают с одной и той же системой команд. Большинство из них выполняется в одинаковых корпусах с совпадающей цоколевкой (нумерацией ножек для корпуса). Различные микросхемы семейства ВЕ51 в основном различаются только регистрами специального назначения (в том числе и количеством портов ввода/вывода) и реализацией памяти. Это позволяет использовать для разработанного устройства микросхемы разных фирм-производителей (таких как
Intel, Dallas, Atmel, Philips и т. д.) без переделки принципиаль-
ной схемы устройства и программы. Архитектура микроконтроллеров рассмотрена на примере микросхемы К1816ВЕ51. Корпус кристалла и его структурная схема представлены в прил. 1, управляющие регистры – в прил. 2.
ЛАБОРАТОРНАЯ РАБОТА № 1
ПОРТЫ ВВОДА/ВЫВОДА ОДНОКРИСТАЛЬНОГО МИКРОКОНТРОЛЛЕРА ВЕ51
Цель работы: изучение основ программирования микроконтроллера (МК) ВЕ51 на языке СИ51.
Домашнее задание к выполнению лабораторной работы № 1
1.Изучите архитектуру однокристального микроконтроллера ВЕ51.
2.Изучите структуру и назначение портов ввода/вывода МК ВЕ51.
3
Краткие теоретические сведения
Язык программирования СИ51 удовлетворяет стандарту ANSI CИ и предназначен для получения компактных и быстродействующих программ для микроконтроллеров семейства MCS-51. Он учитывает особенности построения аппаратуры этих микросхем. Язык СИ51 обеспечивает гибкость программирования на широко известном языке CИ, при скорости работы и компактности, сравнимой с программами, написанными на языке программирования ассемблер.
Программа на СИ51 должна начинаться с включения файла заголовка, в котором находится информация о портах ввода/вывода, специальных регистрах, управляющих битах и т. д., т. е. должны быть определены аппаратные ресурсы микроконтроллера и даны их аббревиатуры. Имя файла заголовка зависит от среды программирования. В среде Keil µVision будем использовать REG51.H.
При написании программы для микроконтроллера всегда необходимо видеть перед глазами принципиальную схему устройства, для которого пишется программа, так как схема и программа тесно связаны между собой и дополняют друг друга. Для иллюстрации этого воспользуемся схемой, приведённой на рис. 1. К примеру, заставим светиться светодиод VD1. Светодиод светится только тогда, когда через него протекает ток. Для этого на шестом выводе порта P0 должен присутствовать нулевой потенциал. Соответствующий программный модуль представлен ниже:
#include<REG51.h> void main(void)
{P0=0; //Зажигание светодиода while(1); //Бесконечный цикл
}
4
+5B.
Цепь Eсет.
Питание
Питание
Корпус
Корпус
|
|
XTAL1 |
VD1 |
|
|
0 |
|
|
|
|
1 |
+5B |
|
XTAL2 |
2 |
|
|
3 |
|
|
|
|
|
|
|
|
R1 |
|
|
|
4 |
Ucc |
|
|
5 |
|
RST |
RESET |
6 |
|
7 |
||
|
|
|
|
Uss |
|
|
ALE |
+U |
|
|
PSEN |
|
|
|
|
|
|
EA |
0 |
|
|
|
1 |
Ucc |
Uвык |
Ucc1 |
2 |
|
|
Ucc2 |
3 |
|
|
4 |
|
|
|
|
|
Uss |
|
|
5 |
|
|
Uss |
6 |
|
|
|
7 |
|
|
|
R2 |
|
|
+U. |
|
Рис. 1. Пример простейшей схемы устройства, построенного с использованием микроконтроллера
Эта программа содержит только один исполняемый оператор присваивания 'P0=0;', т. е. во все биты порта Р0 записываем нули. Следующий оператор “while(1);” обеспечивает зацикливание программы, которое было сделано для того, чтобы никакие действия больше не производились. В противном случае микроконтроллер перейдёт к следующей ячейке памяти и будет выполнять команды, которые не были предусмотрены.
Обратите внимание, что язык программирования «знает», где находится порт P0. Эта информация содержится в строке
#include<REG51.h>.
Для работы с битами в СИ51 используются типы данных, приведенные в табл. 1.
5