Академический Документы
Профессиональный Документы
Культура Документы
Дисциплина: SMP
Chisinau-2023
1
Цель работы: Обучение средствам проектирования и
моделирования для программирования микроконтроллеров (AVR
Studio и Proteus). Изучить интерфейсы связи с портом ввода-вывода
внешней среды.
Теоретические понятия:
Микроконтроллер в целом представляет собой структуру, состоящую из
микропроцессора и набора периферийных модулей. Микроконтроллер может
иметь различную комбинацию периферийных модулей в зависимости от
серии. Периферийный модуль обычно представляет собой
специализированную схему, которая может выполнять определенную
функцию. Например:
2
Взаимодействие микропроцессора (ЦП) с периферийными устройствами
происходит через периферийные регистры. В архитектуре AVR имеется 64
таких регистра, называемых периферийными регистрами или регистрами
ввода-вывода.
Каждый периферийный модуль зарезервировал набор регистров в
пространстве периферийных регистров. Например, каждый модуль GPIO
зарезервировал набор из трех регистров, называемых PORT, PIN и DDR,
посредством которых микропроцессор имеет возможность работать с
логическими уровнями на выводах. Классификацию периферийных
регистров в зависимости от их назначения можно было бы провести
следующим образом:
Регистры состояния (Status Register) – позволяют просматривать текущее
состояние периферии (флаги). Как правило, доступные регистры состояния
доступны только для чтения.
Регистры управления (Control Register) – позволяют настраивать режим
периферии. Они доступны для записи и чтения.
Регистры данных (Data Register) – позволяют осуществлять обмен
данными между периферийным модулем и ядром.
Регистры выбора — позволяют выбирать некоторые
ресурсы/конфигурации внутри периферийного модуля.
3
Команды для установки/сброса отдельных битов в регистре периферийных
устройств. Эти команды будут влиять только на бит, указанный n, остальные
биты сохранят значение до выполнения операции:
cbi P,n – присвоение логического значения «0», сброс, биту n в порту P n =
0..7
sbi P,n – присвоение логического значения «1», установка, биту n порта P n
= 0..7
4
Контакты ввода/вывода сгруппированы в порты по восемь штук. Работа с
портом осуществляется как единое целое, соответственно, с одной операции
переноса на порт мы можем изменить конфигурацию сразу всех восьми
пинов. Таким образом, операции передачи в порт будут влиять на все
входящие в его состав выводы.
Поскольку модуль GPIO является периферийным модулем
микроконтроллера, соответственно, он зарезервировал набор регистров в
адресном пространстве периферийных регистров.
5
Если ячейка DDRx будет содержать «1», соответствующий вывод будет
установлен на выход, и логическое значение из PORTx из той же ячейки
будет передано на физический терминал.
Если местоположение DDRx будет содержать «0», соответствующий
физический терминал будет установлен на вход. В этом случае значение в
регистре PORTx подключит подтягивающий резистор с логическим
значением «1», логическое значение «0» установит вывод в состояние
высокого импеданса — «HiZ». Рекомендуется избегать состояния HiZ на
терминале, которое возникает, когда терминал не подключен к источнику
сигнала, чтобы избежать появления шума внутри микросхемы
микроконтроллера, который в критических случаях может привести к выходу
из строя схемы.
Поэтому рекомендация для неиспользуемых выводов — установить их
конфигурацию как входную с включенным подтягивающим резистором, что
позволит избежать случайных коротких замыканий, когда он установлен на
выход, а для случая, когда он установлен на вход, избежать нежелательных
помех на входе.
Блок-схема:
"
6
Cхема в Протеусе:
7
8