- •Практическая работа № 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 регистры
2.12.6. Регистр совпадения a т/с1 – ocr1ah и ocr1al
Регистр совпадения – 16-разрядный регистр, доступный для чтения и записи. В этом регистре хранятся данные, которые непрерывно сравниваются с текущим значением таймера/счетчика 1. Действие по совпадению задается регистрами управления таймером/счетчиком 1 и регистром состояния.
Поскольку регистр OCR1A является 16-разрядным, при записи ново-го значения в регистр, для того чтобы оба байта регистра записывались од-новременно, используется временный регистр. При записи старшего байта, данные помещаются во временный регистр, который переписывается в OCR1AH при записи младшего байта в OCR1AL. Таким образом, для запи-си в регистр первым должен записываться старший байт.
2.12.7. Регистр захвата т/с 1 – icr1h и icr1l
Начальн.знач. |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Чт./зап.(R/W) |
R |
R |
R |
R |
R |
R |
R |
R |
|
Бит |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
$25($45) |
MSB |
- |
- |
- |
- |
- |
- |
- |
ICR1H |
$24($44) |
- |
- |
- |
- |
- |
- |
- |
LSB |
ICR1L |
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Чт./зап.(R/W) |
R |
R |
R |
R |
R |
R |
R |
R |
|
Начальн.знач. |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр захвата 16-разрядный регистр доступный только для чтения. По нарастающему или спадающему фронту (в соответствии с выбором фронта импульса захвата ICES1) сигнала на выводе ICP текущее значение таймера/счетчика 1 переписывается в регистр захвата ICR1. В это же вре-мя, устанавливается флаг захвата ICF1.
Поскольку регистр захвата является 16-разрядным, для чтения его значения, чтобы оба байта прочитались одновременно, используется вре-менный регистр. При чтении младшего байта ICR1L, он посылается в ЦПУ, а старший байт регистра ICR1H переписывается во временный регистр.
При чтении старшего байта, он принимается из временного регистра. Та-ким образом, для чтения 16-разрядного регистра первым должен читаться младший байт.
2.12.8. Т/с 1 в режиме шим
При выборе режима широтно-импульсной модуляции (ШИМ), тай-мер/счетчик 1 и регистр совпадения OCR1A формируют 8, 9 или 10-разрядный непрерывный свободный от «дрожания» и правильный по фазе сигнал, выводимый на ножку PB3(OC1). Таймер/счетчик 1 работает как ре-версивный счетчик, считающий от 0 до конечного значения (см. табл. 8). При достижении конечного значения счетчик начинает считать в обратную сторону до нуля, после чего рабочий цикл повторяется. Когда значение счетчика совпадает с 8, 9 или 10-ю младшими битами регистра OCR1A, вывод PD1(OC1) устанавливается или сбрасывается в соответствии с уста-новками бит COM1A1 и COM1A0 в регистре TCCR1 (см. табл. 9).
Таблица 8
