Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 4 / Лабораторная работа N 4.doc
Скачиваний:
15
Добавлен:
01.05.2014
Размер:
152.06 Кб
Скачать

Режим 6

В этом режиме соответствующий таймер может быть использован в качестве широтно-импульсного модулятора с полным периодом в 256 тактов. Структура таймера в этом режиме напоминает структуру в режиме 2, с некоторыми поправками:

TFn (n=0 и 1 для таймера 0 и таймера 1 соответственно) устанавливается и сбрасывается аппаратно;

Длительность низкого уровня за полный период задается в THn, и должна иметь значение от 1 до 254;

Длительность высокого уровня за полный период составляет всегда

256 – THn;

Загрузка в THn значения 00h приведет к появлению на выводе Tx высокого уровня, загрузка в THn значения FFh приведет к появлению на выводе Tx низкого уровня.

При этом прерывание может быть разрешено по фронту TFn, и флаг TFn можно сбросить программно такж, как и в любом другом режиме.

Задания

Вывод результата эксперимента осуществляется через порт P2 контроллера.

  1. Разработать программу аппаратно-программной задержки, обеспечивающую наблюдение эффекта "Бегущего огня" на индикаторных светодиодах. Вид и частота "бегущего огня" определены вариантом задания (номер бригады).

Совместно с таймером/счетчиком при выполнении лабораторной работы необходимо использовать подпрограмму задержки. Сигнал прерывания TF0 из С/Т0 вызывает модуль программной задержки, реализуемой с использованием соответствующего кода, загружаемого в регистр МК и декрементируемого после очередного сигнала прерывания из Т/С.

В режиме реального времени реализация задержки только посредством таймера при частоте тактирования микроконтроллера 6Mгц для 16-битного Т/С составляет около 130 мс, что недостаточно для визуального наблюдения за "бегущим огнем", используемым в качестве индикатора результатов эксперимента.

В режиме моделирования процессы в ОМК идут медленнее в сотни раз. Поэтому настройка C/T0 иная, чем в режиме реального времени

В соответствии с заданием определить длительность и количество вызовов подпрограммы задержки для режимов реального времени и моделирования.

Возврат из подпрограммы программной задержки обеспечивается командой RETI, восстанавливающей содержимое программного счетчика РС из стека. В стек РС загружается автоматически по аппаратно сформированному коду команды LCALL. В РС при прерывании от Т/С0 загружается код адреса 000BH, в котором находится команда перехода к подпрограмме обработки соответствующего прерывания.

А. Разрешение счета обеспечивается битом GATE, устанавливаемым в регистре TMOD.

В. Разрешение счета обеспечивается внешним сигналом, поступающим на вход прерывания INT0.

Вариант

задания

Вид бегущего огня

Время свечения

светодиода/СИД/

/в секундах/

1

Слева-направо; горит 1 СИД

0,5

2

Слева-направо; горят 2 СИД

1,0

3

Справо-налево; горит 1 СИД

1,5

4

Справо-налево; горят 2 СИД

2,0

5

Слева-направо; горят 4 СИД

0,5

6

Справо-налево; горят 4 СИД

1,0

7

Сходящийся к центру; горят 2 СИД

1,5

8

Расходящийся от центра; горят 2 СИД

2,0

  1. Разработать программу подсчета числа внешних сигналов /событий/. Источником сигналов является внешний сигнал, поступающий на вход Т0, режим работы Т/С0 - режим 1.

Результатом выполнения программы является код числа сигналов, выведенный на СИД.

3.Построить программу подсчета внешних сигналов для Т/С0 в режиме 2. Для наблюдения выполнения программы загрузить в TL0 и TH0 одинаковые коды, например 0F8H.

Содержимое TL0 выводить на индикацию.

Изучить особенность работы Т/С0 в режиме 2.

Управление прерыванием (разрешить/запретить) от Т/С0 можно осуществить сбросом бита IE.7 или бита IE.1 в регистре масок прерывания IE.

Соседние файлы в папке Лабораторная работа 4