Что означает вывод ale микроконтроллера 80с51

Построение памяти микроконтроллеров семейства MCS-51

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

Схема подключения внешних микросхем памяти к микроконтроллерам семейства MCS-51 показана на рисунке 1. Регистр адреса D3 на этой схеме предназначен для запоминания младших 8-ми бит адреса, передаваемых через шину данных/памяти, совмещенную с портом P0. Старшие восемь бит адреса передаются через шину адреса, совмещенную с портом P2. Во время передачи адреса через порт P0, микроконтроллер вырабатывает синхроимпульс на ножке ALE. Именно этот импульс позволяет запомнить младший байт адреса в регистре D3.

Для обращения к памяти данных и к памяти программ используются одни и те же шина адреса и шина данных, но разные управляющие сигналы. Для чтения памяти программ вырабатывается сигнал PSEN, а для чтения памяти данных вырабатывается сигнал RD. Для записи информации в память данных вырабатывается сигнал WR. То есть память программ доступна только для чтения, а память данных доступна и для чтения и для записи любой информации, записанной в двоичном коде.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51
Рисунок 1. Схема подключения схем внешней памяти к микроконтроллерам семейства MCS-51

Память программ микроконтроллеров MCS-51

Память программ предназначена для хранения программ и имеет отдельное от памяти данных адресное пространство объемом 64 Кбайт, причем для некоторых микросхем (например I8751) для хранения программ на кристалле микроконтроллера расположено ПЗУ. Это ПЗУ отображается в область млаших адресов памяти программ. Учитывая, что выполнение программы после сброса микроконтроллера всегда начинается с нулевого адреса памяти программ, то при включении питания начнет выполняться программа, записанная во внутненнем ПЗУ микроконтроллера. Микроконтроллеры, не имеющие внутреннего ПЗУ (например I8031) могут работать только с внешней микросхемой ПЗУ емкостью до 64 Кбайт. Микроконтроллеры семейства MCS-51 имеют внешний вывод EA, с помощью которого можно запретить работу внутренней памяти, для чего необходимо подать на вывод EA логический «0» (соединить этот вывод с корпусом). При этом внутренняя память программ отключается и, начиная с нулевого адреса, все обращения происходят к внешней памяти программ.

Доступ к внешней памяти программ осуществляется в двух случаях:

Распределение памяти программ микроконтроллера КР1830ВЕ51 представлено ниже:

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Для чтения памяти программ используются команды

MOVC A, A+@DPTR и MOVC A, A+@PC

Рисунок 2. Адресное пространство памяти программ

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

Ниже приведены адреса векторов прерываний и соответствующие им аппаратурные источники прерываний программы:

Вектор прерыванияФлаги, вызывающие прерываниеИсточник прерывания
0000НРестарт (сброс) контроллера RESET
0003НIE0внешнее прерывание INT0
000bНTF0Таймер 0
0013НIE1внешнее прерывание INT1
001bНTF1Таймер 1
0023НRI, TIПоследовательный порт
002bНTF2, EXF2Таймер 2
0033НCF, CCFn(n=0:4)Набор программируемых счётчиков (РСА)
003bНAIFАналого-цифровой преобразователь
0043НCF1,C1CCFn(n=1:4)Набор программируемых счётчиков (РСА1)
004bНSEPIFПоследовательный порт SEP
0053НIE2внешнее прерывание INT2
005bНIE3внешнее прерывание INT3
0063НIE4внешнее прерывание INT4
006bНIE5внешнее прерывание INT5
0073НIE6внешнее прерывание INT6

Примечание: вектора прерывания, выделенные:

Внешняя память данных микроконтроллеров MCS-51

Внешняя память данных предназначена для временного хранения информации, используемой в процессе выполнения программы. Эта память физически должна быть подключена к микросхеме микроконтроллера при помощи схемы, изображенной на рисунке 1. Максимальный объем этой памяти определяется регистром DPTR и составляет 64 Кбайта. Точно также как и в случае внешней памяти программ, объем внешней памяти данных может быть увеличен за счет использования портов P1 и P3 до 1 Гбайта. Внешняя память данных для своей работы требует использование портов P0, P2 и P3.

Это приводит к увеличению габаритов устройства, увеличению уровня помех и, в конечном итоге, увеличения стоимости устройства в целом. Поэтому в современных устройствах внешняя память не используется. Однако, в некоторых микроконтроллерах (например 87с550 фирмы DALLAS) команды обращения к внешней памяти используются для работы с дополнительной внутренней памятью большого объема.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Для обращения к внешней памяти данных используются команды

MOVX A, @DPTR (команда чтения) и

MOVX @DPTR, A (команда записи)

