Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OMT_10.doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
1.13 Mб
Скачать

1.2.1 Организация памяти и программная модель

Нарисуйте и опишите структуру памяти программ и памяти данных микроконтроллера, укажите управляющие сигналы и способы адресации.

Приведите описание программной модели и регистров специальных функций (РСФ) микроконтроллера. Сведения о РСФ запишите в таблицу, указав имя, адрес, назначение и начальное состояние каждого регистра при сбросе микроконтроллера (см. лаб. раб. №4).

1.2.2. Параллельные порты ввода/вывода

Дайте общую характеристику параллельных портов ввода/вывода. Приведите описание их альтернативных функций. Укажите РСФ, обслуживающие порты.

Определите и перечислите, какие функции будут выполняться портами ввода/вывода для обеспечения работы генератора сигналов.

1.2.3 Таймеры/ счетчики

Дайте общую характеристику таймеров/счетчиков микроконтроллера, укажите их количество, перечислите режимы работы. Приведите форматы обслуживающих РСФ.

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

Пример. Пусть длительность формирования каждой кодовой комбинации tk определяется таймером/счетчиком T0 микроконтроллера. При работе в качестве таймера содержимое регистров Т0 инкрементируется в каждом машинном цикле. При переполнении таймера формируется запрос прерывания, в процессе обслуживания которого микроконтроллер читает из памяти и выводит в порт следующую кодовую комбинацию и начинает отсчет длительности следующего такта.

Режим 1 соответствует работе шестнадцатиразрядного таймера, в котором регистры TH0 и TL0 включены последовательно. В этом режиме за один период работы таймера до прерывания можно отсчитать до 65 536 машинных циклов.

В Режиме 2 таймер работает как восьмиразрядный таймер с автоперезагрузкой. Каждый раз при переполнении регистра TL0 в него загружается значение, записанное в регистр TH0. В этом режиме за один период можно отсчитать до 256 машинных циклов.

Определим количество машинных циклов, соответствующих временному интервалу tk при заданной рабочей частоте Fosc микроконтроллера.

Один машинный цикл tмц микроконтроллера Intel 80С31 включает 12 периодов работы тактового генератора. Длительность одного машинного цикла при рабочей частоте 24 МГц составит:

tмц = 12/Fosc,

tмц = 12/24 МГц = 0,5 мкс

Определим количество машинных циклов M, необходимое для формирования временного интервала 100 мкс:

M = tk / tмц,

M = 100 мкс / 0,5 мкс = 200

Следовательно, наиболее удобным режимом работы таймера T0 является Режим 2, обеспечивающий автоматическую перезагрузку регистра TL0 при переполнении.

Перед включением таймера в регистр TH0 необходимо записать число Х, с которого начинает счет регистр TL0 (начальную уставку таймера). Так как счет производится по возрастанию, значение числа Х, соответствующее отсчету 200 машинных циклов до переполнения таймера, определяется выражением:

Х = 256 – M,

Х = 256 –200 = 56 = 38h

Таким образом, перед первым включением таймера Т0 необходимо определить его режим работы, установив значения соответствующих битов в регистре TMOD, и записать в регистры TL0 и TH0 начальную уставку 38h.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]