Программирование таймеров, ввод-вывод данных через параллельные порты, прерывания
Рассмотрение общих правил отмеривания временных интервалов в различных режимах работы таймеров. Программное обеспечение ввода-вывода данных через параллельные порты таймера. Изучение особенностей использования системы прерываний микроконтроллера.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 18.06.2015 |
Размер файла | 73,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Лабораторная работа
Программирование таймеров, ввод-вывод данных через параллельные порты, прерывания
Введение
Цель работы: Научится отмерять временные интервалы в различных режимах работы таймеров, обеспечивать ввод-вывод данных через параллельные порты и использовать систему прерываний микроконтроллера.
1. Теоретические сведения
В нашей лабораторной работе будем использовать прерывания от таймеров счетчиков. При подсчете внешних событий используем счетчик, для подсчета времени - таймер. Для простоты подсчета времени будем считать, что частота кварцевого резонатора равна 12 МГц, то есть "рабочая" частота составит 1 МГц. Единица времени 1/1000000 и равна 1 мкс. При использовании 16 битного таймера счетчика (режим 1) таймер сможет подсчитать промежуток времени до 65536 мкс или 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,#11111111b
Setb EA; разрешение всех прерываний.
Setb ET1; разрешение прерывания от таймера 1. Режим работы таймеров счетчиков устанавливается в регистре Tmod, управление - Tcon.
Mov Tmod,#00010000b
Mov TL1.#LOW(15536)
Mov TH1.#NIGH(15536); в младшую и старшую часть таймера 1 записываем начальные условия.
Mov R7,#86; вписываем любое значение в регистр 7
Mov R6,#68; при помощи
Setb TR1; запуск таймера счетчика
Jmp START; переходим в основную программу
Org 001BH; место, куда перейдет контроллер, когда таймер счетчика 1 переполнится
Clr TR1; останавливаем таймер счетчика 1
Mov TL1,#LOW(15536)
Mov TH1,#HIGH(15536)
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,#01100000b; восьми битный автоперезагружательный счетчик используется для подсчета чисел 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. Что такое вектор прерывания?
Это адрес, по которому будет сделан переход в случае вызова соответствующего прерывания.
Размещено на Allbest.ru
Подобные документы
Проектирование механизма обработки прерываний. Контроллер прерываний Intel 82C59A. Ввод-вывод по прерыванию. Программируемый контроллер интерфейса Intel 82C55A. Роль процессора в обработке прерывания ввода-вывода. Обзор алгоритма обработки прерывания.
контрольная работа [8,0 M], добавлен 19.05.2010Персональный компьютер (ПК) - это комплекс взаимосвязанных устройств, каждое из которых выполняет определенные функции. Порты (персонального) компьютера: COM, LTP, USB, PS/2. Ввод-вывод информации, разъемы, условные обозначения. Кабели и разъёмы USB.
курсовая работа [836,7 K], добавлен 05.04.2011Назначение, особенности, структура и функционирование различных моделей микроконтроллеров. Средства их отладки и программирования. Способы адресации и система команд. Набор периферийных устройств. Порты ввода/вывода. Модуль формирования ШИМ-сигналов.
курсовая работа [201,9 K], добавлен 25.12.2014Процедура ввода исходных данных в программу, вывод результатов работы программы на экран. Принцип организации хранения логически связанных наборов информации в виде файлов. Параметры характеристики файла, способы обращения к нему, соглашения по типу.
реферат [14,5 K], добавлен 06.12.2011Использование программой функции ввода-вывода данных для реализации дружественного интерфейса с пользователем. Функции консоли и особенности их применения для обеспечения аккуратного ввода информации и упорядоченного вывода. Обзор стандартных функций.
лабораторная работа [40,4 K], добавлен 06.07.2009Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.
курсовая работа [336,2 K], добавлен 27.06.2015Разработка встраиваемого в электронную аппаратуру микроконтроллера с целью обеспечения ввода данных с клавиатуры и отображения результатов обработки на индикации. Описание активного элемента (системная шина ISA). Программное обеспечение микроконтроллера.
курсовая работа [848,9 K], добавлен 05.02.2016Анализ операторов ввода и вывода, а также характеристика форматов, используемых в этих операторах. Оформление законченной программы с применением этих операторов. Структура программы. Алфавит языка и типы данных. Ввод и вывод информации. Форматный вывод.
лабораторная работа [62,0 K], добавлен 15.07.2010Разработка ввода с клавиатуры и вывода на экран монитора данных с помощью стандартных функций printf и scanf. Ввод количества материальных точек. Работа с линейным списком. Хранение содержимого списка в блоке ячеек памяти с последовательными адресами.
курсовая работа [176,8 K], добавлен 18.01.2016В стандарте языка Си отсутствуют средства ввода-вывода. Операции реализуются с помощью функций, находящихся в библиотеке языка Си, поставляемой в составе системы программирования Си. Потоковый, форматный ввод-вывод. Форматный ввод из входного потока.
реферат [98,9 K], добавлен 24.06.2008