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

3 Оформление отчета

Отчет должен содержать:

    1. 1 Название, цель работы

    2. 2 Выводы

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

1 Какие уровни сигнала внешнего прерывания способны вызвать прерывание?

2 Как задать уровень сигнала прерывания INT0?

3 Как разрешить прерывание от INT0?

4 Почему при вхождении в подпрограмму обработки прерывания сбрасывается флаг глобального прерывания, как это влияет на прерывания более высокого уровня?

Урок № 46

Тема: Закрепление материала. Подготовка к контрольной работе

Задание 1 Конфигурирование портов

    1. Выполните настройку портов B и D: В – на ввод, D – на вывод

    2. Выполните настройку порта B на ввод с внутренним подтягивающим резистором

    3. В схеме, изображенной на рисунке 1 выполните настройку линий PB.7 и PD.0

Рисунок 1

Задание 2

Составьте фрагмент программы, выполняющий следующие действия: включить светодиод HL1

Задание 3

Составьте фрагмент программы, выполняющий следующие действия: выключить светодиод HL1

Задание 4

Составьте фрагмент программы, выполняющий следующие действия: выполнить опрос входа PD.0: если тумблер находится в верхнем положении, включить светодиод HL1, в противном случае ждать, пока тумблер включат

Задание 5

Составьте фрагмент программы, выполняющий следующие действия:

Организовать опрос тумблера в режиме прерывания программы. В момент выключения тумблера SA2 включается светодиод HL1.

Рисунок 1

Задание 6 Составьте схему подключения к порту С микроконтроллера ATmega8535 четырех замыкающих контактов и четырех светодиодов. Составьте фрагмент конфигурирования порта С.

Задание 7 Составьте схему подключения к порту А микроконтроллера ATmega8535 семисегментного индикатора с общим анодом.

Задание 8 Расчитайте величину токоограничивающего резистора для светодиода HL1. Тип светодиода АЛ307ЛМ

Задание 9 Объясните, как сконфигурированы порты в следующем фрагменте:

ldi r16,0

out ddra,r16

ldi r16,$ff

out porta,r16

out ddrс,r16

Задание 10 Объясните, какие прерывания разрешены в следующем фрагменте и уровень сигнала прерывания:

ldi r16,0b00000011

out mcucr,r16

ldi r16,0b01000000

out gicr,r16

Урок № 47

Тема 2.14 Таймеры

Вопросы темы:

2.14.1 Назначение, основные режимы работы таймера

2.14.2 Таймер-счетчик T/C0 МК АТmega8535

2.14.3 Регистры таймера-счетчика T/C0

2.14.4 Примеры программ формирования пауз с помощью таймера-счетчика T/C0

2.14.1 Назначение, основные режимы работы таймера

В микропроцессорах таймеры используются для оценки временных интервалов. С помощью таймера микропроцессор «обретает» чувство времени. Таймер вырабатывает сигналы на выходе, которые называют «тиками» через заданные промежутки времени. Например, если задать величину промежутка длительностью 1 сек, таймер работает как секундомер. Формировать «тики» - основная задача любого таймера, но современные таймеры выполняют еще множество других функций, наиболее важными являются следующие:

  • счет внешних импульсов, поступающих на вход микропроцессора;

  • генерация импульсов с настраиваемым соотношением длительности импульса и паузы (режим ШИМ);

Основой любого таймера является накапливающий регистр, на вход которого поступают импульсы определенной частоты. С каждым импульсом к содержимому регистра прибавляется 1. При переполнении регистра вырабатывается импульс переполнения, который является «тиком».

Интервалы между «тиками» зависят от двух параметров:

  • частоты входных импульсов;

  • разрядности накапливающего регистра.

Рисунок 1

Пример 1. Определите интервал между тиками, если частота входных импульсов суммирующего регистра F= 250 Гц, разрядность регистра n=8.

Чтобы определить интервал между тиками, необходимо определить, сколько времени пройдет до переполнения регистра:

t = N∙T (1)

N - количество входных импульсов до переполнения регистра,

Т - интервал между импульсами

Количество входных импульсов до переполнения регистра определяется по формуле:

N = 2n, (2)

n – разрядность регистра

n = 8, N=256

Интервал между импульсами – это период входной частоты, который определяется по формуле:

T = 1/F (3)

F – частота входных импульсов

F = 250 Гц, T = 0,004(сек)

Подставляя результаты расчетов по формулам (2) и (3) в (1), получим:

t = 256∙0,004 ≈ 1(сек)

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

1 Для чего предназначены таймеры?

2 Что составляет основу таймера?

3 От чего зависит частота «тиков» таймера?

4 Определите интервал между «тиками» таймера, если частота входных импульсов F = 1МГц, разрядность накопительного регистра 16 бит?

Урок № 48

2.14.2 Таймер-счетчик T/C0 МК АТmega8535

В состав МК АТmega8535 входят 3 таймера-счетчика: 2 восьмиразрядных и 1 шестнадцатиразрядных. Все модели микроконтроллеров семейства AVR имеют восьмиразрядный таймер-счетчик T/C0. Рассмотрим принцип его работы.

Рисунок 2 Таймер T/C0

Основу таймера составляет 8-разрядный накапливающий регистр TCNT0, на его вход поступают импульсы Ф, частота которых зависит от частоты синхронизации МК и определяется по формуле:

Ф = Fq/Кдел, (1)

где Fq – частота синхронизации МК

Кдел – коэффициент деления

Величина коэффициента деления Кдел задается в регистре управления таймера TCCR0.

CS2

CS1

CS0

0

0

0

Таймер остановлен

0

0

1

Кдел=1

0

1

0

Кдел=8

0

1

1

Кдел=64

1

0

0

Кдел=256

1

0

1

Кдел=1024

Рисунок 3- Формат регистра управления таймера

По сигналу переполнения накопительного регистра формируется флаг прерывания по переполнению таймера TOV0. Если прерывание по переполнению таймера разрешено, то вырабатывается сигнал требования прерывания по переполнению таймера и переход к подпрограмме обслуживания прерывания (адрес вектора $0009).

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

1 Объясните принцип работы таймера-счетчика Т/C0

2 Как можно изменять частоту тиков таймера-счетчика Т/C0