Микроконтроллеры MCS51Общая характеристика семейства MCS–51. В табл. 7.2.1 приведены основ­ные показатели микросхем шести групп MCS–51, рассматриваемых в этом разделе. В каждую из них сведены микросхемы наиболее близких по функциональным осо­бенностям и электрическим параметрам микроконтроллеров согласно методике, принятой в технической документации фирмы Intel.

В обозначениях, приведенных в таблице микросхем, используется только четвертое поле системы обозначений фирмы Intel, при этом первый элемент 8 является символом фирмы.

Второй элемент микросхем отражает:

0 — кристалл без ПЗУ (начиная с микросхем 5–й группы);

3 — масочное ПЗУ (начиная с микросхем 5–й группы);

7 — репрограммируемое ПЗУ с ультрафиолевым стиранием (УФРПЗУ).

Буквенный элемент C указывает на КМОП–технологию изготовления микро­схем. В 4–й и 5–й группах не приведены кристаллы с обозначением L, относящем­ся к микросхемам с 3–вольтовым питанием. При отсутствие буквенного элемента микросхемы изготовлены по nМОП–технологии.



табл. 7.2.1Последующие две цифры 51 во всех выпусках микросхем, начиная с 5–й груп­пы служат для обозначения рассматриваемого семейства МК MCS–51. Буквенные символы в конце обозначения отражают функциональные и другие особенности микросхем.

В первых выпусках микросхем (с 1–й по 4–ю группы): цифра 3 отражала отсут­ствие ПЗУ; 5 — наличие ПЗУ, A следующая цифра 1, 2, 4 или 8 — емкость ПЗУ со­ответственно 4, 8, 16 или 32 Кбайт.

табл. 7.2.2

Семейство MCS–51 пополнилось новыми регистрами вспомогательных функ­ций SFR. Приведенный в табл. 7.2.2 перечень регистров SFR (звездочкой * поме­чена возможность побитной адресации) составлен с учетом их введения в после­дующие модификации микросхем. При этом регистры микросхем низших групп остались в микросхемах старших групп. Однако в некоторых из них, например, в регистрах разрешения прерываний (IE) и приоритетов прерываний (IP, IPH) за­действованы не используемые ранее разряды.

Микросхемы 6–й группы пополнились двумя портами ввода/вывода. Значи­тельно расширились альтернативные функции выводов портов Р0–Р5 (табл. 7.2.3).

табл. 7.2.3

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

Дополнительные функциональные возможности микроконтроллеров раз­личных групп МСS–51 по отношению к базовой версии отражены (помечены зна­ком +) в табл. 7.2.4.

табл. 7.2.4

Таймер–счетчик T/C2 . Таймер–счетчик T/C2  путем соответствующей установ­ки бита C/¯T2 регистра управления T2СON (табл. 7.2.5) может быть использован как таймер для подсчета машинных циклов или как счетчик событий, фиксиру­ющий на входе число перепадов из 1 в 0.

табл. 7.2.5

Шестнадцатиразрядный таймер–счетчик T/C2 состоит из пары восьмиразряд­ных регистров TH2 (старшие 8 разрядов) и TL2 (младшие 8 разрядов). Внешним входом T/C2 служит вывод P1.0  порта P1, на который подается сигнал T2. Другой вывод P1.1 того же порта используется для управления автоматической переза­грузкой T/C2 .

табл. 7.2.6

Режимы работы T/C2 (табл. 7.2.6) выбираются битами регистра T2CON.

В табл. 7.2.7 приведено назначение бит регистров IE, IP и порта P1, использу­емых для T/C2 .

табл. 7.2.7

Режим защелки. На рис. 7.2.1 представлена схема, иллюстрирующая рабо­ту T/C2 в режиме защелки, или фиксации. При EXEN2 = 0 (позиция T2CON.3) про­исходит счет импульсов внутреннего тактового генератора или импульсов, посту­пающих от внешнего источника на вывод P1.1. Переполнение T/C2 приводит к ус­тановке флага TF2 в регистре T2CON. При EXEN2 = 1 счет импульсов ведется до первого перепада из 1 в 0 на выводе P1.1, после чего происходит защелкивание регистров RCAP2L, RCAP2H, отражающих текущее состояние счетчика (регистров TL2, TH2), и установка флага EXF2 в T2CON. Флаги TF2 и EXF2 могут быть исполь­зованы для вызова прерываний.

Режим автоперезагрузки устанавливается согласно данным табл. 7.2.6 режимов работы T/C2 .

Рассмотрим случай DCEN = 0 в регистре режима T2МOD (табл. 7.2.8), соответ­ствующий состоянию МК после сброса. При DCEN = 0 конфигурируется схема суммирующего счетчика T/C2 (рис. 7.2.2, а).

табл. 7.2.8

 

рис. 7.2.2

Если ЕХЕN2 = 0, то T/C2 считает вверх до 0FFFFh и затем устанавливает флаг переполнения ТF2 = 1. Переполнение вызывает перезагрузку TL2, TH2 счетчика содержимым регистров RСАP2L, RСАP2Н, которое заранее устанавливается про­граммно. Если же ЕХЕN2 = 1, то перезагрузка TL2, TH2 счетчика может произойти как от переполнения, так и от перепада сигнала T2ЕХ из 1 в 0 на выводе P1.1. При этом устанавливаются флаги ТF2 = 1, ЕХF2 = 1, которые могут вызвать прерыва­ние, если оно разрешено.

Установка бита DCEN = 1 регистра режимов T2МOD (табл. 7.2.8) переводит T/C2  в режим счета вверх или вниз (рис. 7.2.2, б).

Направлением счета управляет уровень сигнала T2ЕХ на выводе P1.1:

●     при T2ЕХ = 1 счетчик считает вверх. По достижении значения 0FFFh происхо­дит переполнение счетчика и установка ТF2 =1, после чего счетчик (ТL2, TH2) перезагружается содержимым регистров RСАP2L, RСАP2Н;

●     при T2ЕХ = 0 счетчик считает вниз. При равенстве значений содержимого TH2 и RСАP2Н, ТL2 и RСАP2L фиксируется антипереполнение, которое вызывает установку ТF2 = 1 и перезагрузку счетчика значением 0FFFFh. Бит ЕХP2 (позиция T2СОN.6) изменяет свое значение всякий раз, когда проис­ходит переполнение или антипереполнение. Он не вызывает подпрограммы (при ЕХF2 = 1) и может быть использован как 17–й бит.

Генератор импульсов синхронизации приемопередатчика. Этот режим T/C2  устанавливается согласно данным таблицы 7.2.6 режимов работы T/C2. Для его пояснения воспользуемся схемой на рис. 7.2.3.

рис. 7.2.3

С помощью сигналов TCLК и РСLК производится выбор таймеров T/C1 или T/C2  для формирования сигналов синхронизации передачи (СИ Tx) и приема (СИ Rx) данных по последовательному каналу. При выбранном T/C2 (ТСLК = 1, RСLК = 1) переполнение таймера (T2 = 1) приводит к перезагрузке его регистров содержи­мым регистров RСАP2Н, RСАP2L. При этом скорость передачи приемопередатчи­ка в бодах в режимах 1 и 3 последовательного порта определяется отношением

FППFOSC / ( 32[65536–(RСАP2Н,RСАP2L)] )

где FOSC — частота тактового генератора; (RСАP2Н, RСАP2L) — содержимое реги­стров RСАP2Н, RСАP2L, взятое 16–битное без знака.

При установке T2OЕ = 1, С/T2# = 0 генерируемые импульсы с частотой F = 8 FПП будут поступать на вывод P1.0  порта P1.

Матрица программируемых счетчиков. Введение в микроконтроллере 8ХС51FХ матрицы программируемых счетчиков РСА, предназначенных для выполнения раз­личных операций с применением таймеров/счетчиков, позволяет сократить число обращений к центральному процессору и уменьшить объем программного обеспечения.

Матрица РСА содержит:

●     один, закрепленный за ней, таймер/счетчик;

●     регистр управления ССОN(табл. 7.2.9);

табл. 7.2.9

 

●     регистр режима CMOD (табл. 7.2.10);

табл. 7.2.10 - табл. 7.2.11

●     пять 16–разрядных регистров сравнения/фиксации ССАМРn, где n = 0...4 (табл. 7.2.11).

В табл. 7.2.12 приведены сведения об использование выводов P1.х порта P1 для РСА.

табл. 7.2.12

Каждый модуль может быть запрограммирован на один из пяти возможных ре­жимов (табл. 7.2.13): фиксации, программного таймера, высокоскоростного вы­хода, широтно–импульсного модулятора и сторожевого таймера.

