Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии 


Микроконтролеры семейства Intel 8051




Микроконтролеры семейства Intel 8051

 

Микроконтроллеры базового семейства Intel 8051 (МК51) выполнены на основе высокоуровневой n-МОП или КМОП технологии. Для работы МК51 требуется источник питания +5В. Основу структурной схемы МК51 составляет внутренняя 8-битная шина, связывающая между собой все основные узлы и устройства: резидентную память, арифметико-логическое устройство (АЛУ), блок регистров специальных функций, устройство управления и порты ввода-вывода.

Микроконтроллеры этого семейства можно разделить на 4 группы:

1. ОМЭВМ с отсутствием внутренней памяти (n-МОП - 8031; КМОП - 80С31)

2. ОМЭВМ с однократно программируемой памятью программ (n-МОП – 8051/52/54/58 объемом соответственно 4/8/16/32, КМОП - 80С51/52/54/58).

3. ОМЭВМ с перепрограммируемой памятью программ с ультрафиолетовым стиранием (n-МОП – 8751/52/54/58; КМОП - 87С51/52/54/58).

4. ОМЭВМ с внутренней памятью программ, выполненной по технологии FLASH (89С51…).

 

Базовая модель однокристальных ЭВМ 80С51содержит:

1. Центральный восьмиразрядный процессор.

2. Внутреннюю память программ 4 кбайт с возможностью расширения до 64 кбайт за счет подключения внешней памяти программ.

3. Внутреннюю память данных емкостью 128 байт с возможностью расширения до 64 кбайт.

4. Четыре восьмиразрядных программируемых порта ввода – вывода.

5. Два 16-битных многорежимных таймер-счетчика.

6. Подсистему прерываний с 5 векторами и 2 уровнями.

7. Последовательный интерфейс.

8. Тактовый генератор.

9. Схему управления энергопотреблением.

Назначение выводов микросхемы

1-8– Р1.0–Р1.7восьмиразрядный универсальный двунаправленный порт Р1.

9- RST – сигнал общего сброса.

10-17- Р3.0–Р3.7восьмиразрядный двунаправленный порт Р3 с дополнительными функциями:

10– Р3.0 – последовательные данные приемника (RxD).

11– Р3.1 - последовательные данные передатчика (TxD)

12– Р3.2 – вход внешнего прерывания (INT0).

13– Р3.3 – вход внешних прерываний (INT1).

14– Р3.4 – вход таймер – счетчика 0 (T0).

15 – Р3.5 – вход таймер – счетчика 1 (T1).

16– Р3.6 – выход строба при записи во внешнюю память данных (WR).

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

18-19– XTAL1–XTAL2 – выводы для подключения кварцевого резонатора.

21-28–Р2.0–Р2.7восьмиразрядный двунаправленный порт Р2, использующийся как выход адреса А8–А15 в режиме работы с внешней памятью.

29- PSENсигнал чтения внешней памяти программ.

30- ALEсигнал стробирования адреса внешней памяти.

31- EAвывод блокировки внутренней памяти.

32-39– Р 0.0–Р 0.7восьмиразрядный двунаправленный порт Р0,

Рисунок 1 - УГО микроконтроллера использующийся как мультиплексированная шина адреса/данных при

в корпусе с 40 выводами работе с внешней памятью.

20 – Vss - общий

40 – Vcc - напряжение питания

 

Базовая частота тактирования MК51 - 12 МГц. Каждый машинный цикл выполняется за 12 тактов. При этом обеспечивается минимальное время выполнения операций сложения (одноцикловых) за 1 мкс., команды умножения - 4 мкс. Микроконтроллеры могут тактироваться от кварцевого резонатора или от внешнего генератора. Существуют версии однокристальных ЭВМ с тактовой частотой 16, 20, 24, 30, 33, 40… МГц. Кроме этого существует версии, выполняющие машинный цикл не за 12, а за 6 (Philips) или 4 (Dallas) машинных такта.

В однокристальных микро-ЭВМ данного семейства реализованы режимы пониженного энергопотребления:

1. Режим холостого хода - Idle. Блокируются функциональные узлы процессора, это и понижает потребляемую мощность. Сохраняются содержимое указателя стека, программного счетчика, содержимое аккумулятора, регистра PSW и других регистров, а также внутреннего ОЗУ. Выход из режима холостого хода возможен по прерыванию или по аппаратному сбросу (RESET).

