- •Однокристальный миКрОконтроллер к1816ве51 методические указания
- •Введение
- •Контрольные вопросы
- •Домашнее задание к выполнению лабораторной работы №2
- •Лабораторная работа №2 система внешних прерываний
- •Краткие теоретические сведения
- •Задания на лабораторную работу
- •Контрольные вопросы
- •Краткие теоретические сведения к заданию 2
- •Краткие теоретические сведения к заданию 3
- •Контрольные вопросы
- •Регистр режима работы таймера/счетчика
- •Регистр управления/статуса таймера
- •Регистр управления/статуса уапп
- •Регистр управления мощностью рум
- •Настройка таймера 1 для управления частотой работы уапп
- •Регистр масок прерывания (рмп)
- •Регистр приоритетов прерывания
- •Библиографический список
- •Содержание
- •Однокристальный миКрОконтроллер к1816ве51 методические указания
- •394026 Воронеж, Московский просп., 14
ГОУВПО
«Воронежский государственный технический университет»
Кафедра автоматизированных и вычислительных систем
472-2009
Однокристальный миКрОконтроллер к1816ве51 методические указания
к выполнению лабораторных работ
по дисциплине «Микропроцессорные системы»
для студентов специальности 230101
“Вычислительные машины, комплексы, системы и сети”
очной и очной сокращенной форм обучения
Воронеж 2009
Составитель канд. техн. наук Г.В. Петрухнова
УДК 681.3
Однокристальный микроконтроллер К1816ВЕ51: методические указания к выполнению лабораторных работ по дисциплине «Микропроцессорные системы» для студентов специальности 230101 “Вычислительные машины, комплексы, системы и сети”очной и очной сокращенной форм обучения/ ГОУВПО «Воронежский государственный технический университет»; cост. Г.В. Петрухнова. Воронеж, 2009. 45с.
В методических указаниях приведены необходимые сведения для выполнения лабораторных работ, посвященных изучению архитектуры и возможностей микроконтроллеров семейства ВЕ51.
Методические указания предназначены для студентов третьего и четвертого курсов.
Табл. 3. Ил. 8. Библиогр.: 3 назв.
Рецензент д-р. техн. наук, проф. А.М. Литвиненко
Ответственный за выпуск зав. кафедрой д-р техн. наук, проф. С.Л. Подвальный
Печатается по решению редакционно-издательского совета Воронежского государственного технического университета
© ГОУВПО «Воронежский государственный
технический университет», 2010
Введение
В состав семейства ВЕ51 (iMCS 8051) входит целый ряд микросхем от самых простых микроконтроллеров до достаточно сложных. Микроконтроллеры семейства имеют гарвардскую архитектуру и позволяют выполнять как задачи управления различными устройствами, так и реализовывать отдельные узлы аналоговой схемы. Они работают с одной и той же системой команд. Большинство из них выполняется в одинаковых корпусах с совпадающей цоколевкой (нумерацией ножек для корпуса). Различные микросхемы семейства ВЕ51, в основном, различаются только регистрами специального назначения (в том числе и количеством портов ввода/вывода) и реализацией памяти. Это позволяет использовать для разработанного устройства микросхемы разных фирм - производителей (таких как Intel, Dallas, Atmel, Philips и т.д.) без переделки принципиальной схемы устройства и программы. Архитектура микроконтроллеров рассмотрена на примере микросхемы К1816ВЕ51.
ЛАБОРАТОРНАЯ РАБОТА №1
ПОРТЫ ВВОДА/ВЫВОДА ОДНОКРИСТАЛЬНОГО
МИКРОКОНТРОЛЛЕРА ВЕ51
Цель работы: изучение основ программирования микроконтроллера (МК) ВЕ51 на языке СИ51.
Домашнее задание к выполнению лабораторной
работы №1
Изучите архитектуру однокристального микроконтроллера ВЕ51.
Изучите структуру и назначение портов ввода/вывода МК ВЕ51.
Изучите режимы работы буферного регистров. К580ИР82, К580ИР83.
Краткие теоретические сведения
Язык программирования СИ51 удовлетворяет стандарту ANSI CИ и предназначен для получения компактных и быстродействующих программ для микроконтроллеров семейства MCS-51. Он учитывает особенности построения аппаратуры этих микросхем. Язык СИ51 обеспечивает гибкость программирования на широко известном языке CИ, при скорости работы и компактности, сравнимой с программами, написанными на языке программирования ассемблер.
Программа на СИ51 должна начинаться с включения файла заголовка, в котором находится информация о портах вв/выв, специальных регистрах, управляющих битах и т.д., т.е. должны быть определены аппаратные ресурсы микроконтроллера и даны их аббревиатуры. Имя файла заголовка зависит от среды программирования, например,
REG51.H – для среды KeilµVision;
io51.h .- для компилятора СИ51 ICC8051;
При написании программы для микроконтроллера всегда необходимо видеть перед глазами принципиальную схему устройства, для которого пишется программа, так как схема и программа тесно связаны между собой и дополняют друг друга. Для иллюстрации этого воспользуемся схемой, приведённой на рис. 1. К примеру, заставим светится светодиод VD1. Светодиод светится только тогда, когда через него протекает ток. Для этого на шестом выводе порта P0 должен присутствовать нулевой потенциал. Соответствующий программный модуль представлен ниже:
#include<REG51.h>
void main(void)
{P0=0; //Зажигание светодиода
while(1); //Бесконечный цикл
}
Эта программа содержит только один исполняемый оператор присваивания 'P0=0;', т.е. во все биты порта Р0 записываем нули. Следующий оператор “while(1);” обеспечивает зацикливание программы, которое было сделано для того, чтобы никакие действия больше не производились. В противном случае микроконтроллер перейдёт к следующей ячейке памяти и будет выполнять команды, которые мы не записывали.
Обратите внимание, что язык программирования «знает», где находится порт P0. Эта информация содержится в строке #include<REG51.h>.
Для работы с битами в СИ51 используются типы данных, приведенные в табл.1.
Таблица 1
Типы данных для работы с битами
Типы данных |
Размер |
Область значений |
|
Бит |
Байт |
||
bit |
1 |
0 |
от 0 до 1 |
sbit |
1 |
0 |
от 0 до 1 |
sfr |
8 |
1 |
от 0 до 255 |
sfr16 |
16 |
2 |
от 0 до 65535 |
Рис. 1. Пример простейшей схемы устройства, построенного с использованием микроконтроллера
Типы данных включенные в табл. 1, не описаны стандартом ANSI, поэтому к ним нельзя обращаться при помощи указателей. Обращение к битам зависит от среды программирования. При работе с компилятором СИ51 ICC8051 к битам порта можно обращаться без предварительного описания; например, Р0.1 – обращение к первому биту нулевого порта. В среде KeilµVision - описание требуется.
Ключевое слово bit используется для объявления битовых переменных, смысл которых ясен из названия. Например:
bit mb;
Ключевое слово sbit используется очень часто в программах ВЕ51 для доступа к отдельным битам. Например, для среды KeilµVision можно использовать следующий вариант:
sbit bit0=P1^0;
Ключевое слово sfr применяется очень часто в программах ВЕ51 для обращения к отдельным битам специальных регистров. Например, для среды KeilµVision возможны следующие варианты:
sfr P0=0x60;
sfr TMOD=0x89.
Ключевые слова sbit, sfr используются для обращения к глобальным переменным.
Для примера заставим светится светодиод VD1 в зависимости от состояния тумблера (см. рис.1). Соответствующий программный модуль приведен ниже.
#include<reg51.h>
sbit sv=P0^6;
sbit t=P2^7;
void main(void)
{sv=t; //Зажигание светодиода в зависимости от
//состояния тумблера
while(1); //Бесконечный цикл
}
Заметим, что светодиод, подключенный к шестому выводу порта Р0 будет светиться, если тумблер, подсоединенный к выводу 7 порта Р2, будет опущен.
Задание 1. Проверьте работу рассмотренной выше программы.
С целью экономии ресурсов МК светодиоды и тумблеры можно подключить к одному порту через общую шину. Схема и соответствующий программный модуль приведены ниже.
Рис. 2. Пример простейшей схемы устройства, построенного с использованием микроконтроллера
При начальной
установке все биты портов Р0-Р3
устанавливаются в 1. Следовательно,
регистр, к которому подключены тумблеры,
отключается от шины, т.к.
а регистр, к которому подключены
светодиоды, будет работать в режиме
записи
.
На выходах D0:D7
этого регистра установятся единичные
сигналы, и светодиоды окажутся погашенными
(отсутствует разность потенциалов).
Составим программу, которая обеспечивает
ввод восьмибитного кода с тумблерного
регистра и выдачу его на светодиоды.
#include <REG51.H>
sbit stb1=P1^5;
sbit stb2=P1^6;
sbit OE=P1^7;
main()
{
unsigned char x;
//схему D1 переводим в режим чтения
stb1=0;
//схему D2 переводим в режим записи
stb2=1;
//разрешаем информационную связь со схемой D2, и тем
//самым в регистр D2 и в порт Р0 записываем состояние
//тумблеров
OE=0;
//состояние порта Р0 сохраняем в переменной х
х=P0;
//переводим схему D2 в состояние чтения
stb2=0;
//отключаем схему D2 от шины
OE=1;
//инвертируем состояние х и записываем в порт Р0;
//схема D1 находится в состоянии записи;
//данные с Р0 запишутся в регистр и выведутся
//на светодиоды
P0=~x;
//схему D1 переводим в режим записи
stb1=1;
//бесконечный цикл
while(1);
}
Задание 2.
Разработайте МПС на базе МК ВЕ51, обеспечивающую ввод восьмибитного кода с тумблерного регистра и выдачу его на светодиоды в соответствии с вариантом задания. Напишите и отладьте соответствующий программный модуль.
Варианты заданий:
а) ШД – порт Р0, управляющие сигналы – Р2;
б) ШД – порт Р1, управляющие сигналы – Р0;
в) ШД – порт Р1, управляющие сигналы – Р2;
г) ШД – порт Р2, управляющие сигналы – Р0;
д) ШД – порт Р2, управляющие сигналы – Р1.
Задание 3. Подключите к МК ВЕ51 два контроллера параллельного ввода/вывода КР580ВВ55. Напишите программу инициализации контроллеров для случая работы всех каналов первого контроллера на ввод в режиме 0, а всех каналов второго контроллера на вывод в режиме 0. Отладьте программный модуль. Справочный материал для выполнения задания приведен на рис. 3, рис. 4 и в табл. 2.
Настройка контроллера осуществляется посредством управляющего слова. Вначале необходимо составить управляющее слово в соответствии со структурой, приведенной на рис. 4, а затем записать его в регистр управляющего слова (РУС). Соответствующая комбинация управляющих сигналов контроллера представлена в табл. 2.
Рис. 3. Программируемый периферийный адаптер К580ВВ55
Таблица 2
Основные операции ППА
Действие |
Сигналы управления |
Операции |
||||
А1 |
А0 |
|
|
|
||
Чтение |
0 |
0 |
0 |
1 |
0 |
|
|
0 |
1 |
0 |
1 |
0 |
|
|
1 |
0 |
0 |
1 |
0 |
|
Запись |
0 |
0 |
1 |
0 |
0 |
|
|
0 |
1 |
1 |
0 |
0 |
|
|
1 |
0 |
1 |
0 |
0 |
|
|
1 |
1 |
1 |
0 |
0 |
|
Отключение |
– |
– |
– |
– |
– |
ШД и порты отключены |
Рис.
4. Управляющее слово РЕЖИМ РАБОТЫ (УСРР)
адаптера КР580ВВ55