Иногда для того, чтобы сохранить порт P2 в качестве порта общего использования, для обращения к памяти данных используются команды

MOVX A, @R0 или MOVX A, @R0 (команды чтения)

MOVX@R0, A MOVX@R0, A (команды записи)

Рисунок 3. Адресное пространство внешней памяти данных

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

Внутренняя память данных микроконтроллеров MCS-51

Несмотря на то, что это самое маленькое адресное пространство из рассматриваемых, оно устроено наиболее сложным образом. Распределение памяти данных микроконтроллеров серии MCS-51 приведено на рисунке 4.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51
Рисунок 4. Адресное пространство внутренней памяти данных.

Внутреннее ОЗУ данных предназначено для временного хранения информации, используемой в процессе выполнения программы, и занимает 128 младших байт, с адресами от 000h до 07Fh для микроконтроллеров 8051, 8031, КР1816ВЕ31, КР1816ВЕ51, КР1816ВЕ751 КР1830ВЕ31, КР1830ВЕ51, КР1830ВЕ751 или 256 восьмиразрядных ячеек, с адресами от 000h до 0FFh для всех остальных микроконтроллеров семейства.

Регистры специальных функций занимают адреса внутренней памяти данных с 080h по 0FFh. Так как адреса регистров специальных функций совпадают со старшими адресами внутреннего ОЗУ данных, то имеются особенности при использовании этих адресов внутренней памяти данных.

Система команд микроконтроллера позволяет обращаться к ячейкам внутренней памяти данных при помощи прямой и косвенно-регистровой адресации. При обращении к ячейкам памяти с адресами 0-127 использование любого из этих видов адресации будет производить выборку одной и той же ячейки памяти. При обращении к ячейкам ОЗУ с адресами 128-256 следует воспользоваться косвенно-регистровой адресацией. Учитывая, что работа со стеком ведётся при помощи косвенной адресации, то имеет смысл размещать в этой области памяти стек. Если же требуется обратиться к регистрам специальных функций, то нужно использовать прямую адресацию. Например:

Все четыре банка регистров объединены с 32 младшими байтами внутреннего ОЗУ данных (см. рисунок 4). Так как физически регистры и ячейки внутреннего ОЗУ объединены, то команды программы могут обращаться к регистрам, используя их имена R0-R7 ( регистровая адресация):

или используя их адрес во внутренней памяти данных ( прямая байтовая адресация):

Следующие после банков регистров внутреннего ОЗУ данных 16 ячеек памяти (адреса 20Н-2FH) образуют область памяти, к которой возможна как байтовая, так и битовая адресация. В этих ячейках располагаются 128 программных флагов (битовых ячеек памяти). Обращение к отдельным битам этих ячеек возможно по их битовым адресам. Например команды:

обращаются к 15 флагу, расположенному в старшем бите байтовой ячейки памяти 21h. Использование однобитовых ячеек памяти позволяет сократить необходимый для работы программы объём памяти данных, так как для хранения битовых переменных выделяется один бит в памяти данных, а не машинное слово, как это делается в универсальных микропроцессорах (компьютерах).

Оставшаяся область памяти используется как обычное ОЗУ без особенностей. Хотя, надо отметить, что в современных микроконтроллерах эту память следует рассматривать как встроенные 256 регистров сверхоперативного ОЗУ. Основной памятью постепенно становится внутренняя память, доступная при помощи команд MOVX @DPTR, A

Регистры специальных функций.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51
Рисунок 5. Адресное пространство регистров специальных функций.

Примечание: регистры, выделенные:

Источник

АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ 80C51

Общие сведения о микроконтроллерах 80C51

80С51 – это название одного из десяти подсемейств микроконтроллерного семейства MCS-51 фирмы Intel [ 2 ]. В состав подсемейства 80С51 входят микросхемы пяти типов (рис. 2.1), некоторые из которых могут выпускаться в различных корпусах. Тип корпуса обозначается буквой, стоящей на первом месте в обозначении типа микросхемы: P – PDIP-40, D – CerDIP-40, N – PLCC-44, S – PQFP-44.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

Рис. 2.1. Микросхемы подсемейства 80С51 микроконтроллерного семейства MCS-51 фирмы Intel

Архитектура микроконтроллеров подсемейства 80С51 (в дальнейшем МК 80С51) в основном повторяет базовую архитектуру семейства MCS-51. Микросхемы разных типов отличаются друг от друга только типом и объемом внутренней программной памяти, объемом адресного пространства внешней памяти данных и максимальной тактовой частотой. Все микросхемы выполнены по одной технологии (CHMOSComplementary High-performance Metal-Oxide-Semiconductor) и имеют общую конфигурацию (количество и функциональное назначение) внешних выводов
(рис. 2.2). Номера выводов зависят от типа корпуса микросхемы.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