2. Режим микропотребления – Power Down. Задающий генератор выключается, работа всех узлов ОМЭВМ прекращается, сохраняется только содержимое ОЗУ, единственный выход - аппаратный сброс.

 

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

 
 

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



Рисунок 2 - Структурная схема микроконтроллера семейства Intel 8051

 

УУ и УС - устройство управления и устройство синхронизации.

OSCoscillator - внутренний ГТИ для синхронизации которого нужен кварц.

РПДresident Program memory - резидентная память данных.

РППresident Data memory - резидентная память программ.

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

ALU– арифметико-логическое устройство,

A – accumulator – сверхоперативный регистр, который является местом фиксации результата операций,

B – второй сверхоперативный регистр,

PSWProgram Status Word – регистр слова состояния программы, содержит флаги – признаки результата операции,

SP - Stack Pointer – регистр указатель стека,

- Program Counter - счетчик команд, содержит адрес выполняемой команды,

RAR - Ram Address Register – регистр адреса данных, содержит адреса данных, используемых в операциях, программно недоступен,

DPTR - Data Pointer – регистр указатель данных, содержит адреса ячеек памяти (ВПП и ВПД).

 

Контроллер прерываний – устройство, реализующее механизм прерываний,

Таймеры/счетчики Т0, Т1, Т2-устройства, использующиеся для подсчета количества импульсов или формирования временных интервалов.

UART– универсальный асинхронный приемопередатчик, последовательный порт МК, использующийся при обмене данных с внешними устройствами.

Р0-Р3– параллельные двунаправленные восьмиразрядные порты ввода/вывода, формируют шину расширения МК.

ВПД– внешняя память данных, расширение адресного пространства ПД до 64 Кбайт.

ВПП – внешняя память программ, расширение адресного пространства ПП до 64 Кбайт.

WDTWatchdog Timer – сторожевой таймер, автоматически сбрасывающий МК, при сбоях в работе или зависании.

ВУ – внешние устройства

Особенностью микроконтроллера является использование мультиплексированной шины адреса/данных (A/D). Это значит, что сначала по шине A/D передаются сигналы адреса, а затем сигналы данных.

При этом адреса сопровождаются стробирующими сигналом ALE, а данные – сигналами PSEN, RD, WR в зависимости от направления передачи и типа памяти.

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

Для демультиплексирования используется параллельный регистр-защелка адреса, записывающий младший байт адреса внешней памяти A/D(0-7) по срезу сигнала ALE.

 

Таймеры/счётчики

 

В составе микроконтроллера имеются регистровые пары с символическими именами TH0, TL0 и TH1, TL1, на основе которых функционируют два независимых программно-управляемых 16-битных таймера/счётчика событий T/C0 и T/C1. При работе в качестве таймера содержимое T/C инкрементируется в каждом машинном цикле, то есть через каждые 12 периодов резонатора.

При работе в качестве счётчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (T0, T1) вход микроконтроллера. Опрос сигналов выполняется в каждом машинном цикле. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчёта входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считываемого сигнала он должен удерживать значение 1 как минимум в течение одного машинного цикла.

Для управления режимами работы и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций TMOD и TCON (таблицы 5 и 6). Для обоих таймер/счетчиков режимы работы 0, 1 и 2 одинаковы. Режимы 3 для T/C0 и T/C1 различны.

 

Таблица 5- Регистр режима работы таймера/счётчика TMOD

Символ Разряд Имя и назначение
T/C1 T/C0
GATE TMOD.7 TMOD.3 Управление блокировкой. Если бит установлен, то таймер/счётчик n разрешен до тех пор, пока на входе “INTn” высокий уровень и бит управления “TRn” установлен. Если бит сброшен, то Т/С разрешается, как только устанавливается бит управления “TRn”
C/T TMOD.6 TMOD.2 Бит выбора режима таймера или счётчика событий. Если бит сброшен, то работает таймер от внутреннего источника сигналов синхронизации. Если бит установлен, то работает счётчик от внешних сигналов на входе “Tn”
M1 M0 TMOD.5 TMOD.4 TMOD.1 TMOD.0 Выбор режима работы
M1 M0
TLn работает как 5-битный предделитель частоты на 32
16-битный таймер/счётчик. THn и TLn включены последовательно
8-битный автоперезагружаемый таймер/счётчик. THn хранит значение, которое должно быть перезагружено в TLn каждый раз по переполнению
Таймер/счётчик 1 останавливается. TL0 работает как 8-битный таймер/счётчик, и его режим определяется управляющими битами таймера 0. ТН0 работает только как 8-битный таймер, и его режим определяется управляющими битами таймера 1

 

