Чтение онлайн

на главную - закладки

Жанры

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

Пак Дэниэл Дж.

Шрифт:

• PORT DLC. Двунаправленный 8-разрядный порт ввода/вывода общего назначения. Направление передачи каждой линии порта определяется соответствующим битом регистра DDRDLC. Альтернативная функция двух линий порта PORT DLC — обслуживание модуля последовательного обмена в стандарте BDLC.

Регистры управления портами

В МК семейства 68HC12/HCS12 каждый двунаправленный порт ввода/вывода общего назначения обслуживается двумя регистрами специальных функций. Это регистр данных порта и регистр направления передачи DDRx (вместо буквы «x» следует подставить буквенное обозначение порта). Если линии порта общего назначения настроены на ввод, то операция чтения регистра данных возвращает

состояние выводов корпуса МК, с которыми связан порт. Если порт настроен на вывод, то операция записи в регистр данных устанавливает на выводах корпуса МК, связанных с портом, соответствующие логические уровни. Регистр DDRx определяет направления передачи каждой линии порта независимо от других линий этого же порта. Если какой либо бит регистра DDRx равен 0, то соответствующая линия настраивается на ввод, если 1 — то на вывод. Возможны решения, при которых часть линий одного и того же порта настроена на ввод, а часть на вывод. Например, при значении DDRx=10110010 линии D6, D3, D2 и D0 развернуты на ввод, а линии D7, D5, D4 и D1 — на вывод. В состоянии сброса МК все биты регистров направления передачи DDRx сбрасываются, поэтому сразу после включения питания все линии портов МК сконфигурированы как входы с высоким входным сопротивлением.

Часть портов ввода/вывода обслуживается дополнительными регистрами управления:

• PUCR (Pull Up Control Register) — регистр разрешения схемотехники подтягивающих резисторов. Формат регистра представлен на рис. 4.8. Если соответствующие биты регистра установлены, то в портах PORT A, PORT B и Port E при конфигурировании какой либо линии порта на ввод автоматически подключается встроенный подтягивающий к напряжению питания резистор. Если же эта линия настраивается на вывод, то встроенный резистор автоматически отключается. В расширенных режимах работы МК, когда названные порты используются для формирования сигналов внешних магистралей адреса, данных и управления, встроенные резисторы также автоматически отключаются.

Рис. 4.8. Формат регистров PUCR, RDRIV, PEAR

• 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 МГц */

Поделиться:
Популярные книги

Вкус ледяного поцелуя

Полякова Татьяна Викторовна
2. Ольга Рязанцева
Детективы:
криминальные детективы
9.08
рейтинг книги
Вкус ледяного поцелуя

Проблема майора Багирова

Майер Кристина
1. Спецназ
Любовные романы:
современные любовные романы
6.60
рейтинг книги
Проблема майора Багирова

Прометей: владыка моря

Рави Ивар
5. Прометей
Фантастика:
фэнтези
5.97
рейтинг книги
Прометей: владыка моря

Попаданка в академии драконов 4

Свадьбина Любовь
4. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
7.47
рейтинг книги
Попаданка в академии драконов 4

(Не)зачёт, Дарья Сергеевна!

Рам Янка
8. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
(Не)зачёт, Дарья Сергеевна!

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Дракон с подарком

Суббота Светлана
3. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
6.62
рейтинг книги
Дракон с подарком

Отвергнутая невеста генерала драконов

Лунёва Мария
5. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Отвергнутая невеста генерала драконов

Случайная жена для лорда Дракона

Волконская Оксана
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Случайная жена для лорда Дракона

Тройняшки не по плану. Идеальный генофонд

Лесневская Вероника
Роковые подмены
Любовные романы:
современные любовные романы
6.80
рейтинг книги
Тройняшки не по плану. Идеальный генофонд

Идеальный мир для Лекаря 28

Сапфир Олег
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 28

Лейтенант космического флота

Борчанинов Геннадий
1. Звезды на погонах
Фантастика:
боевая фантастика
космическая фантастика
космоопера
рпг
фэнтези
фантастика: прочее
5.00
рейтинг книги
Лейтенант космического флота

Гарем на шагоходе. Том 5

Гремлинов Гриша
5. Волк и его волчицы
Фантастика:
боевая фантастика
фэнтези
5.00
рейтинг книги
Гарем на шагоходе. Том 5

Матабар III

Клеванский Кирилл Сергеевич
3. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар III