|
При изменении состояния битов ACIS0/ACIS1 прерывание по аналоговому компаратору должно быть запрещено очисткой бита разрешения прерывания (ACIE) в регистре ACSR, иначе при изменении состояния битов может произойти прерывание.
В работе компаратора используются регистры:
ACSR (Analog Comparator Control and Status Register) – управления АК
SFIOR (Special Function Input Output Register) – специальных функций ввода/вывода
ADCSR (ADC Status Register) – состояния аналого-цифрового преобразователя
ADCMUX (ADC Multiplexer) – мультиплексора аналого-цифрового преобразователя
SREG (Status Register) – состояния микроконтролера
Регистр
Биты
7
6
5
4
3
2
1
0
ACSR
ADC
ACBG
ACO
ACI
ACIE
ACIC
ACIS1
ACIS0
SFIOR
ACME
ADCSR
ADEN
ADCMUX
MUX2
MUX1
MUX0
SREG
I
Подключение отрицательного входа компаратора
ACME
ADEN
MUX2..0
Отрицательный вход компаратора
0
x
xxx
AIN1
1
1
xxx
AIN1
1
0
000
PA0
1
0
001
PA1
1
0
010
PA2
1
0
011
PA3
1
0
100
PA4
1
0
101
PA5
1
0
110
PA6
1
0
111
PA7
Значения битов:
ACD (Analog Comparator Disable) – если установлен в 1, АК отключен. При изменении бита прерывание от компаратора должно быть заблокировано очисткой бита ACIE.
ACBG (Analog Comparator Bandgap) – когда бит установлен и BOD позволяет (fuse‑бит BODEN запрограммирован), фиксированное напряжение 1,22 В поступает на вход АС+ , иначе к АС+ подключается контакт AIN0.
ACO (Analog Comparator Output) – выход аналогового компаратора
ACI (Analog Comparator Interrupt Flag) – устанавливается в 1 при формировании компаратором прерывания. Подпрограмма обработки прерывания будет выполняться при установленных битах ACIE и I(бит глобального прерывания в регистре SREG). Очищается аппаратно при выполнении подпрограммы обработки прерывания либо вручную. Очищается при модификации командами SBI, CBI других битов регистра ACSR.
ACIE (Analog Comparator Interrupt Enable) – установка в 1 разрешает прерывание по аналоговому компаратору (ANA_COM) при установленном бите I в SREG.
ACIC (Analog Comparator Input Capture Enable) – установка в 1 разрешает захват входа таймера/счетчика1 по переключению АК.
ACIS1,ACIS0 (Analog ComparatorInterrupt Mode Select) выбор режима прерывания.
ACME (Analog Comparator Multiplexer Enable) – 1 подключает мультиплексор к АК. При подключении должен быть сброшен бит ADEN (ADC Enable) в регистре ADCSR (аналогово-цифровой преобразователь выключен).
Битами MUX2..0 в регистре мультиплексора ADMUX выбирается контакт порта PORTA (PA7..PA0).
9. ПОРТЫ ВВОДА-ВЫВОДА
9.1. Организация ввода/вывода
Порты ввода-вывода обеспечивают ввод и вывод данных в параллельном формате. Обычно порты ввода-вывода выполняются 8-разрядными. В режиме ввода данные с внешних контактов порта пересылаются в регистры микроконтроллера. В режиме вывода данные из регистров перемещаются на контакты микроконтроллера. Вывод данных, как правило, производится в «защелку» порта. Данные при этом присутствуют на выходных контактах до новой операции вывода в этот порт. В системе команд микроконтроллера для ввода и вывода данных обычно предусматриваются специальные команды.
В зависимости от выполняемых функций порты могут быть:
0 однонаправленными, предназначенными только для выполнения одной из
операций (ввод или вывод) по всем линиям;
° двунаправленными, предназначенными для выполнения любой из операций
ввода-вывода по всем линиям одновременно; направление передачи может
быть изменено программно в процессе работы;
° с индивидуальной настройкой линий, направление передачи данных по
каждой линии программируется независимо от остальных. Последний вариант построения схемы порта в настоящее время наиболее распространен. Например, микроконтроллер АТтеда163 имеет 32 линии ввода-вывода с индивидуальной настройкой, сгруппированных в 4 параллельных порта: порт А порт В, порт С, порт О. Направление передачи данных любого вывода любого порта может быть изменено независимо от направлений других выводов Для работы с портами в микроконтроллере предусмотрено 12 регистров, по три на каждый из портов (рис. 58):
° регистры данных (Dafa Register): PORTA , POF< tb, PORTC и PORTD;
0 регистры направления (Data Direction Register): DDRA, DDRB, DDRC и
DDRD;
° регистры входных контактов (Port A Input Pins). PINA; PINB, PINC и FIND.
Все выводы портов имеют индивидуальные подтягивающие резисторы (pull-up resistors). Для подключения этих резисторов в регистре специальных функций ввода/вывода SFIOR (Special Function Input Output Register) предусмотрен бит PUD (Pull-up Disabled).
Любая линия порта выполняет функции выхода при записи логической единицы в соответствующий бит регистра направления DDRx (x e А, В, С, D).
Регистры PINx не хранят информацию и фактически не являются настоящими регистрами. Они разрешают доступ к физическим сигналам на линиях соответствующего порта. При чтении PORTx читается защелка данных выбранного порта, а при чтении PINx -значение на контактах порта. Регистры PINx доступны только для чтения, е то время как регистры PORTx и DDRx -для чтения и записи.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
При использовании материалов активная ссылка на источник обязательна.