Состав семейства MCS-51

Автор работы: Пользователь скрыл имя, 11 Апреля 2011 в 12:22, реферат

Краткое описание

В настоящее время среди всех 8-разрядных микроконтроллеров - семейство MCS-51 является несомненным чемпионом по количеству разновидностей и количеству компаний, выпускающих его модификации. Оно получило свое название от первого представителя этого семейства - микроконтроллера 8051, выпущенного в 1980 году на базе технологии n-МОП.

Содержимое работы - 1 файл

MSC51.doc

— 589.00 Кб (Скачать файл)

 
 

Рисунок 2. Эквивалентная  схема подключения светодиодного индикатора к параллельному порту. 

Для умощнения  выводов порта можно применить  транзисторный ключ, показанный на рисунке 2. Обратите внимание, что база транзистора подключена непосредственно  к выводу порта. Это стало возможным  только благодаря использованию в схеме порта генератора тока в верхнем плече выходного каскада (Схему подключения устройств к портам с TTL выходами можно посмотреть здесь). Если выходного тока достаточно для открывания транзисторного ключа, то резистор R2 не используется. Этот резистор подключается для увеличения базового тока транзисторного ключа. На максимальное значение тока через этот резистор накладываются те же ограничения, что и для непосредственного подключения светодиодного индикатора к выводам порта. 

Микроконтроллеры предназначены для управления внешними устройствами, однако управлять напряжением на выходе параллельного порта микроконтроллера можно только при помощи программы, записанной в память программ. Какие напряжения необходимо подавать на выходы микросхемы зависят от схемы подключения индикатора. В приведённой на рисунке 2 схеме, для зажигания светодиода VD1, в шестой вывод порта P0 необходимо записать логический 0. Для зажигания светодиода VD2 необходимо в седьмой разряд порта P2 записать логическую единицу, а для его гашения – логический ноль. 

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

MOV (пересылка), например 

MOV P2, #56h        ;Установить единичный сигнал  на ножках 1,2,4 и 6 порта P2

                     ;и нулевой потенциал на ножках 0,3,5 и 7

MOV P1, #01110011b  ;Выдать  на все восемь выводов порта  P1 число 011100112

MOV P3, A           ;Выдать на все восемь выводов  содержимое аккумулятора 

ANL (логическое 'И'), например

ANL P1, #11110011b ;выдать  низкий потенциал на ножках P1.2 и P1.3 

XRL (исключающее  'ИЛИ'), например

XRL P3, #01000100b ;инвертировать  состояние ножек P3.2 и P3.6

ORL (логическое 'ИЛИ'), например

ORL P1, #00001100b ;выдать  высокий потенциал на ножках P1.2 и P1.3 

Эти команды  изменяют потенциал сразу на нескольких выводах порта. Кроме того, для  изменения потенциалов на ножках микросхемы, можно воспользоваться  командами с битовой адресацией: 

MOV (пересылка), например

MOV P1.2, C         ;выдать содержимое бита переноса через 2-й бит порта P2 

CPL (инверсия), например

CPL P1.2            ;проинвертировать второй бит  порта P2 

SETB (установить  бит), например

SETB P2.3           ;выдать высокий потенциал на 3-й ножке порта P2 

CLR (сбросить  бит), например

CLR P2.3             ;выдать низкий потенциал на 3-й  ножке порта P2 

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

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

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

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

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

 
 
 
 
 

Рисунок 3. Использование  порта P0 в качестве шины данных. 

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

 

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 

Примечание: альтернативные функции, выделенные:

жирным подчеркнутым текстом - присутствуют во всех микросхемах

жирным текстом - отсутствуют в микросхемах 8051,8031, КР1816ВЕ31, КР1816ВЕ51, КР1816ВЕ751 КР1830ВЕ31, КР1830ВЕ51, КР1830ВЕ751;

курсивом - присутствуют только в микросхемах 8Х51FA, FB, FC и GB 

