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

• RDRIV (Reduced DRIVe Register) — регистр выбора режима работы выходных каскадов с пониженными выходными токами. Формат регистра также представлен на рис. 4.8. Как следует из рис. 4.8, в МК B32 этот режим также доступен только для портов PORT A, PORT B и PORT E. В МК иных моделей этой функцией могут обладать также и другие порты. Если функция для порта разрешена установкой разряда RDPx в 1, то при конфигурировании какой либо линии порта на вывод ее выходной ток снижается с 0,6 мА до 0,3 мА.

• PEAR (Port E Assignment Register) — регистр выбора назначения линий порта Port E. Отдельные биты этого регистра (рис. 4.8) позволяют назначить линии альтернативную функцию или функцию линии ввода/вывода общего назначения.

Вопросы для самопроверки

1. Сколько портов ввода/вывода в МК B32?

Ответ: МК B32 имеет в своем составе восемь 8 разрядных портов (A, B, E, AD, T, S, P, DLC).

2. Какие альтернативные функции реализуют порты AD, T, S, P, DLC?

Ответ: Линии порта AD служат аналоговыми входами встроенного АЦП, порт T используется модулей таймера, на выходах порта P формируются ШИМ сигналы, порт S обслуживает контроллера последовательного ввода/вывода SCI и SPI.

3. Каково назначение регистра направления передачи порта?

Ответ: Каждый разряд этого порта определяет направление передачи соответствующей линии порта.

4. В какое состояние устанавливается регистр направления передачи во время сброса МК?

Ответ: Сбрасывается, т.е. устанавливается в 0. При этом все линии портов конфигурируются на ввод.

Пример применения

В этом примере мы подключили в порту PORTA группу зеленых и красных светодиодов. Схема подключения показана на рис. 4.9. Мы обсудим эту схему подробно в гл.5. А сейчас лишь договоримся, что если на линии порта установлена 1, то будет гореть зеленый светодиод, если логический 0 — то красный светодиод. А если линия порта переведена в состояние ввода, т.е. она представляется для цепи светодиодов нагрузкой с высоким входным сопротивлением, то оба светодиода окажутся погашенными. На рис. 4.10 приведена блок-схема алгоритма программы, которая зажигает на 30 мс зеленым цветом светодиоды с четными номерами и одновременно красным цветом светодиоды с нечетными номерами. Следующие 30 мс светодиоды «меняются цветами», далее этот процесс продолжается до бесконечности. Ниже приведен текст программы на языке Си, который реализует этот алгоритм.

Рис. 4.9. Схема отображения состояния порта PORTA


Схема содержит 8 идентичных светодиодных индикаторов для логических выходов с тремя состояниями. Индикатор каждого разряда состоит из двух светодиодов: зеленого и красного. Если на выходе порта PORTA[i] логическая 1,то светится зеленый светодиод, если логический 0 — то красный. Если линия порта PORTA[i] настроена на ввод, то ни один из светодиодов этого разряда порта не светится.

Рис. 4.10. Блок схема алгоритма управления светодиодами


/*----------------------------------------------------------------------*/

/* МAIN PROGRAМ: Эта программа зажигает на выходах порта PORTA          */

/* 30 мс зеленым цветом горят светодиоды на выходах порта с четными     */

/* номерами, красным цветом –светодиоды на выходах порта с нечетными    */

/* номерами. Следующие 30 мс на месте зеленых горят красные, и наоборот */

/*----------------------------------------------------------------------*/

/*подключаемые файлы*/

#include <912b32.h>


/*используемые функции*/

void delay_100us(void);

void delay_30ms(void);


void main{void) {

 DDRA = 0xFF; //установить порт PORTA на вывод

 while(1) {

  PORTA = 0x55;

  delay_30ms();

  PORTA = 0xAA;

  delay_30ms();

 }

}


/*-----------------------------------------------------------------------*/

/* Функция delay_30ms формирует задержку в 30 мс, частота тактирования   */

/* межмодульных магистралей МК составляет 8 МГц                          */

/*-----------------------------------------------------------------------*/

void delay_30ms(void) {

 int i;

 for (i=0; i<=299; i++) delay_100us();

}


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

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

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