Режим 0.Перевод любого T/C в этот режим делает его 8-разрядным таймером, на вход которого подключен 5-битный предделитель частоты на 32. В этом режиме таймерный регистр имеет разрядность 13 бит. При переходе из состояния “все единицы” в состояние “все нули” устанавливается флаг прерывания от таймера TF1. Входной синхросигнал таймера 1 разрешен (поступает на вход T/C), когда управляющий бит TR1 установлен в 1 и либо управляющий бит GATE (блокировка) равен 0, либо на внешний вход запроса прерывания INT1 поступает уровень 1.

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

Режим 1. Работа любого T/C в этом соответствует режиму 0, за исключением того, что таймерный регистр имеет разрядность 16 бит.

Режим 2.В этом режиме работа организована таким образом, что переполнение (переход из состояния «все единицы» в состояние «все нули») 8-битного счётчика TL1 приводит не только к установке флага TF1, но и автоматически перезагружает в TL1 содержимое старшего байта (TH1) таймерного регистра, которое предварительно было задано программным путем. Перезагрузка оставляет содержимое TH1 неизменным. В режиме 2 T/C0 и T/C1 работают одинаково.

Режим 3. В этом режиме T/C0 и T/C1 работают по-разному. T/C1 сохраняет неизменным своё текущее содержимое. Иными словами, эффект такой же, как и при сбросе управляющего бита TR1 в нуль. В этом режиме TL0 и TH0 функционируют как два независимых 8-битных счётчика. Работу TL0 определяют управляющие биты T/C0 (C/T, GATE, TR0), входной сигнал INT0 и флаг переполнения TF0. Работу TH0, который может выполнять только функции таймера (подсчёт машинных циклов микроконтроллера), определяет управляющий бит TR1. При этом TH0 использует флаг переполнения TF1.

Режим 3 используется в тех случаях, когда требуется наличие дополнительного 8-битного таймера или счётчика событий. Можно считать, что в режиме 3 микроконтроллер имеет в своем составе три таймера/счётчика. В том случае, если T/C0 используется в режиме 3, T/C1 может быть или включен, или выключен, или переведен в свой собственный режим 3, или может быть использован последовательным портом в качестве генератора частоты передачи, или, наконец, может быть использован в любом применении, не требующем прерывания.

 

Таблица 6 - Регистр управления/статуса таймера TCON

Символ Разряд Имя и назначение
TF1 TCON.7 Флаг переполнения таймера 1. Устанавливается аппаратно при переполнении таймера/счётчика. Сбрасывается при обслуживании прерывания аппаратно
TR1 TCON.6 Бит управления таймера 1. Устанавливается/сбрасывается программой для пуска/останова
TF0 TCON.5 Флаг переполнения таймера 0. Устанавливается аппаратно. Сбрасывается при обслуживании прерывания
TR0 TCON.4 Бит управления таймера 0. Устанавливается/сбрасывается программой для пуска/останова таймера/счётчика
IE1 TCON.3 Флаг фронта прерывания 1. Устанавливается аппаратно, когда детектируется срез внешнего сигнала INT1. Сбрасывается при обслуживании прерывания
IT1 TCON.2 Бит управления типом прерывания 1. Устанавливается/сбрасывается программно для спецификации запроса INT1 (срез/низкий уровень)
IE0 TCON.1 Флаг фронта прерывания 0. Устанавливается по срезу сигнала INT0. Сбрасывается при обслуживании прерывания
IT0 TCON.0 Бит управления типом прерывания 0. Устанавливается/сбрасывается программно для спецификации запроса INT0 (срез/низкий уровень)

 

Последовательный порт

 