Рис. 2.2. Конфигурация внешних выводов МК 80С51 (корпус DIP-40)

Особенности архитектуры

2.2.1. Архитектурой вычислительной системы(computing architecture) называется общая логическая организация цифровой вычислительной системы, определяющая процесс обработки данных в конкретной вычислительной системе и включающая методы кодирования данных, состав, назначение, принципы взаимодействия технических средств и программного обеспечения [ 3 ].

2.2.2. Архитектура МК 80C51 имеет следующие особенности [ 5 ]:

1) 8-разрядный процессор, оптимизированный для управляющих применений,

2) обширные возможности обработки логических сигналов,

3) адресное пространство программной памяти объемом 64К байт,

4) адресное пространство внешней памяти данных объемом 64К байт,

5) внутренняя программная память объемом 4К байт,

6) внутренняя память данных объемом 128 байт,

7) 32 двунаправленных и индивидуально адресуемых входа/выхода

8) два 16-разрядных таймера/счетчика,

9) встроенный последовательный порт,

10) двухуровневая векторная система прерываний (6 источников/5 векторов),

11) встроенный тактовый генератор.

2.2.3. Упрощенная структурная схема МК 80С51 приведена на рис. 2.3, где CPU – центральный процессор, OSC – тактовый генератор, XTAL1, XTAL2 – входы подключения внешнего кварцевого резонатора, BUS CONTROLLER – контроллер шины, PSEN’ – строб чтения из внешней программной памяти, ALE – сигнал разрешения “защелкивания” адреса, EA’ – сигнал запрещения доступа CPU к внутренней программной памяти, RST – внешний сигнал сброса МК, I/O PORTS – параллельные порты ввода/вывода, P0, P1, P2, P3 – внешние линии параллельных портов ввода/вывода, SERIAL PORT – последовательный порт, T/С 0, T/C 1 – таймеры/счетчики, 128 BYTES RAM – память данных объемом 128 байт, 4K ROM –программная память объемом 4К байт, IC – контроллер прерываний, INTERRUPTS – сигналы запросов прерываний.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

Рис. 2.3. Упрощенная структурная схема МК 80С51

Примечание.В тексте данного учебного пособия для обозначения инверсии логического сигнала используется апостроф ( ).

Организация памяти

2.3.1. При организации взаимодействия CPU с памятью и другими функциональными устройствами используется единый принцип идентификации устройств – выбор по адресу. Совокупность всех возможных адресов называется адресным пространством.

2.3.2. МК 80C51 имеют четыре раздельных адресных пространства: адресное пространство программной памяти (program memory) объемом 64К байт, адресное пространство внешней памяти данных (external data memory) объемом 64К байт, адресное пространство внутренней памяти данных (internal data memory) объемом 128 байт и адресное пространство регистров специальных функций (SFRSpecial Function Register) объемом 128 байт (рис. 2.4).

Микроконтроллеры типа 80С51BHP отличаются от микроконтроллеров других типов тем, что имеют объемы адресных пространств программной памяти и внешней памяти данных по 4К байт.

2.3.3. Программная память предназначена для хранения кодов команд или констант. Это постоянная память, она доступна только для чтения и недоступна для записи (ROMRead Only Memory). МК 80C51 выпускаются четырех типов (см.
рис. 2.1): без внутренней постоянной памяти (80С31BH), с внутренней постоянной памятью масочного типа (80C51BH), с внутренней постоянной памятью масочного типа, защищенной от внешнего считывания (80C51BHP), с внутренней программируемой постоянной памятью, стираемой ультрафиолетовым светом (D87C51), и с однократно программируемой внутренней постоянной памятью (P87C51). Микросхема P87C51 отличается от микросхемы D87C51 только тем, что она выпускается в пластмассовом корпусе, не имеющем окна для стирания памяти, в то время как микросхема D87C51 имеет керамический корпус с окном, через которое осуществляется ультрафиолетовое облучение кристалла.

Для того, чтобы запретить доступ CPU к внутренней программной памяти, на МК требуется подать внешний логический сигнал EA’=0 (External Access).
При чтении информации из внешней программной памяти МК вырабатывает строб PSEN’ (Program Storage Enable).

Для разрешения доступа к внутренней программной памяти необходимо выполнение условия EA’=1. При обращении CPU к внутренней программной памяти строб PSEN’ не вырабатывается.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

Рис. 2.4. Структура памяти МК 80C51

2.3.4. Память данных (data memory)предназначена для хранения переменных в процессе выполнения программы. Это оперативная память, она доступна как для чтения, так и для записи (RAMRandom Access Memory). При обращении к внешней памяти данных МК вырабатывает строб чтения RD’ (read) и строб записи WR’ (write).

