Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

• Регистры состояния. Двухбайтовый регистр состояния содержит группу флагов, которые отражают текущее состояние модуля ATD: находится ли он в состоянии преобразования, какой канал преобразуется, или все преобразования уже завершены.

• Регистры результата. Модуль ATD содержит восемь 8-разрядных регистров результата (по числу аналоговых входов модуля). После завершения очередного преобразования полученный код загружается в соответствующий номеру канала регистр результата ADR0H…ADR7H.

• Тестовые регистры. Двухбайтовый регистр ATDTEST предназначен для специальных операций в процессе обязательного тестирования МК на фабрике-производителе. Доступ к этому регистру возможен только в специальном режиме работы МК. В обычном пользовательском режиме работы этот регистр для чтения и для записи недоступен.

Приступим теперь к более подробному рассмотрению формата регистров специальных функций модуля ATD.

Группа регистров управления

Эта группа регистров предназначена для управления режимами работы модуля аналого-цифрового преобразования. Группа объединяет шесть регистров управления ATDCTL0…ATDCTL5. Один из регистров (ATDCTL2) используется для включения модуля ATD в работу, поскольку аппаратные средства МК при выходе из состояния сброса отключают этот модуль для уменьшения энергии потребления. После того, как модуль ATD включили, следует выдержать паузу в 100 мкс, прежде чем подавать сигнал начала преобразования. Задержка в 100 мкс необходима, чтобы завершились переходные процессы включения в аналоговых цепях модуля. Регистры управления используются для выбора между режимами однократного или многократного преобразования, а также для назначения номера канала, подлежащего оцифровке. В режиме многократного преобразования может быть запрограммирована последовательность номеров каналов, которые будут оцифровываться друг за другом автоматически, без дополнительного вмешательства прикладной программы. Или многократные измерения могут проводиться для одного канала. Регистры управления 0, 1 и 3 по своему функциональному назначению используются достаточно редко, поэтому мы рассмотрим их кратко. Напротив, регистры 2, 4 и 5 активно используются в прикладных программах, поэтому будут рассмотрены подробно.

Регистры управления ATDCTL0 и ATDCTL1

Регистр управления ATDCTL0 располагается в памяти по адресу $0060. Этот регистр предназначен для принудительного останова аналого-цифрового преобразования, для чего в регистр под управлением программы должен быть записан определенный код. Этот режим крайне редко используется в прикладных программах. Не будем использовать его и мы в наших учебных примерах. Регистр управления ATDCTL1 располагается в памяти по адресу $0061. Он используется только в специальных случаях тестирования ИС МК.

Регистр управления ATDCTL2

Рис. 4.84. Формат регистра ATDCTL2


Регистр управления ATDCTL2 располагается в памяти по адресу $0062. Этот регистр в первую очередь используется для включения модуля ATD. Он также содержит флаг окончания преобразования и несколько битов разрешения режимов. Формат регистра приведен на рис. 4.84. Назначение отдельных битов регистра следующее:

ADPU:

Бит разрешения работы модуля ATD. После сброса бит ADPU установлен в 0, и модуль ATD отключен от системы питания. Для включения модуля следует установить бит ADPU в 1. Модуль ATD будет готов к работе через 100 мкс.

AFFC:

Бит выбора режима сброса флагов модуля ATD. Если этот бит установлен в 0, то все установленные флаги сбрасываются обычным способом, т.е. посредством записи 1 в разряд установленного флага. Если же бит установлен в 0, то для всех флагов модуля разрешается как обычный способ сброса, так и ускоренный. Ускоренный способ сброса для каждого флага будет рассмотрен несколько позже.

AWAI:

Бит разрешения работы модуля ATD, когда микроконтроллер находится в состоянии пониженного энергопотребления типа WAIT. Если бит установлен в 0, то модуль ATD продолжает свою работу в состоянии WAIT. При AWAI = 1 работа модуля ATD с состоянии WAIT приостанавливается для понижения энергопотребления.

ASCIE:

Бит разрешения прерывания по флагу окончания преобразования АЦП. Если этот бит установлен в 1, и флаг окончания преобразования ASCIF установился в 1, то генерируется запрос на прерывание. Если бит ASCIE = 0, то прерывания по флагу ASCIF запрещены и его состояние следует контролировать программно.

ASCIF:

Флаг окончания преобразования АЦП. Автоматически устанавливается в 1, если ранее начатое аналого-цифровое преобразование завершено, и полученный код загружен в один из регистров результата. Если прерывания по данному флагу разрешены (ASCIE = 1), то генерируется запрос на прерывание.

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT