Материал: kniga_mikroprotsessory

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

программных флагов (битовых ячеек памяти). Обращение к отдельным битам этих ячеек возможно по их битовым адресам.

Использование однобитовых ячеек памяти позволяет сократить необходимый для работы программы объём памяти данных, так как для хранения битовых переменных выделяется один бит в памяти данных, а не машинное слово, как это делается в универсальных микропроцессорах

(компьютерах).

В битовой области сосредоточено только 128 флагов. Оставшиеся адреса в битовом пространстве используются для битовой адресации в области регистров специальных функций. Наиболее яркий пример использования битовой адресации в области регистров специальных функций - это обращение к отдельным ножкам параллельных портов.

Оставшаяся область памяти используется как обычное ОЗУ без особенностей.

Хотя, надо отметить, что в современных микроконтроллерах эту память следует рассматривать как встроенные 256 регистров сверхоперативного ОЗУ.

Регистры специальных функций - это дополнительные устройства,

которые отображаются в адресное пространство внутренней памяти данных. В

различных микроконтроллерах состав дополнительных устройств различается.

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

внутреннего ОЗУ приведены на рисунке 6:

17

Рисунок 6 - Адресное пространство регистров специальных функций.

18

Система ввода-вывода процессоров серии MCS-51

Порты P0, P1, P2, P3 являются квазидвунаправленными портами ввода-

вывода и предназначены для обеспечения обмена информацией микроконтроллера с внешними устройствами, образуя 32 линии вводавывода.

Каждый из портов содержит восьмиразрядный регистр, имеющий байтовую и битовую адресацию для установки (запись '1') или сброса (запись '0') разрядов этого регистра с помощью программного обеспечения. Выходы этих регистров соединены с внешними ножками микросхемы. Упрощенная схема одного разряда порта показана на рисунке 7.

Рисунок 7 - Упрощенная схема одного бита порта

Один разряд регистра - защелки порта представляет собой D-триггер.

Данные с внутренней шины микроконтроллера записываются в регистр-

защелку по сигналу "запись в защелку". Выход "Q" D-триггера подключается к внутренней шине (считывается) по сигналу "чтение защелки". Значение сигнала непосредственно с внешнего вывода порта считывается по сигналу "чтение вывода". Некоторые команды чтения порта используют сигнал "чтение защелки

", другие "чтение выода".

Порты микросхемы служат для управления внешними устройствами,

подключенными к микроконтроллеру.

Микроконтроллеры предназначены для управления внешними устройствами, однако управлять напряжением на выходе параллельного

19

порта микроконтроллера можно только при помощи программы,

записанной в память программ.

При записи в разряд порта логического '0' выходной транзистор

открывается и на выводе микросхемы появляется низкий потенциал, изменить который извне невозможно. Поэтому при опросе ножки микросхемы входная информация в этом случае всегда будет восприниматься как логический '0'

независимо от состояния выходов внешних устройств. Если в указанный разряд записать логическую '1', то выходной транзистор закрывается и на выводе микросхемы появляется высокий потенциал за счет генератора тока. Он может извне изменен на нулевой потенциал (замыканием этой ножки микросхемы на корпус). В этом случае, считываемая микроконтроллером информация, будет соответствовать информации на выходе внешнего устройства. Поэтому, перед тем как осуществить ввод информации по какому-либо выводу порта,

соответствующий разряд необходимо настроить на ввод - записать в него логическую '1'.

По той же причине при настройке выводов порта на выполнение альтернативных функций в соответствующие разряды должны быть записаны логические '1'.

Кроме работы в качестве обычных портов ввода - вывода, внешние выводы портов Р0 .. Р3 могут выполнять ряд дополнительных (альтернативных)

функций.

Порт P0 может быть использован для организации шины данных при работе микроконтроллера с внешней памятью данных или программ, при этом через него выводится младший байт адреса A0 - A7, выдается из микроконтроллера или принимается в микроконтроллер байт данных. Во время доступа к внешней памяти во все триггеры - защелки порта P0 аппаратно записываются "1" (т.е. содержимое порта теряется). Кроме того, через порт P0

передаются данные при программировании внутреннего ППЗУ, и читается содержимое внутренней памяти программ при работе с программатором. При сбросе микросхемы во все разряды порта записываются '1'. Схема порта P0

20

отличается от всех других портов тем, что у этого порта нет внутреннего генератора тока. Поэтому при работе с этим портом приходится подключать внешние резисторы.

Схема использования порта P0 в качестве шины данных приведена на рисунке 8.

Порт P1 может быть использован для чтения внутренней памяти программ или для передачи младшего байта адреса при программировании внутреннего РПЗУ. В младших моделях микроконтроллера семейства других альтернативных функций у порта P1 нет. При сбросе микросхемы во все разряды порта записываются '1'.

Назначение разрядов порта P1:

P1.0 T2 -внешний вход таймера/счетчика 2;

P1.1 T2EX -вход управления перезагрузки/захвата таймера;

P1.2 ECI - внешний вход набора программируемых счетчиков

(РСА);

P1.3 CEX0 -внешний вход/выход для вывода ШИМ или сравнения/захвата модуля 0;

P1.4 CEX1 -внешний вход/выход для вывода ШИМ или сравнения/захвата модуля 0;

P1.5 CEX2 -внешний вход/выход для вывода ШИМ или сравнения/захвата модуля 0;

P1.6 CEX3 -внешний вход/выход для вывода ШИМ или сравнения/захвата модуля 0;

P1.7 CEX4 -внешний вход/выход для вывода ШИМ или сравнения/захвата модуля 0.

21

Источник: https://studfile.net/preview/15934500/