табл. 7.2.13

Режим 16–битной фиксации. Для реализации одного из возможных ре­жимов фиксации необходимо установить биты регистра режима модуля ССАРМn (табл. 7.2.13, рис. 7.2.4):

рис. 7.2.4

●     САРР = 1 — для режима фиксации по положительному фронту (ПФ) входного сигнала СЕХn;

●     САРN = 1 — для режима фиксации по отрицательному фронту (ОФ) СЕХn;

●     САРР = 1, САРN = 1— для режима фиксации по перепаду (изменению) сигнала (ИС) СЕХn.

В момент перепада или изменения сигнала происходит (рис. 7.2.4):

●     загрузка 8–разрядных регистров сравнения/фиксации ССАРН, ССАРL теку­щим содержимым таймера/счетчика РСА;

●     установка флага ССFn в регистре управления ССON.

Если в регистре режима модуля ССАРМn бит ЕССFn = 1, то флаг ССFn может быть использован для прерывания от РСА. Сброс флага ССFn осуществляется программно. В режиме фиксации по изменению сигнала последнее значение сиг­нала должно храниться в ОЗУ до следующего момента фиксации.

Режим 16–битного программного таймера. Этот режим устанавлива­ется битами ЕСОМn = 1 (запускает компаратор), МАТn = 1 (создает цепь для флага ССFn) регистра режима модуля ССАРМn (табл. 7.2.13, рис. 7.2.5).

рис. 7.2.5

 

табл. 7.2.13

Текущее значение таймера/счетчика РСА сравнивается с предварительно за­груженным значением регистров сравнения/фиксации ССАРnН, CCAPnL. В мо­мент равенства значений происходит установка флага ССFn в регистре управле­ния CCON. Если в регистре режима модуля ССАРМn бит ECCFn = 1, то флаг CCFn может быть использован для прерывания от РСА. Сброс флага ССFn осуществля­ется программно.

Отметим, что в процессе обработки прерывания в регистры сравнения/фикса­ции ССАРnН, CCAPnL могут быть записаны новые значения (на рис. 7.2.5 цепи не показаны). С целью недопущения неверного результата рекомендуется следу­ющая последовательность записи:

●     вначале младшим байтом загружается регистр CCAPnL, при этом компаратор выключен, так как ЕСОМn = 0 (см. рис. 7.2.5);

●     затем старший байт записывается в регистр ССАРnН и для возобновления работы компаратора устанавливается ЕСОМn = 1.

Режим с высокоскоростным выходом (HSO). Этот режим отличается от режима программного таймера тем, что дополнительно задействован один из выводов порта P1 для снятия сигнала СЕХn путем установки бита TOGn = 1 в реги­стре режима модуля ССАРМп (табл. 7.2.13, рис. 7.2.5). В, режиме с высокоскорост­ным выходом при равенстве значений таймера/счетчика РСА и регистров сравне­ния/фиксации ССАРnН, CCAPnL помимо установки флага CCFn в регистре управ­ления CCON происходит изменение сигнала СЕХn. Последующее его изменение произойдет при повторной фиксации равенства значений таймера/счетчика РСА и регистров сравнения/фиксации ССАРН, CCAPL, т. е. после переполнения РСА и достижения нового равенства значений.

Режим сторожевого таймера (WDT). В этом режиме используется мо­дуль 4 сравнения/фиксации. Для активизации режима (помимо приведенных в табл. 7.2.13 данных) в регистре режима CMOD матрицы РСА устанавливается бит WDTE = 1 (позиция CMOD6). При равенстве значений таймера/счетчика РСА и регистров сравнения/фиксации ССАР4Н, CCAP4L формируется сигнал внутрен­него сброса RESET, который производит сброс микроконтроллера (рис. 7.2.6).

рис. 7.2.6

Широтно–импульсный модулятор (PWM). Включение модулятора осу­ществляется битами ЕСОМn = 1, PWMn = 1 (рис. 7.2.7, а). В процессе работы мо­дулятора в компараторе происходит сравнение младших байтов (МБ) счетчика/ таймера CL и регистра фиксации/сравнения CCAPnL.

рис. 7.2.7

По результатам сравнения сигнал на выходе СЕХn имеет:

