Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к цифрам.doc
Скачиваний:
28
Добавлен:
06.05.2019
Размер:
2.08 Mб
Скачать

5. Задание на выполнение работы.

Вариант

Число в R1

Число в R2

Действие

1

02h

04h

Из содержимого R2 вычесть содержимое R1, результат вывести на статический индикатор

2

27h

02h

Содержимое R1 и содержимое R2 перемножить, результат вывести на статический индикатор

3

26h

02h

Содержимое R1 разделить на содержимое R2, частное вывести на статический индикатор

4

26h

-

К содержимому R1 прибавить число 5, результат вывести на статический индикатор

5

26h

07h

Содержимое R1 разделить на содержимое R2, остаток вывести на статический индикатор

6

13h

12

Содержимое R1 и содержимое R2 перемножить, результат вывести на статический индикатор

7

47h

-

Содержимое R1 увеличить на 1, результат вывести на статический индикатор

8

21h

-

Содержимое R1 уменьшить на 1, результат вывести на статический индикатор

9

21h

45h

Содержимое R2 разделить на содержимое R1, остаток вывести на статический индикатор

10

33h

21h

Содержимое R2 разделить на содержимое R1, частное вывести на статический индикатор

6. Отчет по работе.

Отчет по работе должен содержать:

  1. Цель работы;

  2. Краткие теоретические сведения о микроконтроллере, системе команд, способах адресации;

  3. Листинг работающей в соответствии с индивидуальным заданием программы;

  4. Выводы по работе.

Лабораторная работа № 9

Изучение программирования встроенных таймеров микроконтроллера mcs-51

Цель работы:

Изучение структуры и команд программирования встроенных таймеров микроконтроллеров MCS-51.

Приборы и оборудование

1. Компьютер с программой – транслятором ASM51.EXE (x8051.EXE) в объектный модуль, программой – редактора связей (преобразования объектного модуля в исполняемый) rl51.EXE и программой преобразования исполняемого модуля в загрузочный OH.EXE или программы fd51.EXE, совмещающей возможности программ rl51.EXE и OH.EXE (при использовании x8051.EXE возможна замена программ rl51.EXE и OH.EXE, необходимых для получения загрузочного модуля, программой LINK.EXE), программой загрузки исполняемого модуля в стенд EVAL32.EXE.

2. Учебно-отладочный стенд EV8031/AVR (V3.2).

1. Краткие теоретические сведения

В базовых моделях семейства имеются два программируемых 16-битных таймера/счетчика (T/C0 и T/C1), которые могут быть использованы как в качестве таймеров, так и в качестве счетчиков внешних событий. Каждый из них состоит из двух 8-битных регистров TH0 (старший байт) и TH0 (младший байт) для таймера 0 или TH1 (старший байт) и TH1 (младший байт) для таймера 1.

В режиме таймера содержимое соответствующего таймера/счетчика инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов колебаний кварцевого резонатора.

В режиме счетчика содержимое соответствующего таймера/счетчика инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на вывод микроконтроллера T0 или T1. Так как на распознавание периода требуются два машинных цикла, максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входной сигнал должен удерживать значение 1, как минимум, в течение одного машинного цикла микро-ЭВМ.

Схемы управления таймерами идентичны. Таймер 0 и Таймер 1 могут работать в четырех режимах работы:

  • режим 0: 13-битный таймер

  • режим 1: 16-битный таймер

  • режим 2: 8-битный автоперезагружаемый таймер

  • режим 3: Таймер 0 как 2 раздельных 8-битных таймера.

Кроме того, Таймер 1 можно использовать для задания скорости передачи (baud rate) последовательного порта.

Для переключения режимов работы таймеров используются биты M0 и M1 регистра специальной функции TMOD. Название образовано от сокращения двух английских слов: T(timer)- таймер и mode - режим. Имена и расположение битов приведено на рисунке 9.1:

Рис. 9.1. Формат регистра управления режимами работы таймеров TMOD.

Так как управление таймерами 0 и 1 полностью идентично, то приведём назначение битов по именам:

Символ

Позиция бита

Имя и назначение

GATE

TMOD.7 для таймера 1 и TMOD.3 для таймера 0

Управление блокировкой таймера от вывода INTx. Если бит установлен в 1, то таймер/счетчик "x" разрешен до тех пор, пока на входе "lNTx" высокий уровень и бит управления "TRx" установлен. Если бит сброшен в 0, то Т/С разрешается, как только бит управления "TRx" устанавливается в 1.

С/Т

TMOD.6 для таймера 1 и TMOD.2 для таймера 0

Бит выбора режима таймера или счетчика событий. Если бит сброшен в 0, то таймер работает от внутреннего генератора, если установлен в 1, то работает от внешних сигналов на входе "Tx"

M1

TMOD.5 для таймера 1 и TMOD.1 для таймера 0

Выбор режима работы таймера

M1

M0

0

0

13 битный таймер/счетчик "TLx" работает как 5-битный предварительный делитель

0

1

16 битный таймер/счетчик. "THx" и "TLx" включены последовательно

1

0

8-битный автоперезагружаемый таймер/счетчик. "THx" хранит значение, которое должно быть перезагружено в "TLx" каждый раз по переполнению

1

1

Таймер/счетчик 1 останавливается. Таймер/счетчик 0: TL0 работает как 8-битный таймер/счетчик, и его режим определяется управляющими битами таймера 0. TH0 работает только как 8 битный таймер, и его режим определяется управляющими битами таймера 1

M0

TMOD.4 для Т/С1 и TMOD.0 для Т/С0

Примечание. INT0 соответствует альтернативная функция вывода Р3.2,

а INT1 соответствует альтернативная функция вывода Р3.1.