2.3.5. Адресные пространства внешней памяти программ и внешней памяти данных могут быть объединены. Для этого нужно подать сигналы RD’ и PSEN’ на входы логического элемента И, выходной сигнал которого следует использовать в качестве строба чтения из единой внешней памяти программ/данных.

Программная память

2.4.1. При сбросе МК (по внешнему сигналу RST) CPU начинает выполнение программы с адреса 0000H. В том случае, когда EA’=1 (см. рис. 2.4), начальный участок программы (младшие 4К байт) извлекается процессором из внутренней постоянной памяти, а остальная часть программы – из внешней памяти. Если МК не имеет внутренней постоянной памяти (или она не используется), то на вход EA’ следует подать логический сигнал 0. При этом выборка всей программы будет осуществляться из внешней памяти

2.4.2. Область адресного пространства программной памяти, начиная с адреса 0003Н, отводится для размещения начальных участков подпрограмм обслуживания прерываний (8 байтов на каждую из пяти программ). Адрес первого байта подпрограммы обслуживания прерывания (0003Н, 000BH, 0013H, 001BH, 0023Н), называемый адресом вектора прерывания, формируется контроллером прерываний МК аппаратно при обработке соответствующего запроса прерывания (см. подраздел 2.17).

2.4.3. Подключение к МК микросхемы внешней программной памяти показано на рис. 2.5, где A0 ¸ A7 – входы младших разрядов адреса, A8 ¸ A15 – входы старших разрядов адреса, OE’ и CS’ – управляющие входы, DATA – данные, считываемые из памяти, LATCH – регистр-защелка младшего байта адреса (8-разрядный параллельный регистр памяти, тактируемый уровнем).

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

Временным мультиплексированием (time-division multiplexing) называется предоставление канала ввода/вывода информации различным устройствам в разные промежутки времени.

Стробирование ввода/вывода информации через порт P0 при чтении данных из внешней программной памяти осуществляется с помощью управляющих сигналов ALE и PSEN’, вырабатываемых МК. Сигнал ALE (Address Latch Enable), поступающий с соответствующего выхода МК на тактовый вход регистра-защелки, предназначен для “защелкивания” младшего байта адреса, т.е. запоминания в регистре-защелке того кода, который был на выходах порта P0 в момент окончания сигнала ALE. Сигнал PSEN’ служит для управления считыванием данных из микросхемы памяти. Если на управляющий вход CS’ (Chip Select) микросхемы памяти поступает сигнал CS’=0, то подача сигнала PSEN’=0на управляющий вход OE’ (Output Enable) микросхемы приведет к тому, что байт данных (DATA) из адресуемой ячейки памяти поступит на вход порта P0 МК.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

Рис. 2.5. Подключение микросхемы EPROM к МК 80C51

Временные диаграммы работы МК при выборке кодов команд из внешней программной памяти приведены в подразделе 2.9.

2.4.4. При обращении к внешней программной памяти всегда вырабатывается
16-разрядный адрес (даже тогда, когда объем исполняемой программы меньше, чем 64К байт), поэтому в тех случаях, когда для хранения программы или значений констант используется внешняя программная память, приходится “жертвовать” двумя портами МК.

Память данных

2.5.1. К любому микроконтроллеру подсемейства 80С51 (за исключением 80С51BHP) можно подключить внешнюю память данных объемом до 64 К байт
(к 80С51BHP– до 4К байт). Пример подключения микросхемы памяти объемом 32К байт приведен на рис. 2.6.

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

Рис. 2.6. Подключение микросхемы 32K RAM к МК 80С51

2.5.2. Если объем внешней памяти данных меньше, чем 64К байт, то старшие разряды порта Р2 можно использовать для того, чтобы разделить адресное пространство 64К байт между несколькими устройствами, например, между двумя микросхемами памяти объемом 32К байт каждая или микросхемой памяти и другими устройствами ввода/вывода информации (аналого-цифровым преобразователем, жидкокристаллическим индикатором и т.д.). Выбор устройства осуществляется путем подачи логического сигнала 0 на управляющий вход CS’. Например, подключение входа CS’ микросхемы памяти к выходу Р2.7, как показано на рис. 2.6, приведет к тому, что эта микросхема памяти будет реагировать только на обращение по адресам 0000Н ¸ 7FFFH, а адресное пространство 8000Н ¸ FFFFH может быть использовано другими внешними устройствами.

2.5.3. Адресное пространство внутренней памяти данных МК 80С51 имеет объем 128 байт (рис. 2.7). Для доступа к этой памяти можно использовать прямую или косвенную адресацию (см. подраздел 2.8).

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

Рис. 2.7. Организация внутренней памяти данных