Через универсальный асинхронный приёмопередатчик UART (Universal Asynchronous Receiver-Transmitter) происходит передача информации, представленной последовательным кодом (младшими битами вперед), в полном дуплексном режиме обмена. В состав UART, называемого часто последовательным портом, входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приёмопередатчика.

Регистр SBUF. Представляет собой два независимых регистра: буфер приёмника и буфер передатчика. Загрузка байта в SBUF немедленно вызывает начало процесса передачи через последовательный порт. Когда байт считывается из SBUF, это значит, что его источником является приёмник последовательного порта. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приёмника позволяет совмещать операцию чтения ранее принятого байта с приёмом очередного байта. Если к моменту окончания приёма байта предыдущий байт не был считан, то он будет потерян.

 

Регистр SCON. Регистр предназначен для управления режимом работы UART. Регистр содержит управляющие биты и девятый бит принимаемых или передаваемых данных RB8 и TB8, а также биты прерывания приёмопередатчика RI и TI. Функциональное назначение битов указано в таблице 7.

Таблица 7 - Регистр управления/статуса SCON

Символ Разряд Имя и назначение
SM0 SCON.7 Биты управления режимом работы UART. Устанавливаются/сбрасываются программно (см. ниже)
SM1 SCON.6
SM2 SCON.5 Бит управления режимом UART. Устанавливается программно для запрета приёма сообщения, в котором девятый бит равен 0
REN SCON.4 Бит разрешения приёма. Устанавливается/сбрасывается программно для разрешения/запрета приёма последовательных данных.
TB8 SCON.3 Передача бита 8. Устанавливается/сбрасывается программно для задания девятого передаваемого бита в режиме UART 9 бит
RB8 SCON.2 Приём бита 8. Устанавливается/сбрасывается аппаратно для фик­сации девятого принимаемого бита в режиме UART -9 бит
TI SCON.1 Флаг прерывания передатчика. Устанавливается аппаратно при окончании передачи байта. Сбрасывается программно после обслуживания прерывания
RI SCON.0 Флаг прерывания приёмника. Устанавливается аппаратно при приёме байта. Сбрасывается программно после обслуживания прерывания

 

SM0 SM1 Режим работы UART
Сдвигающий регистр расширения ввода/вывода
UART - 8 бит. Изменяемая скорость передачи
UART - 9 бит. Фиксированная скорость передачи
UART - 9 бит. Изменяемая скорость передачи

 

 

Прикладная программа путём загрузки в два старших разряда SCON определяет режим работы UART. Последовательный порт может работать в четырех различных режимах.

Режим 0 -восемь бит данных передаются и принимаются через вход приёмника RхD. Выход передатчика TхD используется для выдачи импульсов синхронизации, которые сопровождают каждый бит. За один машинный цикл передаётся один бит. Частота передачи равна FРЕЗ/12.

Режим 1 -передаются или принимаются 10 бит данных в формате:

старт-бит=0, 8 бит данных, стоп-бит=1

Скорость приёма/передачи задаётся таймером.

Режим 2 -передаются или принимаются 11 бит данных в формате:

старт-бит=0, 8 бит данных, программируемый девятый бит В8, стоп-бит=1

Девятый бит может использоваться для повышения достоверности путём контроля чётности, в него можно записать значение признака паритета из PSW. Частота приёма/передачи выбирается программно и может быть равна FРЕЗ/32 или FРЕЗ/64 частоты резонатора в зависимости от состояния бита SMOD в регистре PCON.

Режим 3 -совпадает с режимом 2, но частота приёма/передачи задаётся таймером.

 

Во всех режимах передача инициируется любой командой, где SBUF указан как получатель байта. Приём в UART в режиме 0 происходит при условии RI=0 и REN=1. В режимах 1-3 приём начинается с приходом старт-бита, если REN=1.

В TB8 программно устанавливается значение девятого бита данных, который будет передан в режиме 2 или 3. В RB8 фиксируется в режимах 2 и 3 девятый принимаемый бит данных. В режиме 1, если SM2=0, в бит RB8 заносится стоп-бит. В режиме 0 RB8 не используется.

