- •Методические указания и задания по лабораторному практикуму по курсу «Микропроцессоры» Учебное пособие Москва 2013
- •Лабораторная работа №1. "Исследование возможностей интегрированной среды для создания программ для микроконтроллеров"
- •1. Краткое описание интегрированной среды
- •1.1. Окно интегрированной среды
- •1.2. Использование отладчика (симулятора) для ассемблерных модулей
- •1.3. Порядок создания программ на Ассемблере с помощью интегрированной среды
- •1.4. Порядок отладки программ на Ассемблере с помощью интегрированной среды
- •1.5. Дополнительные операторы языка Ассемблера для использования интегрированной среды
- •1.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •1.8. Отчет по работе
- •Лабораторная работа №2. "Исследование арифметических и логических операций над двоичными и шестнадцатеричными числами применительно к реализации в микроконтроллерах"
- •1. Логические и арифметические операции
- •2.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •Лабораторная работа №3. "Исследование возможностей интегрированной среды для создания программ для оэвм семейства mcs51"
- •1.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •1.8. Содержание отчета
- •1.9. Задания для самопроверки
- •Лабораторная работа №4 Исследование программно-аппаратного комплекса для отладки программ для оэвм семейства mcs-51
- •4.1. Макетно-отладочная плата ев-552
- •2.3. Порядок создания и проверки программ в интегрированной системе uVision2 - eb552
- •2.3.1. Использование программы ев552.Exe для загрузки нех файлов в плату
- •8. Передача отлаживаемого файла в плату ев552
- •2.4. Задание для домашней подготовки
- •2.5. Лабораторное занятие
- •2.5.1. Основы работы с массивами чисел
- •2.5.2. Отладка программы в интегрированной среде
- •2.6. Результаты отчета
- •2.7. Контрольные вопросы
- •Лабораторная работа № 5 Исследование таймеров-счетчиков и системы прерывания оэвм
- •3.1. Основные теоретические сведения
- •3.1.1. Использование таймера для осуществления программной задержки
- •3.1.2. Система прерываний оэвм
- •3.1.3. Управление работой таймеров
- •Xseg at 0000h
- •3.1.4. Работа таймера в режиме счетчика событий
- •Xseg at 0000h
- •3.2. Задание для домашней подготовки
- •3.3. Лабораторное задание
- •3.3.1. Исследование работы таймеров
- •3.4. Содержимое отчета
- •Список рекомендованной литературы
1.5. Дополнительные операторы языка Ассемблера для использования интегрированной среды
Интегрированная среда Uvision2 используется в частности для отладки программ, написанных на языке Ассемблера для ОЭВМ семейства MCS51. Большинство операторов этого языка совпадают с мнемониками команд ОЭВМ, которые приводятся в описании ОЭВМ. Однако для правильной работы компилятора среды необходимо добавлять некоторые операторы, которые называются «невыполняемыми» и которые используются для распределения памяти и переменных.
Программный модуль на ассемблере имеет вид:
NAME <имя модуля>
CSEG AT 0000H
ORG 0000H
;строки текста программы и директивы ассемблеру
*
*
END
Что касается задания имен и меток в программе, то они могут быть любыми, но нужно руководствоваться некоторыми правилами:
они должны начинаться с буквы,
они не должны содержать знаков препинания, но могут содержать символ подчеркивания,
они не должны превышать 6 символов.
они не должны совпадать с зарезервированными именами в языке Ассемблер.
Зарезервированные имена даны именам регистров и битовых переменных ОЭВМ в пространстве спецрегистров (SFR), и их можно использовать прямо в программе, не расшифровывая:
Обозначение регистра или бита |
Альтернативное обозначение |
Назначение регистра или бита |
Регистры специальных функций | ||
ACC |
- |
аккумулятор |
B |
- |
регистр B |
DPH |
- |
старший байт DPTR |
DPL |
|
младший байт DPTR |
IE |
|
маска прерываний |
IP |
|
маска приоритетов прерываний |
P0 |
|
порт 0 |
P1 |
|
порт 1 |
P2 |
|
порт 2 |
P3 |
|
Порт 3 |
PSW |
|
слова состояние |
SBUF |
|
буфер посл. порта |
SCON |
|
настройка посл. порта |
SP |
|
Указатель стека |
TCON |
|
флаги таймеров |
TH0 |
|
старший байт таймер 0 |
TL0 |
|
младший байт таймер 0 |
TH1,TL1 |
|
То же для таймера 1 |
TMOD |
|
настройка таймеров |
Триггеры специальных функций | ||
CY |
PSW.7 |
перенос |
AC |
PSW.6 |
вспомогательный .перенос |
F0 |
PSW.5 |
общий флаг |
RS1 |
PSW.4 |
выбора банка регистров |
RS0 |
PSW.3 |
|
OV |
PSW.2 |
переполнение |
P |
PSW.0 |
четность |
TF1 |
TCON.7 |
переполнение таймера1 |
TR1 |
TCON.6 |
включение таймера1 |
TF0 |
TCON.5 |
переполнение таймера0 |
TR0 |
TCON.4 |
включение таймера0 |
IE1 |
TCON.3 |
наличие прерывания 1 |
IT1 |
TCON.2 |
управление прерыванием 1 |
IE0 |
TCON.1 |
наличие прерывания 0 |
IT0 |
TCON.0 |
управление прерыванием 0 |
SM0 |
SCON.7 |
нулевой триггер управления режимом последовательного порта |
SM1 |
SCON.6 |
управление режимом последовательного порта |
SM2 |
SCON.5 |
|
REN |
SCON.4 |
разрешения приема |
TB8 |
SCON.3 |
передаваемый 8-ой бит данных |
RB8 |
SCON.2 |
принимаемый 8-ой бит данных |
TI |
SCON.1 |
готовность передатчика |
RI |
SCON.0 |
буфер приемника заполнен |
EA |
IE.7 |
маска всех прерываний |
ES |
IE.4 |
маска прерывания от последовательного порта |
ET1 |
IE.3 |
маска прерываний от таймера1 |
ET0 |
IE.1 |
маска прерываний от таймера0 |
EX1 |
IE.2 |
маска прерываний по INT1 |
EX0 |
IE.0 |
маска прерываний по INT0 |
T1 |
P3.5 |
внешний сигнал для таймера 1 или для нужд пользователя |
T0 |
P3.4 |
внешний сигнал для таймера 0 или для нужд пользователя |
INT1 |
P3.3 |
внешний сигнал для системы прерывания 1 или общий сигнал для нужд пользователя |
INT0 |
P3.2 |
внешний сигнал для системы прерывания 1 или общий сигнал для нужд пользователя |