К тридцати двум ячейкам внутренней памяти данных, имеющим адреса от 00Н до 1FН, можно обращаться как к регистрам. Все регистры объединены в 4 банка по 8 регистров в каждом. В пределах банка регистрам присвоены имена R0 ¸ R7. Один из четырех регистровых банков может быть активным. К регистру активного банка можно обратиться по имени (номеру) с помощью регистровой адресации (см. подраздел 2.8.). Номер активного банка (в двоичном виде) задается путем программирования двух разрядов слова состояния программы (см. подраздел 2.6).

Ячейки памяти, имеющие адреса от 20Н до 2FН доступны для побитовой адресации (табл.2.1). Система команд микроконтроллеров семейства MCS-51 содержит специальные команды операций с битами (см. подраздел 2.7).

Источник

Микроконтроллеры MCS–51. Cтруктурная схема, АЛУ, память данных

Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Базовая версия MCS–51 Краткие сведения. Современные 8–разрядные микроконтроллеры (МК) обла­дают такими ресурсами управления в режиме реального времени, для получения которых раньше использовались дорогие многокристальные компоновки в виде отдельных плат микроЭВМ, A именно:

● имеют достаточную емкость памяти, физическое и логическое ее разделение на память программ и память данных (гарвардскую архитектуру) и систему команд, ориентированную на выполнение алгоритмов управления;

● включают в себя все устройства (процессор, ПЗУ, ОЗУ, порты ввода–вывода, систему прерываний, средства обработки битовой информации и др.), необ­ходимые для реализации микропроцессорной системы управления мини­мальной конфигурации. В 70–е годы прошлого столетия фирмой Intel разработан и освоен промыш­ленный выпуск семейства 8–разрядных микроконтроллеров MCS–48, объединен­ных рядом общих признаков (разрядностью, системой команд, набором основных функциональных блоков и др.). Базовая версия этого семейства включает в себя:

● внутреннюю память программ (1/2/4К байт);

● внутреннюю память данных (64/128/256 байт);

● до 27 внутренних и 16 внешних линий ввода–вывода;

● один 8–разрядный таймер–счетчик;

● одноуровневую систему прерываний с двумя источниками запросов. В 1980 г. той же фирмой было разработано новое семейство восьмиразрядных микроконтроллеров MCS–51, которое совместимо с архитектурой семейства MCS–48, но обладает более широкими возможностями.

Архитектура семейства MCS–51 оказалась настолько удачной, что и по настоящее время является одним из стандартов 8–разрядных МК. Поэтому объектом изучения выбраны МК этого семейства, получившие широкое распространение в сравнительно простых си­стемах управления.

Для семейства MCS–51 разработаны различные средства подготовки программ (компиляторы, аппаратно–программные эмуляторы и др.) и имеется большое число библиотек стандартных подпрограмм. В состав семей­ства входят разнообразные модификации микросхем (версии кристаллов) микро­контроллеров. В статьях этого раздела достаточно подробно рассматривается базовая версия микроконтроллеров семейства MCS–51 (микросхеме 8051 соответствует отече­ственный аналог КP1816ВЕ51), наиболее простая в структурно–функциональном плане и с точки зрения понимания.

Последующие серии микросхем, сохраняя со­вместимость с базовой версией, отличаются от нее улучшенной технологией из­готовления, электрическими параметрами, дополнительными аппаратными сред­ствами и функциональными возможностями. Структурно–функциональным осо­бенностям последующих модификаций микросхем семейства MCS–51 посвящены следующие статьи. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Обобщенная структурная схема MCS–51. В состав МК, обобщенная струк­турная схема которого приведена на рис. 7.1.1, входят:

● 8–разрядный центральный процессор ЦП, состоящий из АЛУ, устройства уп­равления УУ и формирователя адреса ФА;

● масочное ПЗУ емкостью 4К байта для хранения программ;

● ОЗУ емкостью 128 байт для хранения данных;

● четыре программируемых порта Р0–Р3 для ввода–вывода информации;

● блок последовательного интерфейса БПИ для обмена информацией с внеш­ними устройствами по двухпроводной линии;

● блок таймеров/счетчиков БT/C для поддержания режима реального времени;

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

На схеме также не показаны цепи управления. Двусторонний обмен информацией между блоками осуществляется по внутренней 8–разрядной шине данных ШД–8.

По внутренней 16–разрядной шине адреса ША–16 сформированный в ЦП адрес выводится в ПЗУ (12 разрядов адреса) и в ОЗУ (8 младших разрядов).

При ис­пользовании внешней памяти в порт Р0 выводятся 8 младших разрядов адреса и в порт P2 — 3 или 8 старших разрядов.

