- •Практическая работа № 13
- •Оглавление
- •1. Цель и содержание работы
- •2. Архитектура микроконтроллера at90s2313
- •2.1. Регистры общего назначения
- •2.2. Арифметико-логическое устройство
- •2.3. Загружаемая память программ
- •2.4. Eeprom память данных
- •2.5. Статическое озу данных
- •2.6. Время выполнения команд
- •2.7. Пространство ввода/вывода
- •Пространство ввода/вывода at90s2313
- •2.8. Регистр состояния – sreg
- •2.9. Ук а з ат е л ь стека spl
- •2.10. Регистр управления микроконтроллером - mcucr
- •2.11. Режимы пониженного энергопотребления
- •2.12. Таймеры/счетчики
- •2.12.1. Регистр управления t/c 0 - tccr0
- •Выбор коэффициента предварительного деления
- •2.12.2. Таймер/счетчик 0 - tcnt0
- •2.12.3. Регистр a управления т/с 1 – tccr1a
- •Ус т а н о в к а режима совпадения
- •Установка режима работы шим
- •2.12.6. Регистр совпадения a т/с1 – ocr1ah и ocr1al
- •2.12.7. Регистр захвата т/с 1 – icr1h и icr1l
- •2.12.8. Т/с 1 в режиме шим
- •Конечное значение таймера и частота шим
- •Ус т а н о в к а режима совпадения при работе шим
- •2.12.9. Регистр управления сторожевым таймером - wdtcr
- •3. Запуск среды раз ра б о т к и avrstudio
- •4. Компиляция и компоновка
- •5. Тестирование и отладка
- •6. Задание для самостоятельной работы
- •7. Лабораторные задания
- •8. Содержание отчета
- •9. Контрольные вопросы
- •Система команд at90s2313
- •I/o регистры
Конечное значение таймера и частота шим
Разрешение ШИМ |
Конечное значение таймера |
Частота ШИМ |
8 бит |
$00FF (255) |
(F Таймера1)/510 |
9 бит |
$01FF (511) |
(F Таймера1)/1022 |
10 бит |
$03FF (1023) |
(F Таймера1)/2046 |
В режиме ШИМ, при записи в регистр OCR1A, 10 младших бит пе-редаются во временный регистр и переписываются только при достижении таймером/счетчиком конечного значения. При этом устраняется появление несимметричных импульсов (дрожания), которые неизбежны при асин-хронной записи OCR1A.
Таблица 9
Ус т а н о в к а режима совпадения при работе шим
COM1A1 |
COM1A0 |
Влияние на вывод OC1 |
0 |
0 |
Не подключен |
0 |
1 |
Не подключен |
1 |
0 |
очищается при совпадении, для возрастания счетчика и сбрасывается для уменьшения (неинвертирующий ШИМ) |
1 |
1 |
очищается при совпадении, для уменьшения счетчика и сбрасывается для возрастания (инвертирующий ШИМ) |
Если OCR1A содержит значение $0000 или конечное значение (TOP), вывод OC1 остается в том состоянии, которое определяется установками COM1A1 и COM1A0 (табл. 10).
Выход ШИМ для OCR=$0000 или TOP таблица10.
COM1A1 |
COM1A0 |
OCR1A |
Вывод OC1 |
1 |
0 |
$0000 |
Низкий |
1 |
0 |
TOP |
Высокий |
1 |
1 |
$0000 |
Высокий |
1 |
1 |
TOP |
Низкий |
В режиме ШИМ флаг переполнения таймера 1 (TOV1) устанавливается, когда счетчик изменяет направление счета в точке $0000. Прерывание по переполнению таймера 1 работает как при нормальном режиме работы таймера/счетчика, т. е. оно выполняется, если установлен флаг TOV1 и разрешены соответствующие прерывания. То же самое касается флага совпадения и прерывания по совпадению.
■ Сторожевой таймер
Сторожевой таймер работает от отдельного встроенного генератора работающего на частоте 1 МГц (это типовое значение частоты для питания 5В). Управляя предварительным делителем сторожевого таймера можно задавать интервал сброса таймера от 16 до 2048 мс. Команда WDR сбрасывает сторожевой таймер. Для работы сторожевого таймера можно выбрать одно из 8-ми значений частоты, что позволяет в широких пределах изменять время между исполнением команды WDR и сбросом процессора. При отработке периода работы сторожевого таймера, если не поступила команда WDR, AT90S2313 сбрасывается, выполнение программы продолжается с вектора сброса.
Для предотвращения нежелательного отключения сторожевого таймера, для его запрещения должна выполняться определенная последовательность, которая описана при рассмотрении регистра WDTCR.