Флаг прерывания передатчика TI устанавливается аппаратно в конце периода передачи восьмого бита данных в режиме 0 и в начале периода передачи стоп-бита в режимах 1-3. Подпрограмма обслуживания этого прерывания должна сбрасывать бит TI.

Флаг прерывания приёмника RI устанавливается аппаратно в конце периода приёма восьмого бита данных в режиме 0 и в середине периода приёма стол-бита в режимах 1-3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI.

Работа UART в мультиконтроллерных системах. В системах децентрализованного управления, которые используются для управления и регулирования в типологически распределенных объектах, возникает задача обмена информацией между множеством микроконтроллеров, объединенных в локальную вычислительно-управляющую сеть. Как правило, локальные сети на основе Intel 51 имеют магистральную архитектуру с разделяемым моноканалом (коаксиальный кабель, витая пара, оптическое волокно), по которому осуществляется обмен информацией между контроллерами.

Бит SM2 в SCON позволяет простыми средствами реализовать межконтроллерный обмен. Механизм обмена построен на том, что в режимах 2 и 3 программируемый девятый бит данных при приёме фиксируется в бите RB8. UART может быть запрограммирован таким образом, что при получении стоп-бита прерывание от приёмника будет возможно только при условии RB8=1. Ведущий контроллер всем ведомым передаёт широковещательное сообщение с байтом-идентификатором абонента, которое отличается от байтов данных только тем, что в его девятом бите содержится 1. Ведомые по этому признаку вызывают подпрограммы сравнения байта-идентификатора с кодом собственного сетевого адреса. Адресуемый контроллер сбрасывает свой SM2 и готовится к приёму блока данных. Остальные ведомые микроконтроллеры оставляют неизменными свои SM2=1 и передают управление основной программе. При SM2=1 информационные байты в сети прерывания не вызывают.

В режиме 1 автономного микроконтроллера SM2 используется для контроля истинности стоп-бита. В режиме 0 SM2 не используется и должен быть сброшен.

Скорость приёма/передачи. Скорость зависит от режима работы UART. В режиме 0 частота зависит только от резонатора: f0=fрез/12. За один машинный цикл передаётся один бит.

В режимах 1-3 скорость зависит от значения управляющего бита SMOD в регистре специальных функций PCON (таблица 8).

В режиме 2 частота передачи f2=(2SMOD/64)fрез.

В режимах 1 и 3 в формировании частоты передачи кроме управляющего бита SMOD принимает участие таймер 1. При этом частота передачи зависит от частоты переполнения (OVT1) и определяется следующим образом: f1,3=(2SMOD/32)fOVT1. Прерывание от таймера 1 в этом случае должно быть заблокировано. Сам T/C1 может работать и как таймер, и как счётчик событий в любом из трёх режимов. Однако наиболее удобно использовать режим таймера с автоперезагрузкой (старшая тетрада TMOD=0010В). При этом частота передачи определяется выражением

f1,3=(2SMOD/32)(fрез/12)(256-(TH1)).

 

Таблица 8 - Регистр управления мощностью PCON

Символ Разряд Наименование и функция
SMOD PCON.7 Удвоенная скорость передачи. Если бит установлен в 1, то скорость передачи вдвое больше, чем при SMOD=0
- PCON.6-4 Не используются
GF1 PCON.3 Флаги, специфицируемые пользователем (флаги общего назначения)
GF0 PCON.2
PD PCON.1 Бит пониженной мощности. При установке в 1 микроконтроллер переходит в режим пониженного энергопотребления
IDL PCON.0 Бит холостого хода. Если бит установлен в 1, то микроконтроллер переходит в режим холостого хода

Примечание. При одновременной записи 1 в PD и IDL бит PD имеет преимущество. Сброс PCON выполняется путем загрузки в него кода 0XXX0000.

Система прерываний

 

Внешние прерывания INT0 и INT1 (рисунок 6) могут быть вызваны уровнем или переходом сигнала из 1 в 0 на входах микроконтроллера в зависимости от значений управляющих битов IT0 и IT1 в регистре TCON. От внешних прерываний устанавливаются флаги IE0 и IE1 в регистре TCON, которые инициируют вызов соответствующей подпрограммы обслуживания прерывания. Сброс этих флагов выполняется аппаратно только в том случае, если прерывание было вызвано по переходу (срезу) сигнала. Если же прерывание вызвано уровнем входного сигнала, то сбросом флага IE управляет соответствующая подпрограмма обслуживания прерывания путем воздействия на источник прерывания с целью снятия им запроса.