Для логического расширения интерфейса исполь­зуется совмещение функций линий портов. В качестве примера на рис. 7.1.1 пунктиром показаны линии порта Р3, выполняющие аль­тернативные функции передачи управляющих сигналов, о назначении которых будет сказано ниже. Для создания внутреннего тактового ге­нератора к выводам микросхемы МК подклю­чаются кварцевый резонатор и два конденса­тора (рис. 7.1.1). Вместо внутреннего тактово­го генератора для синхронизации можно ис­пользовать внешний источник колебаний. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Условное графическое обозначение мик­росхемы МК приведено на рис. 7.1.2, обозна­чение и назначение выводов — в табл. 7.1.1. Рассмотрим функциональные блоки МК и принцип их работы. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Арифметическо–логическое устройство. Арифметическо–логическое уст­ройство предназначено для выполнения арифметических (включая умножение и деление) и логических операций над восьмиразрядными операндами, A также операций логического сдвига, обнуления, установки и др. Структурная схема АЛУ приведена на рис. 7.1.3. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

В состав АЛУ входят

● параллельный восьмиразрядный сумматор SМ комбинационного типа с по­следовательным переносом, выполняющий арифметические (сложение и вы­читание) и логические (сложение, умножение, неравнозначность и тожде­ственность) операции;

аккумулятор A, обеспечивающий функции основного арифметического ре­гистра;

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

регистры (программно недоступные) временного хранения РВХ1, РВХ2, предназначенные для приема и хранения операндов на время выполнения операции;

● ПЗУ констант ПЗУК, хранящее корректирующий код для двоично–десятичного представления данных, код маски при битовых операциях и код констант;

регистр слова состояния программы PSW, фиксирующий состояние АЛУ по­сле выполненной операции. В табл. 7.1.2 приведены сведения о назначении битов отдельных разрядов регистра PSW. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Устройство управления. Устройство управления (УУ) центрального процес­сора предназначено для координации совместной работы всех узлов МК с по­мощью вырабатываемых синхроимпульсов и управляющих сигналов. В его состав входят (рис. 7.1.4): Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

узел синхронизации и управления УСУ, который формирует синхроимпульсы, задающие машинные циклы и их отдельные состояния (S) и фазы (Р), и в за­висимости от режима работы МК вырабатывает необходимый набор управля­ющих сигналов. На выполнение команды отводится один, два или четыре ма­шинных цикла.

Каждый машинный цикл имеет шесть состояний S1–S6, A каж­дое состояние включает в себя две фазы P1, P2, длительность которых составляет период колебаний тактового генератора T0SC.

Длительность ма­шинного цикла равна 12T0SC. Все машинные циклы одинаковые, начинаются с фазы S1P1 и заканчиваются фазой S6P2.

Помимо синхроимпульсов устрой­ство синхронизации в каждом машинном цикле формирует два (иногда один) сигнала стробирования младшего байта адреса ALE в виде положительного импульса в фазах S1P2–S2P1 и S4P2–S5P1. Временные диаграммы на рис. 7.1.5 иллюстрируют организацию машинных циклов; Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

● регистр команд РК, дешифратор команд ДК и ПЛМ, позволяющие в каждом машинном цикле сформировать набор микроопераций в соответствии с мик­ропрограммой выполняемой команды;

● логика ввода–вывода ЛВВ для приема и выдачи сигналов, обеспечивающих обмен информацией МК с внешними устройствами через порты Р0–Р3;

● регистр PCON, имеющий единственный задействованный бит SMOD в пози­ции PCON.7 для удвоения скорости передачи данных через последователь­ный порт. Остальные биты зарезервированы для дальнейшего использования. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Формирователь адреса. Формирователь адреса (ФА), или счетчик команд РС, предназначен для формирования текущего 16–разрядного адреса программной памяти и 8/16–разрядного адреса внешней памяти данных. В его состав входят (рис. 7.1.6):

● 16–разрядный буфер Б, осуществляющий связь между 8–разрядной шиной данных ШД и 16–разрядной внутренней шиной (ВШ) формирователя адреса;

● схема инкремента СИ для увеличения значения текущего адреса памяти программ на единицу;

● регистр для хранения текущего адреса команд РТА, поступающего из СИ;

● регистр указателя данных DPTR, состоящий из двух 8–разрядных регистров DPHи DPL. Он служит для хранения 16–разрядного адреса внешней памяти данных и может быть использован в качестве двух независимых программно доступных РОН;

● регистр формирователя адреса РФА для хранения исполнительного 16–раз­рядного адреса памяти программ или 8/16–разрядного адреса внешней памяти данных. Этот регистр используется также для передачи данных че­рез порт Р0 во внешние устройства при выполнении команд MOVX @Rm, A и MOVX @DPRT, A.

