Порты
Регистр DDRB=0 - переключение порта на вход,
DDRB=1 - переключение порта на выход
При DDRB=0, PORTB=1 включает подтягивающий регистр
Таймер Timer0
General Timer/Counter Control Register – GTCCR - основной регистр управления таймером/счетчиком
Bit0 (PSR10) = 1 - сброс предделителя. Устанавливается = 0 аппаратно.
Bit7 (TSM) = 1 - режим синхронизации. В этом режиме, значение записанное в бит PSR10 (Bit0) сохраняется, сигнал сброса предделителя удерживается. Это гарантирует остановку и конфигурирование таймера/счетчика без риска его изменение во время конфигурирования. При записи в бит TSM нуля, бит PSR10 очищается аппаратно, и таймер/счетчик запускается.
Timer/Counter Control Register A – TCCR0A - регистр A управления таймером/счетчиком
Bits 7:6 – COM0A1, COM0A0 Compare Match Output A Mode (ДШ стр. 65 - 66)
Bits 5:4 – COM0B1, COM0B10 Compare Match Output B Mode (ДШ стр. 66 - 67)
Bits 3, 2 – Res Reserved Bits
Bits 1:0 – WGM01,WGM00 Waveform Generation Mode (ДШ стр. 67)
Timer/Counter Control Register B – TCCR0B - регистр B управления таймером/счетчиком
Bit 7 – FOC0A Force Output Compare A (ДШ стр. 68)
Bit 6 – FOC0B Force Output Compare B (ДШ стр. 68)
Bits 5:4 – Res Reserved Bits
Bit 3 – WGM02 Waveform Generation Mode
Bits 2:0 – CS02, CS01, CS00 Clock Select
CS02
|
CS01
|
CS00
|
Описание
|
0
|
0
|
0
| Нет источника (Таймер/Счетчик выключен) |
0
|
0
|
1
| Без деления |
0
|
1
|
0
| / 8 |
0
|
1
|
1
| / 64 |
1
|
0
|
0
| / 256 |
1
|
0
|
1
| / 1024 |
1
|
1
|
0
| Внешнее тактирование с вывода T0. Счет по заднему фронту |
1
|
1
|
1
| Внешнее тактирование с вывода T0. Счет по переднему фронту |
Timer/Counter Register – TCNT0 - счетный 8-битный регистр. Не рекомендуется запись в регистр TCNT0 без остановки таймера/счетчика.
Output Compare Register A – OCR0A - регистр A сравнения
Output Compare Register B – OCR0B - регистр B сравнения
Timer/Counter Interrupt Mask Register – TIMSK0 - регистр маскирования прерываний таймера
Bits 7..4, 0 – Res Reserved Bits
Bit 3 – OCIE0B Timer/Counter Output Compare Match B Interrupt Enable (ДШ стр. 69 - 70)
Bit 2 – OCIE0A Timer/Counter0 Output Compare Match A Interrupt Enable (ДШ стр. 70)
Bit 1 – TOIE0 бит разрешения прерывания по переполнению (ДШ стр. 70)
Когда бит TOIE0 установлен в 1, и бит I статусного регистра установлен, прерывания по переполнению разрешены. Соответствующее прерывание выполняется когда происходит переполнение таймера/счетчика, т.е. когда устанавливается бит TOV0 регистра флагов прерываний таймера счетчика TIFR0.
Timer/Counter 0 Interrupt Flag Register – TIFR0 регистр флагов прерываний таймера счетчика
Bits 7..4, 0 – Res Reserved Bits
Bit 3 – OCF0B Output Compare Flag 0 B (ДШ стр. 70)
Bit 2 – OCF0A Output Compare Flag 0 A (ДШ стр. 70)
Bit 1 – TOV0 флаг переполнения таймера/счетчика (ДШ стр. 70)
Бит TOV0 устанавливается когда переполняется таймер/счетчик. TOV0 очищается аппаратно после выполнения перехода по вектору прерывания. Альтернативно TOV0 очищается записью логической 1 во флаг. Когда бит I статусного регистра SREG, TOIE0 (разрешение прерываний по переполнению таймера/счетчика), и TOV0 установлены, прерывание по переполнению таймера/счетчика выполняется.
Установка этого флага зависит от установки битов WGM02, WGM01, WGM00 (см. таблицу 33 "Waveform Generation Mode Bit Description" на стр. 67).
АЦП Analog to Digital Converter
В режиме одиночного преобразования Single Conversion mode, канал АЦП должен быть выбран до начала преобразования. Канал АЦП может быть изменен одним тактовым циклом после записи в ADSCединицы. Однако простой метод требует ожидания завершения преобразования перед сменой канала.
В режиме непрерывного преобразования выбор канала АЦП всегда должен прозводиться перед первым преобразованием. Канал АЦП может быть изменен одним тактовым циклом после записи в ADSC единицы. Однако простой метод требует ожидания завершения первого преобразования перед сменой канала. Т.к. следующее преобразование запустилось автоматически, результат будет отражать предыдущее измерение. Последующее преобразование будет отображать результат для нового канала.
ADC Multiplexer Selection Register – ADMUX
Bit 7 – Res Reserved Bits
Bit 6 - выбор опорного напряжения. 0 - напряжение питания, 1 - внутренний источник 1,1 В.
Bit 5 – ADLAR выравнивание результата: 1 - по левому краю, 0 - по правому
по правому краю — старшие два бита в ADCH, а младшие в ADCL
по левому — старшие биты в ADCH, а два младших бита в ADCL.
Bits 4...2 – Res Reserved Bits
Bits 1:0 – MUX1, MUX0 - выбор канала АЦП:
00 ADC0 (PB5)
01 ADC1 (PB2)
10 ADC2 (PB4)
11 ADC3 (PB3)
ADC Control and Status Register A – ADCSRA
Bit 7 – ADEN включение АЦП = 1, выключение АЦП = 0
Bit 6 – ADSC запуск преобразования
В режиме одиночного преобразования запись 1 запускает преобразование. В режиме непрерывного преобразования запись 1 запускает первое преобразование. Запись 1 после старта преобразования или во время преобразования увеличивает время выполнения до 25 тактовых циклов вместо положенных 13 циклов. Первое преобразование выполняет инициализацию АЦП.
Bit 5 – ADATE запись 1 включает режим авто-запуска АЦП. АЦП начинает преобразование по положительному фронту выбранного сигнала. Источник сигнала выбирается битами ADTS в регистре ADCSRB.
Bit 4 – ADIF флаг прерывания АЦП. Устанавливается по окончании преобразования. Сбрасывается аппаратно или принудительно - записью 1.
Bit 3 – ADIE бит разрешения прерываний АЦП. 1 - прерывания разрешены (бит I регистра SREG должен быть установлен).
Bits 2:0 – ADPS2, ADPS1, ADPS0 установка делителя тактовой частоты для АЦП:
0 0 0 2
0 0 1 2
0 1 0 4
0 1 1 8
1 0 0 16
1 0 1 32
1 1 0 64
1 1 1 128
ADC Control and Status Register B – ADCSRB
Bits 7, 5..3 – Res Reserved Bits
Bits 2:0 – ADTS2, ADTS1, ADTS0 выбор источника автозапуска АЦП:
0 0 0 Режим непрерывного преобразования
0 0 1 Аналоговый компаратор
0 1 0 Внешнее прерывание 0
0 1 1 Таймер счетчик сравнение с регистром Match A
1 0 0 Переполнение таймера/счетчика
1 0 1 Таймер счетчик сравнение с регистром Match B
1 1 0 Pin Change Interrupt Request
Digital Input Disable Register 0 – DIDR0
Bits 5..2 – ADC3D...ADC0D отключение цифровых входов ADC3...0
Когда бит установлен в 1, цифровой входной буфер на соответствующем входе аналого-цифрового преобразователя блокируется. Пока этот бит установлен с соответствующего входа будет читаться 0. Когда не нужен соответствующий цифровой вход, отключение буфера уменьшает потребляемую мощность.
полезно ,вот бы ещё расписали назначение регистров DDRB b PORTB
ОтветитьУдалить