Порт P2 может  быть использован для передачи старшего байта адреса при программировании внутреннего ППЗУ и при чтении внутренней памяти программ. Через  порт Р2 выводится старший байт адреса А8 - А15 при работе с внешней памятью  программ и внешней памятью данных (с 16- разрядным адресом). Во время доступа к внешней памяти содержимое регистра - защелки порта P2 не изменяется. Схема использования порта P2 в качестве шины адреса приведена на рисунке 2. При сбросе микросхемы во все разряды порта P2 записываются '1'. 

Порт P3. Каждая линия  порта Р3 имеет индивидуальную альтернативную функцию, которая может быть задействована  простым обращением к устройству, соединенному с ножкой порта (например, для того чтобы был выработан  строб WR, достаточно обратиться с внешней памяти командой MOVX @DPTR, A или MOVX @R0,A). Линии порта Р3 могут выполнять альтернативные функции только в том случае, если в соответствующие этим линиям разряды регистра записаны логические '1', иначе на линиях порта будет присутствовать '0' независимо от характера принимаемой или передаваемой информации. При сбросе микросхемы во все разряды порта записываются '1'.

 

Р3.0 RxD - вход последовательного  порта;

Р3.1 TxD - выход  последовательного порта;

Р3.2 INT0 -используется как вход 0 внешнего запроса прерываний;

Р3.3 INT1 -используется как вход 1 внешнего запроса прерываний;

Р3.4 Т0 - используется как вход счетчика внешних событий 0;

Р3.5 Т1 - используется как вход счетчика внешних событий 1;

Р3.6 WR - строб записи во внешнюю память данных;

Р3.7 RD - строб  чтения из внешней памяти данных. 
 
 

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

Микроконтроллеры  семейства MCS-51 построены по Гарвардской  архитектуре. Это означает, что память данных и память программ в этих микросхемах разделены и имеют отдельное адресное пространство. В этих микроконтроллерах имеется пять адресных пространств: память программ, внешняя память данных три для внутренней памяти. Такое построение памяти позволяет удвоить доступное адресное пространство. Кроме того такое построение памяти позволяет в ряде случаев увеличить быстродействие микросхем. 

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

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

 
 
 

 

  Цели и задачи изучения Содержание дисциплины Краткое описание курса Курсовой проект Перечень литературы

 

[Пред. страница] [След. страница] Дата последнего  обновления файла 23.10.2009  

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

Микроконтроллеры  семейства MCS-51 построены по Гарвардской  архитектуре. Это означает, что память данных и память программ в этих микросхемах разделены и имеют  отдельное адресное пространство. В  этих микроконтроллерах имеется пять адресных пространств: память программ, внешняя память данных три для внутренней памяти. Такое построение памяти позволяет удвоить доступное адресное пространство. Кроме того такое построение памяти позволяет в ряде случаев увеличить быстродействие микросхем. 

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

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

Рисунок 1. Схема  подключения схем внешней памяти к микроконтроллерам семейства MCS-51 

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

Память программ предназначена для хранения программ и имеет отдельное от памяти данных адресное пространство объемом 64 Кбайт, причем для некоторых микросхем  (например КР1816ВЕ51, КМ1819ВЕ751, КР1830ВЕ51) для хранения программ на кристалле микроконтроллера расположено ПЗУ. Это ПЗУ отображается в область млаших адресов памяти программ. Учитывая, что выполнение программы после сброса микроконтроллера всегда начинается с нулевого адреса памяти программ, то при включении питания начнет выполняться программа, записанная во внутненнем ПЗУ микроконтроллера. Микроконтроллеры, не имеющие внутреннего ПЗУ (например КР1816ВЕ31 и КР1830ВЕ31) могут работать только с внешней микросхемой ПЗУ емкостью до 64 Кбайт (при использовании портов P1 и P3 в качестве расширителя адреса объем подключаемой ПЗУ может быть увеличен до 1Гбайта). Микроконтроллеры семейства MCS-51 имеют внешний вывод EA, с помощью которого можно запретить работу внутренней памяти, для чего необходимо подать на вывод EA логический "0" (соединить этот вывод с корпусом). При этом внутренняя память программ отключается и, начиная с нулевого адреса, все обращения происходят к внешней памяти программ. 

Информация о работе Состав семейства MCS-51