Память данных. Память данных предназначена для приема, хранения и выда­чи информации, используемой в процессе выполнения программы. Внутренняя (резидентная) память (рис. 7.1.7) данных состоит из ОЗУ ем­костью 128 байт, указателя стека SP, регистра адреса ОЗУ РА и дешифратора Дш. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Указатель стека SP представляет собой 8–разрядный регистр, предназ­наченный для приема и хранения адре­са ячейки стека, к которой было после­днее обращение. После сброса в ука­зателе стека устанавливается адрес 07Н, что соответствует началу стека с адресом 08Н. Регистр адреса РА совместно с дешифратором Дш позволяет осуществить доступ к требуемой ячейке памяти, содержащей байт или бит информации.

В МК предусмотрена возможность увеличения объема памяти данных до 64 Кбайт путем подключения внешних запоминающих устройств. В качестве при­мера на рис. 7.1.8 показана страничная организация внешней памяти данных ВПД емкостью 2К байт с использованием команд типа MOVX @Rm(m = 0; 1). При этом порт Р0 работает как мультиплексированная шина адрес/данные, три линии порта P2 используются для адресации страницы внешнего ОЗУ, A остальные пять линий могут быть задействованы в качестве линий ввода–вывода. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51На рис. 7.1.9 приведены временные диаграммы циклов чтения и записи при работе МК с внешним ОЗУ. На диаграммах обозначено:

● PCL OUT — выдача младшего байта счетчика команд PC;

● РСН — старший байт счетчика команд PC;

● DPL, DPH — младший и старший байты регистра указателя данных DPTR, ко­торый используется в качестве регистра для косвенной адресации в коман­дах MOVX @DPTR,A и MOVX A,@DPTR;

● P2 SFR — защелки порта P2;

● Rm (m = 0, 1) — регистры, используемые в командах MOVX @Rm, A и MOVX A, @Rm в качестве регистров косвенного адреса;

● Z — высокоомное состояние;

● D — период, в течение которого данные из порта Р0 вводятся в микроконт­роллер. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Память программ. Память программ предназначена для хранения программ, имеет свое (отдельно от памяти данных) адресное пространство и доступна толь­ко для чтения. В ее состав входит дешифратор Дш и ПЗУ (рис. 7.1.10). Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Для адресации памяти программ используется 16–разрядный счетчик РС, поэтому ее максимальная ем­кость составляет 64К байта. Внутренняя память про­грамм состоит из ПЗУ емкостью 4К байт и 12–разрядного дешифратора. Внешняя память подключается по схеме на рис. 7.1.11. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51Если на вывод ¯EA МК подается 0 В (как показано на рис. 7.1.11), внутренняя память программ отключается. Все обращения к памяти начинаются с адреса 0000h. При подключении вывода ¯ЕА к источнику питания обращение к внутренней памя­ти программ по адресам 0000h–FFFFh и к внешней памяти программ по адресам 0FFFh–FFFFhпроисходит автоматически.

Для чтения внешней памяти программ МК вырабатывается сигнал ¯PSEN. При работе с внутренней памятью сигнал чтения не ис­пользуется. При обращениях к внешней па­мяти программ всегда формируется 16–раз­рядный адрес. Младший байт адреса передается через порт Р0 в первой половине машинного цикла и фиксируется по срезу строба АLЕ в реги­стре Во второй половине цикла порт Р0 используется для ввода в МК байта данных из внешней памяти.

Старший байт адреса передается через порт P2 в течение всего времени обращения к памяти.

Временные диаграммы циклов чтения и записи при работе МК с внешним ОЗУ приведены на рис. 7.1.12. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51На диаграммах обозначено:

● PCL OUT — выдача младшего байта счетчика команд PC;

● РСН OUT — выдача старшего байта счетчика команд PC;

● DPH — старший байт регистра указателя данных DPTR, который используется в качестве регистра для косвенной адресации в командах MOVX @DPTR,A и MOVX A,@DPTR;

● P2 SFR — защелки порта P2;

● INS IN — ввод байта инструкции (команды) из памяти программ;

● ADDR OUT — выдача младшего байта адреса внешней памяти данных из ре­гистров Rm (m = 0, 1) или из регистра DPL (младшего регистра DPTR). Порты ввода–вывода. Назначение портов. Порты Р0, P1, P2, Р3 пред­назначены для обмена информацией между МК и внешними устройствами, A так­же для выполнения следующих функций:

● через порт Р0 выводится младший байт адреса А7…A0; выводится из МК и вводится в МК байт данных при работе с внешней памятью программ и внеш­ней памятью данных (с разделением во времени);