●     низкий уровень, если МБ CL < МБ CCAPnL;

●     высокий уровень, если МБ CL > МБ CCAPnL.

Изменяя значение байта в регистре CCAPnL от 0 до 255, можно управлять скважностью формируемых импульсов СЕХn (рис. 7.2.7, б).

Особенности последовательного интерфейса. Последовательный порт ряда микросхем семейства МСS–51 в отличие от базовой версии обладает допол­нительными возможностями.

Передача и прием данных с различными скоростями. Такая воз­можность обусловлена введением таймера/счетчика T/C2 с возможностью изме­нения скорости передачи в режимах 1, 3 и достигается путем использования при обмене данными с внешним устройством двух таймеров T/C1 и T/C2. Один из таймеров настраивается на передачу, другой — на прием. В базовой микросхеме для реализации режима обмена с разными скоростями необходимо каждый раз производить перенастройку скорости таймера T/C1 на передачу и прием.

Определение отсутствия стоп–бита. Для обнаружения отсутствия стоп–бита при приеме информации по последовательному каналу используется седьмой разряд SCON.7 регистра управления последовательным интерфейсом. При отсутствии стоп–бита в этом разряде устанавливается флаг ошибки (FE = 1). Так как разряд SCON.7 задействован для бита SM0 кодировки режимов последо­вательного интерфейса, проверка флага FE осуществляется с помощью управля­ющего бита SMOD0 регистра управления энергопотреблением PCON (PCON.6): SMOD =1 обеспечивает доступ к флагу FE, SMOD = 0 — к биту SM0.

Автоматическое определение адреса. Этот режим предназначен для использования в мультипроцессорных системах. Для его реализации в ведомых МКn задействованы два специальных функциональных регистра SADDR и SADEN. Индивидуальный адрес ведомого МКn указывается в SADDR. Регистр SADEN со­держит байт маски адреса, нулевые биты которого маскируют (делают незнача­щими) соответствующие разряды собственного адреса. Допустим, что в регистре SADDR находится собственный адрес 11110001 МК1, A регистр SADEN содержит байт 11111100, значения двух младших разрядов которого равны 0. Тогда в общем адресе 111100ХХ обращения к МК1 сохраняются шесть старших разрядов соб­ственного адреса, два младших разряда маскируются. Они могут принимать любые 4 значения и, следовательно, позволяют ведущему МК обращаться к МК1 по четырем адресам.

МК1               МК2               МК3

Содержимое регистра SADDR                  11110001        11110010        11110011

Содержимое регистра SADEN                  11111100        11111010        11110101

Общий адрес (адрес отклика МК)             111100хх        11110x1х        1111x0x1

Адреса индивидуального обращения       11110000        11110110        11111001

11110111       11111011

Адреса обращения к МК1 и МК3              11110001                               11110001

Адреса обращения к МК1 и МК2              11110010        11110010

Адреса обращения к МК1, МК2, МК3      111111хх        11111х1х        1111x1x1

Используя указанный подход, можно построить достаточно гибкую систему адресации. Выше в качестве примера показана одна из таких возможностей об­ращения к трем ведомым микроконтроллерам.

В микросхемах предусмотрена возможность одновременного обращения ко всем ведомым МК. Для этого формируется широковещательный адрес (обычно OFFh) путем логической операции ИЛИ над содержимым регистров SADDR и SADEN. При этом нули в регистрах SADEN по–прежнему определяют незнача­щие биты в адресном байте.

Для 9–битных режимов последовательного порта флаг прерывания RI прием­ника будет устанавливаться только в случае поступления своего или широко­вещательного адреса, имеющего 1 в девятом бите (RB8 = 1). Данный механизм работает и в случае 8–битного режима, поскольку 9–м битом является стоп–бит. Таким образом, при передаче ведущим МК по последовательному каналу данных одному или нескольким ведомым МК способность автоматического распознава­ния адреса (в отличие от микросхем 8051) позволяет обеспечить прерывание только требуемого микроконтроллера, что ускоряет процесс обмена.