Рисунок 6 - Схема прерываний микроконтроллера семейства Intel 51

Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически при передаче управления подпрограмме обслуживания. Флаги запросов прерывания RI и TI устанавливаются UART аппаратно, но сбрасываться должны программой. Прерывания могут быть вызваны или отменены программой, так как все перечисленные флаги программно доступны.

В блоке регистров специальных функций есть два регистра, предназначенных для управления режимом прерываний и уровнями приоритета. Форматы этих регистров, имеющих символические имена IE и IP описаны в таблицах 9 и 10.

Таблица 9 - Регистр масок прерывания IE

Символ Разряд Имя и назначение
EA IE.7 Снятие блокировки прерываний. Сбрасывается программно для запрета всех прерываний независимо от состояний IE4-IE0
- IE.6, 5 Не используются
ES IE.4 Бит разрешения прерывания от UART. Установка/сброс программой для разрешения/запрета прерываний от флагов TI, RI
ET1 IE.3 Бит разрешения прерывания от таймера 1. Установка/сброс программой для разрешения/запрета прерываний от таймера 1
EX1 IE.2 Бит разрешения внешнего прерывания 1. Установка/сброс программой для разрешения/запрета прерываний
ET0 IE.1 Разрешение прерывания от таймера 0. Работает аналогично IE.3
EX0 IE.0 Разрешения внешнего прерывания 0. Работает аналогично IE.2

Таблица 10 - Регистр приоритетов прерывания IP

Символ Разряд Имя и назначение
- IP.7-5 Не используются
PS IP.4 Бит приоритета UART. Установка/сброс программой для назначения прерыванию от UART высшего/низшего приоритета
PT1 IP.3 Бит приоритета таймера 1. Установка/сброс программой для назначения прерыванию от таймера 1 высшего/низшего приоритета
PX1 IP.2 Бит приоритета внешнего прерывания 1. Установка/сброс программой для назначения прерыванию INT1 высшего/низшего приоритета
PT0 IP.1 Бит приоритета таймера 0. Работает аналогично IP.3
PX0 IP.0 Бит приоритета внешнего прерывания 0. Работает аналогично IP.2

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

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

Флаги прерываний опрашиваются в каждом машинном цикле. Ранжирование прерываний по приоритету выполняется в течение следующего машинного цикла. Система прерываний сформирует аппаратно вызов LCALL соответствующей подпрограммы обслуживания, если она не заблокирована одним из условий:

1. В данный момент обслуживается запрос прерывания равного или более высокого уровня приоритета;

2. Текущий машинный цикл – не последний в цикле выполняемой команды;

3. Выполняется команда RETI или любая команда, связанная с обращением к регистрам IE или IP.

По аппаратно сформированному коду команды LCALL система прерывания помещает в стек содержимое программного счётчика PC и загружает в PC адрес вектора прерывания соответствующей подпрограммы обслуживания. По этому адресу должна быть расположена команда безусловного перехода JMP к начальному адресу подпрограммы обслуживания прерывания. Эта подпрограмма в случае необходимости должна начинаться командами записи в стек PUSH слова состояния программы PSW, аккумулятора A, расширителя аккумулятора B, указателя данных DPTR и т.д. и заканчиваться командами восстановления из стека POP. Подпрограммы обслуживания прерывания обязательно завершаются командой RETI, по которой в программный счётчик перезагружается из стека сохранённый адрес возврата в основную программу. Команда RET также возвращает управление, но при этом не снимает блокировку прерывания.

 

Микроконтролеры семейства Intel 8051

 

Микроконтроллеры базового семейства Intel 8051 (МК51) выполнены на основе высокоуровневой n-МОП или КМОП технологии. Для работы МК51 требуется источник питания +5В. Основу структурной схемы МК51 составляет внутренняя 8-битная шина, связывающая между собой все основные узлы и устройства: резидентную память, арифметико-логическое устройство (АЛУ), блок регистров специальных функций, устройство управления и порты ввода-вывода.

Микроконтроллеры этого семейства можно разделить на 4 группы:

1. ОМЭВМ с отсутствием внутренней памяти (n-МОП - 8031; КМОП - 80С31)

2. ОМЭВМ с однократно программируемой памятью программ (n-МОП – 8051/52/54/58 объемом соответственно 4/8/16/32, КМОП - 80С51/52/54/58).

3. ОМЭВМ с перепрограммируемой памятью программ с ультрафиолетовым стиранием (n-МОП – 8751/52/54/58; КМОП - 87С51/52/54/58).

4. ОМЭВМ с внутренней памятью программ, выполненной по технологии FLASH (89С51…).

 

Базовая модель однокристальных ЭВМ 80С51содержит:

1. Центральный восьмиразрядный процессор.

2. Внутреннюю память программ 4 кбайт с возможностью расширения до 64 кбайт за счет подключения внешней памяти программ.

3. Внутреннюю память данных емкостью 128 байт с возможностью расширения до 64 кбайт.

4. Четыре восьмиразрядных программируемых порта ввода – вывода.

5. Два 16-битных многорежимных таймер-счетчика.

6. Подсистему прерываний с 5 векторами и 2 уровнями.

7. Последовательный интерфейс.

8. Тактовый генератор.

9. Схему управления энергопотреблением.

Назначение выводов микросхемы

1-8– Р1.0–Р1.7восьмиразрядный универсальный двунаправленный порт Р1.

9- RST – сигнал общего сброса.

10-17- Р3.0–Р3.7восьмиразрядный двунаправленный порт Р3 с дополнительными функциями:

10– Р3.0 – последовательные данные приемника (RxD).

11– Р3.1 - последовательные данные передатчика (TxD)

12– Р3.2 – вход внешнего прерывания (INT0).

13– Р3.3 – вход внешних прерываний (INT1).

14– Р3.4 – вход таймер – счетчика 0 (T0).

15 – Р3.5 – вход таймер – счетчика 1 (T1).

16– Р3.6 – выход строба при записи во внешнюю память данных (WR).

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

18-19– XTAL1–XTAL2 – выводы для подключения кварцевого резонатора.

21-28–Р2.0–Р2.7восьмиразрядный двунаправленный порт Р2, использующийся как выход адреса А8–А15 в режиме работы с внешней памятью.

29- PSENсигнал чтения внешней памяти программ.

30- ALEсигнал стробирования адреса внешней памяти.

31- EAвывод блокировки внутренней памяти.

32-39– Р 0.0–Р 0.7восьмиразрядный двунаправленный порт Р0,

Рисунок 1 - УГО микроконтроллера использующийся как мультиплексированная шина адреса/данных при

в корпусе с 40 выводами работе с внешней памятью.

20 – Vss - общий

40 – Vcc - напряжение питания

 

Базовая частота тактирования MК51 - 12 МГц. Каждый машинный цикл выполняется за 12 тактов. При этом обеспечивается минимальное время выполнения операций сложения (одноцикловых) за 1 мкс., команды умножения - 4 мкс. Микроконтроллеры могут тактироваться от кварцевого резонатора или от внешнего генератора. Существуют версии однокристальных ЭВМ с тактовой частотой 16, 20, 24, 30, 33, 40… МГц. Кроме этого существует версии, выполняющие машинный цикл не за 12, а за 6 (Philips) или 4 (Dallas) машинных такта.

В однокристальных микро-ЭВМ данного семейства реализованы режимы пониженного энергопотребления:

1. Режим холостого хода - Idle. Блокируются функциональные узлы процессора, это и понижает потребляемую мощность. Сохраняются содержимое указателя стека, программного счетчика, содержимое аккумулятора, регистра PSW и других регистров, а также внутреннего ОЗУ. Выход из режима холостого хода возможен по прерыванию или по аппаратному сбросу (RESET).

2. Режим микропотребления – Power Down. Задающий генератор выключается, работа всех узлов ОМЭВМ прекращается, сохраняется только содержимое ОЗУ, единственный выход - аппаратный сброс.

 





Рекомендуемые страницы:


Читайте также:



Последнее изменение этой страницы: 2016-04-10; Просмотров: 1763; Нарушение авторского права страницы


lektsia.com 2007 - 2021 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.067 с.) Главная | Обратная связь