- •Типы команд
- •Команды микроконтроллера семейства мк51
- •Запись программы на языке ассемблера и ее трансляция
- •Xlink -c8051 tablo -o tablo.Hex
- •Загрузка программы в эмулятор и управление его работой
- •Программа работы
- •Контрольные вопросы
- •Система прерываний мк51
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •Машинные коды команд к51
Контрольные вопросы
Чему равно содержимое регистров МК51 после системного сброса?
Чем отличаются друг от друга команды MOV R5,7 и MOV 5,#7?
Транслировать команду JBC F0,$-5.
Как выполняется команда MUL AB?
С помощью каких команд можно прочитать в регистр В информацию с датчиков, подключенных к линиям порта Р1?
Как в режиме окна заполнить исходной информацией массив РПД с адресами 70Н…7FH?
Содержание отчета
Отчет должен содержать листинги отлаживаемых программ (в том числе и по индивидуальному заданию), ответы на контрольные вопросы и комментарии по ходу выполнения пунктов программы работы.
Лабораторная работа №2
ИССЛЕДОВАНИЕ РАБОТЫ ТАЙМЕРОВ И СИСТЕМЫ
ПРЕРЫВАНИЙ МК51
Цель работы. Целью лабораторной работы является исследование работы таймеров/счетчиков событий в различных режимах и системы прерываний микроконтроллеров семейства МК51 с помощью персонального компьютера и программных средств отладки.
Таймеры/счетчики событий МК51
При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле, т.е. через 1 мкс при частоте кварца 12 МГц.
При работе в качестве счетчика событий содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на входы Т0 (Р3.4) или Т1 (Р3.5). Для управления режимами работы Т/С и организации взаимодействия таймеров с системой прерывания используются регистры TMOD (рис.2) и TCON. С помощью битов М1 и М0 задаются четыре возможных режима работы Т/С0 и Т/С1.
T/C1 T/C0
Рисунок 2 – Формат управляющего слова таймеров
Режим 0. Регистр таймера имеет разрядность 13 бит. При его переходе из состояния “все единицы” в состояние “все нули” устанавливается флаг TF. Работа Т/С разрешена, когда TR=1 и либо GATE=0, либо INT=1.
Т/С1 в режиме 0
OSC Т
TF1
С
T1 Управление
TR1
GATE1 Регистр таймера имеет
разрядность 13 бит
INT1 (в режиме 1 - 16 бит)
Т/С1 в режиме 2
OSC T
TF1
C
T1
TR1
GATE1
INT1
Т/С0 в режиме 3
TR1
TF1
OSC
TF0
T0
TR0
GATE0
INT0
Рисунок 3 – Режимы работы таймеров
Режим 1. Отличается от режима 0 тем, что регистр таймера имеет разрядность 16 бит.
Режим 2. TL работает как 8-битовый автоперезагружаемый тай-мер/счетчик. ТН хранит значение, которое должно быть перезагружено в TL каждый раз по его переполнению.
Режим 3. TL0 работает как 8-битовый Т/С и его режим определяется управляющими битами Т/С0. ТН0 работает только как 8-битовый таймер, управляемый битом TR1 и использующий флаг TF1. Работа Т/С1 постоянно разрешена в режимах 0,1 и 2 без использования прерываний.
Символические обозначения программно доступных битов некоторых регистров приведены в табл.1.
Таблица 1
Регистр |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
P3 |
RD |
WR |
T1 |
T0 |
INT1 |
INT0 |
TxD |
RxD |
PSW |
C |
AC |
F0 |
RS1 |
RS0 |
OV |
- |
P |
TCON |
TF1 |
TR1 |
TF0 |
TR0 |
IE1 |
IT1 |
IE0 |
IT0 |
IE |
EA |
- |
- |
ES |
ET1 |
EX1 |
ET0 |
EX0 |
IP |
- |
- |
- |
PS |
PT1 |
PX1 |
PT0 |
PX0 |
SCON |
SM0 |
SM1 |
SM2 |
REN |
TB8 |
RB8 |
TI |
RI |