Расширенный последовательный порт SЕР. В микросхемах 6–й груп­пы предусмотрен порт расширения последовательных каналов, который увели­чивает возможности МК по управлению подключенными к нему периферийными устройствами посредством последовательного кода, предоставляя средства для аппаратной реализации шины l2Cbus. Порт SEP имеет 3 источника тактирова­ния и 4 режима работы, которые задают неактивный уровень и фронт (передний или задний) сигналов тактирования. Для вывода сигналов тактирования последова­тельной посылки задействован вывод Р4.0 порта Р4, для ввода/вывода данных — вывод Р4.1. Обмен данными через порт ведется байтами. Байт передается за 8 тактов. При отсутствии обмена тактовый сигнал и данные неактивны.

Для обслуживания режимов порта SEP используются:

●     регистр данных SEPDAT;

●     регистр управления SEPCON (табл. 7.2.14);

 

●     регистр состояния SEPSTAT (табл. 7.2.15).

табл. 7.2.14 - табл. 7.2.15 - табл. 7.2.16

В микросхеме МК предусмотрены вход внешнего запуска ТRIGIN и восемь аналоговых входов АСН0...АСН7, A также вывод для подачи опорного напряжения СОМРRЕF и отдельные выводы питания AVrefи земли AVSS.

Режим сравнения. Этот режим всегда активен и используется для сравне­ния в компараторе входных напряжений АСН0...АСН7 с опорным напряжением COMPREF.

Режим внутреннего запуска АЦП. Этот режим активизируется установ­кой бита ATM = 1 (вывод ACON.0 регистра управления). После установки бита АСЕ = 1 (вывод ACON.4) в следующем машинном цикле начинается преобразова­ние данных нулевого канала АСН0. Флаг прерывания AIF (вывод ACON.5) устано­вится только после завершения преобразования в седьмом канале АСН7. В слу­чае разрешения флаг AIF вызывает прерывание по вектору АЦП. Новый цикл пре­образования может начаться только после того, как завершен предыдущий.

Режим внешнего запуска АЦП. В этом режиме (АТМ = 0) преобразова­ние начинается по отрицательному перепаду внешнего сигнала TRIGIN. Для его обнаружения используется два машинных цикла. В каждом машинном цикле про­изводится опрос входа TRIGIN. После фиксации перепада АЦП работает так же, как и в режиме внутреннего запуска.

Режим сканирования. При установке бита AIM = 0 (вывод ACON.1 регист­ра управления) происходит преобразование в порядке АСН0...АСН7 с занесением результата соответственно в регистры AD0...AD7.

Режим выбранного канала. При установке бита AIM = 1 (вывод ACON.1 регистра управления) происходит преобразование данных канала, выбранного с помощью двухразрядного кода из битов ACS1, ACS0 (00 — канал АСНО, 01 — канал АСН1, 10 — канал АСН2, 11 — канал АСН3,) с занесением результата в со­ответствующий регистр результатов ADn (n = 0...3). После этого, как и в режиме сканирования происходит опрос каналов АСН4...АСН7 с занесением результатов в регистры AD3...AD7.

Возможности использования АЦП для меньшего числа каналов. Если время преобразования некритично, то результат из требуемого канала считывается по завершению преобразования на 7–м канале. Если же результат необ­ходимо получить сразу по завершении преобразования на данном канале, то можно воспользоваться двумя способами:

●     использовать таймер и его прерывание, программируя его исходя из извест­ного времени преобразования каждого канала и, следовательно, известного временного интервала от начала цикла до чтения регистра результата преоб­разования требуемого канала;

 

●     производить периодически сравнение значения в регистре результата требу­емого канала. Изменение содержимого регистра результата будет свидетель­ствовать о том, что произошло новое преобразование.

       Начало статьи о микроконтроллерах MCS 51 читайте в первой и второй частях.


Рекомендуйте эту статью другим!



Особенности нового ГОСТа по качеству электроэнергии
июнь 16, 2014 4347

Особенности нового ГОСТа по качеству электроэнергии

С начала 2013 года вступил в действие обновлённый стандарт качества ГОСТ Р 54149, в…
рис. 1.141
окт 17, 2016 736

Влияние различных факторов на выходное напряжение операционного усилителя

При практическом использовании операционного усилителя необходимо учитывать, что…
dif1
апр 03, 2017 1914

Дифференциальная защита, диф реле, принцип работы, применение

Дифференциальная защита - одна из самых быстродействующих. Для нее не требуется выдержки…
Последовательный обмен
нояб 11, 2015 1611

Способы и методы последовательного обмена

Принципы обмена. Последовательный обмен (ввод–вывод данных), когда байт данных передается…