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

  • Вид работы:
    Практическое задание
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    22,28 Кб
  • Опубликовано:
    2015-06-18
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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















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

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

Введение

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

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

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

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

2. Ход работы

.1 Задание 1

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

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

= 3.4 = 68*50 мс.

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

$mod 510; вектор прерывания по сбросу. При включении необходимо произвести настройку для выдачи информации на порт 1 при первом к нему обращении записываем 1.P1,#11111111bEA; разрешение всех прерываний.ET1; разрешение прерывания от таймера 1. Режим работы таймеров счетчиков устанавливается в регистре Tmod, управление - Tcon.

Mov Tmod,#00010000bTL1.#LOW(15536)

Mov TH1.#NIGH(15536); в младшую и старшую часть таймера 1 записываем начальные условия.R7,#86; вписываем любое значение в регистр 7R6,#68; при помощиTR1; запуск таймера счетчикаSTART; переходим в основную программу001BH; место, куда перейдет контроллер, когда таймер счетчика 1 переполнитсяTR1; останавливаем таймер счетчика 1

Mov TL1,#LOW(15536)TH1,#HIGH(15536)

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

Setb TR1A,R7A,P1acc.0P1,AP6,#68

Schet:P2,A; выводим число на ССИSTART.



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

$mod 510EAET1

Mov Tmod,#01100000b; восьми битный автоперезагружательный счетчик используется для подсчета чисел 256, подсчет ведется в младшей части таймера счетчика, а при переполнении в младшую часть записываем число из старшей частиTH0,#246TL0,#246TR1; запускаем таймер счетчика 1P2,#255; настраиваем порт на выдачу информации

Jmp START001BHTR1TR1A,TL1A,#246P2,ASTART.

таймер интервал порт микроконтроллер

Вывод

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

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

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

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

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

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

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

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

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

Прерывание - сигнал, сообщающий процессору <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80> о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается, и управление передаётся обработчику прерывания <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA_%D0%BF%D1%80%D0%B5%D1%80%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F>, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.

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

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

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


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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!