Диплом, курсовая, контрольная работа
Помощь в написании студенческих работ

Программирование таймеров, ввод-вывод данных через параллельные порты, прерывания

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

Mov Tmod,#110 0000b; восьми битный автоперезагружательный счетчик используется для подсчета чисел 256, подсчет ведется в младшей части таймера счетчика, а при переполнении в младшую часть записываем число из старшей части. В базовых моделях семейства имеются два программируемых 16-битных таймерасчетчика (Т/С0и Т/С1), которые могут быть использованы как в качестве таймеров, так и в качестве… Читать ещё >

Программирование таймеров, ввод-вывод данных через параллельные порты, прерывания (реферат, курсовая, диплом, контрольная)

Лабораторная работа Программирование таймеров, ввод-вывод данных через параллельные порты, прерывания Введение Цель работы: Научится отмерять временные интервалы в различных режимах работы таймеров, обеспечивать ввод-вывод данных через параллельные порты и использовать систему прерываний микроконтроллера.

1. Теоретические сведения В нашей лабораторной работе будем использовать прерывания от таймеров счетчиков. При подсчете внешних событий используем счетчик, для подсчета времени — таймер. Для простоты подсчета времени будем считать, что частота кварцевого резонатора равна 12 МГц, то есть «рабочая» частота составит 1 МГц. Единица времени 1/1 000 000 и равна 1 мкс. При использовании 16 битного таймера счетчика (режим 1) таймер сможет подсчитать промежуток времени до 65 536 мкс или 65 мс.

Для подсчета внешних событий достаточно 8-ми битного таймера счетчика (режим 2), измеряем количество до 256.

2. Ход работы

2.1 Задание 1

Установить начальное значение портов.

В зависимости от значения заданного временного интервала выбрать наиболее удобный режим (0, 1, 2). По истечении временного интервала выполнить увеличение значения регистра 7 на 1 и выдать на ССИ и возобновить состояние таймера для следующего отсчета.

t = 3.4 = 68*50 мс.

Для такого промежутка времени необходимо 68 переходов таймера. После подсчета времени необходимо инвертировать состояние бита 0 порта 1.

$mod 51

Org 0; вектор прерывания по сбросу. При включении необходимо произвести настройку для выдачи информации на порт 1 при первом к нему обращении записываем 1.

Mov P1,#1 111 1111b

Setb EA; разрешение всех прерываний.

Setb ET1; разрешение прерывания от таймера 1. Режим работы таймеров счетчиков устанавливается в регистре Tmod, управление — Tcon.

Mov Tmod,#1 0000b

Mov TL1.#LOW (15 536)

Mov TH1.#NIGH (15 536); в младшую и старшую часть таймера 1 записываем начальные условия.

Mov R7,#86; вписываем любое значение в регистр 7

Mov R6,#68; при помощи

Setb TR1; запуск таймера счетчика

Jmp START; переходим в основную программу

Org 001BH; место, куда перейдет контроллер, когда таймер счетчика 1 переполнится

Clr TR1; останавливаем таймер счетчика 1

Mov TL1,#LOW (15 536)

Mov TH1,#HIGH (15 536)

Djnz R6, Schet; уменьшаем на единицу и переход если не 0

Setb TR1

Mov A, R7

Mov A, P1

CPL acc.0

Mov P1, A

Mov P6,#68

Schet:

Reti

START

Mov P2, A; выводим число на ССИ

Jmp START

END.

2.2 Задание 2

Контроллер будет подсчитывать количество нажатий кнопки SB1 и выдавать результат на ЖКИ через Р2.

$mod 51

Org 0

Setb EA

Setb ET1

Mov Tmod,#110 0000b; восьми битный автоперезагружательный счетчик используется для подсчета чисел 256, подсчет ведется в младшей части таймера счетчика, а при переполнении в младшую часть записываем число из старшей части

Mov TH0,#246

Mov TL0,#246

Setb TR1; запускаем таймер счетчика 1

Mov P2,#255; настраиваем порт на выдачу информации

Jmp START

org 001BH

clr TR1

setb TR1

reti

START

Mov A, TL1

Sub A,#246

Mov P2, A

Jmp START

END.

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

Контрольные вопросы

1. Что такое параллельный код?

Параллельным называют код, все разряды которого передаются с устройства на устройство одновременно (параллельно).

2. Сколько параллельных портов у микроконтроллера, какие альтернативные функции могут выполнить порты?

Четыре программируемых параллельных порта ввода/вывода.

3. Сколько таймеров имеется у микроконтроллера, какие есть режимы работы таймеров?

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

4. Что такое прерывание?

Прерывание — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается, и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.

5. Что такое запрос на прерывание?

Запрос на прерывание — сигнал, отправляемый устройством для привлечения ресурсов процессора в момент, когда оно готово для приема или передачи данных.

6. Что такое вектор прерывания?

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

Показать весь текст
Заполнить форму текущей работой