- •Конспект лекций по дисциплине Микропроцессоры и микропроцессорные системы управления
- •Раздел 1 Основы микропроцессорной техники Тема 1.1 Принцип программного управления – основной принцип работы мп
- •Тема 1.2 Принцип централизации управления мпс. Шинная связь
- •Урок №5
- •Тема 1.3 Регистровая модель микропроцессора
- •1.3.1 Классификация внутренних регистров мп
- •1.3.2 Две архитектуры мп: аккумуляторная и регистровая
- •1.3.4* Внутренняя структура мп i8080
- •1.3.5* Регистровая модель мп i8080
- •Урок № 6
- •Урок №7 Лабораторная работа №1 Ввод, компиляция и отладка программ в avr Studio
- •Урок №8 Лабораторная работа №2 Анализ работы ядра микроконтроллера
- •Тема 1.4 Режимы работы микропроцессорной системы
- •Урок №11 Тема: Упражнения. Подготовка к лабораторным работам №3, 4
- •Урок №12 Лабораторная работа №3 Анализ работы микропроцессора в программном режиме и в режиме вызова подпрограмм
- •1 Практические задания и методические указания по их выполнению
- •3 Контрольные вопросы:
- •Урок №13 Лабораторная работа №4 Анализ работы микропроцессора в режиме прерывания программы
- •2 Практические задания и методические указания по их выполнению
- •3 Оформление отчета
- •4 Контрольные вопросы:
- •Урок №14
- •Тема 1.5 Микроконтроллеры
- •Раздел 2 микроконтроллеры семейства avr
- •Тема 2.1 История создания, классификация микроконтроллеров семейства avr
- •Тема 2.2 Типы корпусов микроконтроллеров семейства avr
- •Урок №17
- •Тема 2.3 Основные параметры, назначение выводов мк aTtiny2313
- •Урок №18
- •Тема 2.4 Основные параметры, назначение выводов мк aTmega8535
- •Урок №17
- •Тема 2.3 Основные параметры, назначение выводов мк aTtiny2313
- •Урок №18
- •Тема 2.4 Основные параметры, назначение выводов мк aTmega8535
- •Урок №19
- •Тема 2.5 Синхронизация работы мк avr
- •Урок №20
- •Тема 2.6 Система сброса
- •Урок №21
- •Тема 2.7 Параллельные порты микроконтроллеров семейства avr
- •Урок №22
- •Тема 2.8 Команды обращения к параллельным портам микроконтроллеров семейства avr
- •Урок №27 Лабораторная работа № 5 Методика отладки программ на лабораторном стенде «Программирование мк aTmega8535»
- •Урок №28 Лабораторная работа № 6 Разработка и отладка программы «Copy»
- •Урок № 29
- •Тема 2.9 Типичные схемы подключения светодиодов к выходам мк
- •Урок №30
- •Урок №31
- •Тема 2.10 Типичные схемы подключения семисегментных индикаторов к выходам мк
- •Урок №32
- •Урок №33
- •Урок №34 Лабораторная работа № 7 Исследование работы схемы статической индикации на лабораторном стенде «Программирование мк aTmega8535
- •2 Практические задания и методические указания по их выполнению.
- •Урок № 35
- •Тема 2.11 Типичные схемы подключения двоичных датчиков
- •Урок № 36
- •Урок №37
- •Тема 2.12 Программирование микроконтроллеров
- •Урок № 38 Подготовка к лабораторным работам № 8, 9
- •Урок № 39 Лабораторная работа №8 Программирование микроконтроллера с помощью программатора Phyton
- •Урок № 40 Лабораторная работа №9 Отладка программ на стенде «Цифровые микросхемы»
- •Урок № 41
- •Тема 2.13 Система прерываний
- •Урок №42
- •Урок №43
- •Урок №45 Лабораторная работа №10 Исследование логики прерывания от внешнего устройства
- •1 Краткие сведения из теории
- •2 Практические задания и методические указания по их выполнению
- •3 Оформление отчета
- •Урок № 46
- •Урок № 47
- •Тема 2.14 Таймеры
- •Урок № 49
- •Урок № 50
- •Урок № 51 Лабораторная работа № 11 Исследование работы таймера-счетчика t/c0
- •1 Краткие сведения из теории
- •3 Оформление отчета
- •Тема 2.12 Лабораторный комплекс «Микроконтроллеры и автоматизация»
- •Тема 2.13 Примеры программ ввода-вывода
- •Раздел 4 специальные возможности микроконтроллеров семейства avr Тема 4.1 Система прерываний
Урок № 49
В работе таймера-счетчика принимают участие 4 регистра МК:
накопительный 8-разрядный регистр TCNT0;
регистр управления TCCR0 для настройки входной частоты (рисунок 3);
регистр масок прерываний TIMSK (рисунок 4)
регистр флагов таймеров (рисунок 5)
TOIE0 – разрешение прерывания по переполнению для таймера T/C0
Рисунок 4- Регистр масок прерываний таймеров
TOV0 – флаг прерывания по переполнению таймера T/C0
Рисунок 5 - Регистр флагов таймеров
Контрольные вопросы:
1 Перечислите регистры таймера Т/C0
2 Назовите основные операции по настройке таймера
Урок № 50
2.14.3 Примеры программ формирования пауз с помощью таймера-счетчика T/C0
Задание 1
Составьте фрагмент программы, настраивающий Кдел=1024 для T/C0
Задание 2
Составьте фрагмент программы, разрешающий T/C0 работать в режиме прерывания по переполнению
Задание 3
Определите период «тиков»T/C0 при следующих параметрах:
3.1 Fq=8МГц, Кдел=1024
3.2 Fq=4МГц, Кдел=8
Задание 4 Проанализируйте действие программы
.include "m8535def.inc"
.org 0
rjmp start
.org $009
rjmp imp
;==========
start:
sbi ddrc,0 ; настроить линию PC.0 на вывод
sbi portc,0 ; включить светодиод
ldi r16,$61 ; настроить стек
out spl,r16
ldi r16,$00
out sph,r16
ldi r16,0b00000101 ; настроить Кдел=1024
out tccr0,r16
ldi r16,0b01000001 ;разрешить прерывание по переполнению T/C0
out timsk,r16
sei ;глобальное разрешение прерывания
loop: ;фоновая программа: ждем переполнения таймера
rjmp loop
;===========
imp:
sbis portc,0 ;пропустить следующую команду, если светодиод включен
rjmp ind ;прыжок на команду включения светодиода
cbi portc,0 ;выключить светодиод
reti ;возврат из прерывания
ind:
sbi portc,0 ;включить светодиод
reti ;возврат из прерывания
Урок № 51 Лабораторная работа № 11 Исследование работы таймера-счетчика t/c0
Цель работы: научиться использовать таймер для формирования пауз
1 Краткие сведения из теории
В работе таймера-счетчика принимают участие 4 регистра МК:
накопительный 8-разрядный регистр TCNT0;
регистр управления TCCR0 для настройки входной частоты (рисунок 1);
регистр масок прерываний TIMSK (рисунок 2)
регистр флагов таймеров (рисунок 3)
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 |
Рисунок 1- Формат регистра управления таймера
TOIE0 – разрешение прерывания по переполнению для таймера T/C0
Рисунок 2- Регистр масок прерываний таймеров
TOV0 – флаг прерывания по переполнению таймера T/C0
Рисунок 3 - Регистр флагов таймеров
Интервал между тиками таймера определяется по формуле:
t = N∙T (1)
N - количество входных импульсов до переполнения регистра N=256,
Т - интервал между импульсами
T = 1/Ф (2)
Ф – частота входных импульсов
Ф = Fq/Кдел, (3)
где Fq – частота синхронизации МК
Кдел – коэффициент деления
Подставляя (3) в (1) получим формулу для расчета интервала между тиками таймера T/C0:
t =256∙ Кдел/ Fq (4)
2 Практические задания и методические указания по их выполнению
Задание 1
Введите программу «Timer.asm» в память МК на стенде «Программирование микроконтроллеров ATmega8535» и проанализируйте ее действие. Оцените частоту переключения светодиода визуально и измерив частоту переключения с помощью прибора ОМЦ-20.
;========timer.asm========
.include "m8535def.inc"
.org 0
rjmp start
.org $009
rjmp imp
;==========
start:
sbi ddrc,0 ; настроить линию PC.0 на вывод
sbi portc,0 ; включить светодиод
ldi r16,$61 ; настроить стек
out spl,r16
ldi r16,$00
out sph,r16
ldi r16,0b00000101 ; настроить Кдел=1024
out tccr0,r16
ldi r16,0b01000001 ;разрешить прерывание по переполнению T/C0
out timsk,r16
sei ;глобальное разрешение прерывания
loop: ;фоновая программа: ждем переполнения таймера
rjmp loop
;===========
imp:
sbis portc,0 ;пропустить следующую команду, если светодиод включен
rjmp ind ;прыжок на команду включения светодиода
cbi portc,0 ;выключить светодиод
reti ;возврат из прерывания
ind:
sbi portc,0 ;включить светодиод
reti ;возврат из прерывания
Задание 2
Измените входную частоту таймера, используя другие коэффициенты деления: Кдел=256, Кдел=64, Кдел=1. Оцените, как изменился интервал между «тиками» таймера.