Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Краткие теоретические сведения. Практически ни один проект с МК не обходится без операций ввода/вывода через параллельные порты




Практически ни один проект с МК не обходится без операций ввода/вывода через параллельные порты. МК семейства dsPIC33F предоставляют разработчику широкие возможности по работе с дискретными сигналами благодаря наличию достаточного количества портов ввода/вывода и некоторым функциям, расширяющим функциональность самих портов.

Порты ввода/вывода общего назначения — это простейшие периферийные устройства, с помощью которых МК может получать цифровые данные и управлять другими устройствами (рисунок 19.16).

 

Рисунок 19.16 – Структура линии порта, объединенной с выводами периферийных функций

Дополнительную гибкость при работе с портами ввода/вывода обеспечивает и то, что их можно настроить для выполнения альтернативных функций.

Все выводы МК (кроме выводов питания Vdd, Vss, AVdd, AVss, VCap и вывода сброса MCLR) могут использоваться как периферийными модулями, так и параллельными портами ввода/вывода. Все вводные линии портов имеют триггер Шмидта по входу для исключения влияния электромагнитных помех и шумов.

Линии ввода/вывода МК разделены на три порта: RA, RB, RC. Подавляющее большинство линий ввода/вывода всех портов имеют дополнительные функции и могут использоваться различными периферийными модулями МК.

Мультиплексор Output Multiplexer (рисунок 19.16) выбирает, каким образом функционирует линия порта (в качестве части периферийного модуля, либо в качестве линии параллельного порта ввода/вывода). Таким образом, перед использованием таких линии в качестве линий порта ввода/вывода необходимо предварительно отключить соответствующие периферийные устройства. Например, при использовании порта RA2 как линии ввода, необходимо отключить дополнительную функцию порта RA2 (выход тактирующего сигнала внутреннего генератора) следующей директивой:

 

_FOSC(OSCIOFNC_ON & POSCMD_NONE)

 

Для работы с портами каждый из них имеет 3 специальных регистра:

- TRISx – регистр направления данных – задает каким образом используется линия порта (как вход либо как выход). При установке соответствующего бита в 1 линия порта будет сконфигурирована как вход;

- LATx – регистр выводов порта – установка соответствующего бита данного регистра в 1 позволяет установить высокий уровень сигнала на выходе линии порта, при установке соответствующего бита в 0 – низкий уровень сигнала;

- PORTx – регистр состояния порта – чтение соответствующего бита из данного регистра позволяет получить состояние сигнала (высокий либо низкий уровень) на входе линии порта.

Примечание – действительные названия регистров получаются подстановкой названия порта вместо символа х. Соответственно, регистры порта А называются TRISA, LATA, PORTA, порта В - TRISB, LATB, PORTB, порта C - TRISC, LATC, PORTC.

Для того, чтобы установка бита регистра LATx приводила к соответствующему изменению состояния линии вывода порта, необходимо чтобы эта линия была предварительно сконфигурирована как выход установкой требуемого бита в регистре TRISx. Аналогично, чтобы чтение бита регистра PORTx отображало действительное состояние линии ввода порта, необходимо чтобы эта линия была предварительно сконфигурирована как вход установкой требуемого бита в регистре TRISx.

Таким образом, настройка линии 2 порта RA на вход, а линии 15 порта RB на вывод осуществляется следующим образом:

 

TRISAbits.TRISA2 = 1;

TRISBbits.TRISB15 = 0;





Поделиться с друзьями:


Дата добавления: 2016-03-27; Мы поможем в написании ваших работ!; просмотров: 438 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2354 - | 2220 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.006 с.