● через порт P2 выводится старший байт адреса A15…А8 при работе с внеш­ней памятью программ и внешней памятью данных (только при использова­нии команд MOVX A,@DPTR и MOVX @DPTR,A);

● линии порта Р3 могут быть задействованы на выполнение альтернативных функций, если в фиксатор–защелку этой линии занесена 1, в противном слу­чае на выводе линии фиксируется 0. Альтернативные функции выводов порта P3 приведены в табл. 7.1.3. Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51 Что означает вывод ale микроконтроллера 80с51. Смотреть фото Что означает вывод ale микроконтроллера 80с51. Смотреть картинку Что означает вывод ale микроконтроллера 80с51. Картинка про Что означает вывод ale микроконтроллера 80с51. Фото Что означает вывод ale микроконтроллера 80с51

Схемные особенности портов

На рис. 7.1.13 показаны схемы для од­ного канала каждого из портов МК, включающего в себя:

● защелку для фиксации принимаемого бита данных;

● выходной усилительный каскад (драйвер);

● узел связи с выходным каскадом (за исключением P2);

● цепь для передачи бита данных со стороны вывода порта, состоящую из бу­феров В2 и В3 (для порта Р4). Защелкой служит D–триггер, тактируемый внутренним сигналом «Запись в за­щелку». Бит данных с прямого выхода D–триггера может быть считан программно через буфер В1 сигналом «Чтение защелки» на линию внутренней шины данных (ШД) МК.

Выходной каскад порта Р0 представляет собой инвертор, особенности кото­рого проявляются в том, что нагрузочный транзистор VT2 открывается только при обращениях к внешней памяти (при передаче через порт адреса и данных). Во всех других режимах нагрузочный транзистор закрыт. Поэтому для использования Р0 (рис. 7.1.13, а) в качестве выходного порта общего назначения к его выводам необходимо подключить внешние нагрузочные резисторы. При записи 1 в защел­ку порта инверторный транзистор VT1 запирается и внешний вывод порта Р0.Х переводится в высокоомное состояние. В этом режиме вывод порта Р0.Х может служить входом. Если порт Р0 используется как порт ввода/вывода общего на­значения, каждый из его выводов Р0.Х может независимо от других работать как вход или как выход. Выходные каскады портов P1, P2, Р3 (рис. 7.1.13, б, в, г) выполнены по схемам инверторов с внутренним нагрузочным резистором, в качестве которого исполь­зован транзистор VT2.

Для уменьшения времени переключения при переходе выводов портов из состояния 0 в состояние 1 параллельно нагрузочному транзи­стору VT2 введен дополнительный транзистор VT3. Транзистор VT3 с помощью элементов в цепи затвора отпирается на время, равное двум периодам колеба­ний задающего кварцевого генератора (в течение фаз S1P1, S2P2 машинного цикла). Выходные каскады портов Р0, P2 (рис. 7.1.13, A, в) с помощью мультиплексора MX могут быть подключены либо к защелкам, либо к внутренним шинам «Адрес/ данные» и «Адрес». Выходной каскад порта P1 (рис. 7.1.13, 6) постоянно подклю­чен к защелке.

Если вывод порта Р3 является выходом и его защелка содержит 1, то его вы­ходным каскадом управляет аппаратно внутренний сигнал «Альтернативная функ­ция выхода», обеспечивающий выполнение соответствующей альтернативной функции, т.е. на внешнем выводе формируется один из сигналов ¯WR,¯RD или RxD. Если же вывод порта задействован на вход, то поступающий на него альтер­нативный сигнал (TxD, ¯INT0, ¯INT1, Т0, Т1) передается на внутреннюю линию «Аль­тернативная функция входа».

Режим записи в порт.

При выполнении команды записи в порт новое зна­чение записывается в защелку в фазе S6P2 и выводится непосредственно на вы­ходной контакт порта в фазе S1P1 следующего машинного цикла.

Режим чтения порта

Команды чтения портов считывают информацию не­посредственно с внешних контактов выводов порта или с выходов защелок. В первом случае бит данных с вывода порта считывается программно через буфер В2 сигналом «Чтение выводов» на линию внутренней шины данных (ШД) МК. Отметим, что сигналы «Запись в защелку», «Чтение защелки», «Чтение выво­дов» вырабатываются аппаратно при выполнении соответствующих команд.

Во втором случае реализуется так называемый режим «Чтение—Модифика­ция—Запись», в котором команда считывает сигнал состояния защелки, при не­обходимости модифицирует его и затем записывает обратно в защелку. Режим «Чтение—Модификация—Запись» реализуется при выполнении следующих команд: ANL, ORL, XRL, JBC; CPL; INC; DEC; DJNC; MOV PX,Y; CLR PX.Y; SETB PX,Y.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *