Главная       Продать работу       Заказать работу       Блог       Контакты       Оплата       О нас       Как мы работаем       Регистрация       Вход в кабинет
Тех. дипломные работы
   автомобили
   спец. техника
   станки
   тех. маш.
   строительство
   электроснабжение
   пищевая промышленность
   водоснабжение
   газоснабжение
   автоматизация
   теплоснабжение
   холодильники
   машиностроение
   др. тех. специальности

Тех. курсовые работы
   автомобили
   спец. техника
   станки
   тех. маш.
   строительство
   детали машин
   электроснабжение
   газоснабжение
   водоснабжение
   пищевая промышленность
   автоматизация
   теплоснабжение
   ТММ
   ВСТИ
   гидравлика и пневматика
   машиностроение
   др. тех. специальности

Тех. дополнения
   Отчеты
   Расчетно-графические работы
   Лекции
   Задачи
   Лабораторные работы
   Литература
   Контрольные работы
   Чертежи и 3D моделирование
   Тех. soft
   Рефераты
   Общий раздел
   Технологический раздел
   Конструкторский раздел
   Эксплуатационный раздел
   БЖД раздел
   Экономический раздел
   Экологический раздел
   Автоматизация раздел
   Расчетные работы

Гум. дипломные работы
   педагогика и психология
   астрономия и космонавтика
   банковское, биржевое дело
   БЖД и экология
   биология и естествознание
   бухгалтерский счет и аудит
   военное дело
   география
   геология
   государство и право
   журналистика и СМИ
   иностранные языки
   история
   коммуникации
   краеведение
   кулинария
   культура и искусство
   литература
   экономика и торговля
   математика
   медицина
   международное отношение
   менеджмент
   политология
   музыка
   религия
   социология
   спорт и туризм
   таможенная система
   физика
   химия
   философия
   финансы
   этика и эстетика
   правознавство

Гум. курсовые работы
   педагогика и психология
   астрономия и космонавтика
   банковское, биржевое дело
   БЖД и экология
   биология и естествознание
   бухгалтерский счет и аудит
   военное дело
   география
   геология
   государство и право
   журналистика и СМИ
   иностранные языки
   история
   коммуникации
   краеведение
   кулинария
   культура и искусство
   литература
   экономика и торговля
   математика
   медицина
   международное отношение
   менеджмент
   политология
   музыка
   религия
   социология
   спорт и туризм
   таможенная система
   физика
   химия
   философия
   финансы
   этика и эстетика
   правознавство

Гум. дополнения
   Отчеты
   Расчетные работы
   Лекции
   Задачи
   Лабораторные работы
   Литература
   Контрольные работы
   Сочинения
   Гум. soft
   Рефераты

Рефераты
   Авиация и космонавтика
   Административное право
   Арбитражный процесс
   Архитектура
   Астрология
   Астрономия
   Банковское дело
   Безопасность жизнедеятельнос
   Биографии
   Биология
   Биология и химия
   Биржевое дело
   Ботаника и сельское хоз-во
   Бухгалтерский учет и аудит
   Валютные отношения
   Ветеринария
   Военная кафедра
   ГДЗ
   География
   Геодезия
   Геология
   Геополитика
   Государство и право
   Гражданское право и процесс
   Делопроизводство
   Деньги и кредит
   ЕГЭ
   Естествознание
   Журналистика
   ЗНО
   Зоология
   Издательское дело и полиграф
   Инвестиции
   Иностранный язык
   Информатика
   Информатика, программировани
   Исторические личности
   История
   История техники
   Кибернетика
   Коммуникации и связь
   Компьютерные науки
   Косметология
   Краеведение и этнография
   Краткое содержание произведе
   Криминалистика
   Криминология
   Криптология
   Кулинария
   Культура и искусство
   Культурология
   Литература : зарубежная
   Литература и русский язык
   Логика
   Логистика
   Маркетинг
   Математика
   Медицина, здоровье
   Медицинские науки
   Международное публичное прав
   Международное частное право
   Международные отношения
   Менеджмент
   Металлургия
   Москвоведение
   Музыка
   Муниципальное право
   Налоги, налогообложение
   Наука и техника
   Начертательная геометрия
   Оккультизм и уфология
   Остальные рефераты
   Педагогика
   Политология
   Право
   Право, юриспруденция
   Предпринимательство
   Прикладные науки
   Промышленность, производство
   Психология
   психология, педагогика
   Радиоэлектроника
   Реклама
   Религия и мифология
   Риторика
   Сексология
   Социология
   Статистика
   Страхование
   Строительные науки
   Строительство
   Схемотехника
   Таможенная система
   Теория государства и права
   Теория организации
   Теплотехника
   Технология
   Товароведение
   Транспорт
   Трудовое право
   Туризм
   Уголовное право и процесс
   Управление
   Управленческие науки
   Физика
   Физкультура и спорт
   Философия
   Финансовые науки
   Финансы
   Фотография
   Химия
   Хозяйственное право
   Цифровые устройства
   Экологическое право
   Экология
   Экономика
   Экономико-математическое мод
   Экономическая география
   Экономическая теория
   Этика
   Юриспруденция
   Языковедение
   Языкознание, филология

Главная > Блог


Программная модель микроконтроллера 8051

В предыдущей главе было отмечено, что ядром семейства MCS-51 является микроконтроллер 8051 (отечественный аналог КР1816ВЕ51). В связи с этим представляется целесообразным рассмотрение особенностей программирования указанного семейства на примере именно этого микроконтроллера.

Программная модель МК 8051 содержит резидентную память данных, регистры специальных функций, резидентную память программ и программный счетчик PC.

Резидентная память программ (рис.1) имеет байтовую организацию и доступна только по чтению, при этом ее ячейки (4 Кбайт) адресуются с использованием двенадцати младших разрядов PC. Резидентная память программ может быть дополнена внешней памятью. В этом случае общий максимально допустимый объем памяти программ составит 64 К. Младшие адреса резидентной памяти программ отведены под обработку внешних прерываний , , прерываний от таймеров/счетчиков T/C0, T/C1 и прерывания от последовательного порта. В случае возникновения какого-либо из указанных прерываний происходит обращение к соответствующей ячейке резидентной памяти программ (например, при возникновении прерывания  в PC записывается код 0003H).

Рис.1. Структура резидентной памяти программ микроконтроллера 8051

Резидентная память данных (рис.2) состоит из 128-ми 8-разрядных ячеек с адресами 00H-7FH и может быть дополнена внешней памятью данных емкостью до 64 К. При этом пространства резидентной и внешней

Резидентная память данных

 

 

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

 

 

 7FH

 

F7

F6

F5

F4

F3

F2

F1

F0

 0F0H

 

 

 

E7

E6

E5

E4

E3

E2

E1

E0

 0E0H

 

 30H

 

D7

D6

D5

D4

D3

D2

D1

D0

 0D0H

7F

7E

7D

7C

7B

7A

79

78

 2FH

 

-

-

-

BC

BB

BA

B9

B8

 0B8H

77

76

75

74

73

72

71

70

 2EH

 

B7

B6

B5

B4

B3

B2

B1

B0

 0B0H

6F

6E

6D

6C

6B

6A

69

68

 2DH

 

AF

-

-

AC

AB

AA

A9

A8

 0A8H

67

66

65

64

63

62

61

60

 2CH

 

A7

A6

A5

A4

A3

A2

A1

A0

 0A0H

5F

5E

5D

5C

5B

5A

59

58

 2BH

 

SBUF

 99H

57

56

55

54

53

52

51

50

 2AH

 

9F

9E

9D

9C

9B

9A

99

98

 98H

4F

4E

4D

4C

4B

4A

49

48

 29H

 

97

96

95

94

93

92

91

90

 90H

47

46

45

44

43

42

41

40

 28H

 

TH1

 8DH

3F

3E

3D

3C

3B

3A

39

38

 27H

 

TH0

 8CH

37

36

35

34

33

32

31

30

 26H

 

TL1

 8BH

2F

2E

2D

2C

2B

2A

29

28

 25H

 

TL0

 8AH

27

26

25

24

23

22

21

20

 24H

 

TMOD

 89H

1F

1E

1D

1C

1B

1A

19

18

 23H

 

8F

8E

8D

8C

8B

8A

89

88

 88H

17

16

15

14

13

12

11

10

 22H

 

PCON

 87H

0F

0E

0D

0C

0B

0A

09

08

 21H

 

DPH

 83H

07

06

05

04

03

02

01

00

 20H

 

DPL

 82H

R7

 1FH

 

SP

 81H

 

 

 

87

86

85

84

83

82

81

80

 80H

R0

 18H

 

 

 

R7

 17H

 

 

 

 

 

 

 

 

R0

 10H

 

 

 

R7

 0FH

 

 

 

 

 

 

 

 

 

R0

 08H

 

 

Рис.2. Структура резидентной памяти данных и регистров специальных функций микроконтроллера 8051

 

R7

 07H

 

 

 

 

 

 

 

R0

 00H

 

 

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

Рис.2. Структура резидентной памяти данных и регистров специальных функций микроконтроллера 8051

Младшие 32 байта РПД сгруппированы в 4 банка по 8 регистров R0-R7 в каждом. Отметим, что Банк0, Банк1, Банк2 и Банк3 занимают соответственно адреса 00H-07H, 08H-0FH, 10H-17H и 18H-1FH. Следующие после банков регистров 16 байт (адреса 20H-2FH) или 128 бит (адреса 00H-7FH) образуют область ячеек, к которым возможно побитовое обращение. Набор команд МК 8051 содержит значительное количество инструкций, позволяющих работать с указанными битами.

Область регистров специальных функций (РСФ) (рис.2) содержит 21 регистр, назначение которых приведено в табл.2.1. Как видно из рис.2 и табл.2.1, 11 РСФ допускают побитовое обращение (биты с адресами 80H-0F7H).

Таблица 2.1

Наименование

Назначение

Адрес

P0*

Порт 0

80H

SP

Указатель стека

81H

DPL

Младший байт указателя данных DPTR

82H

DPH

Старший байт указателя данных DPTR

83H

PCON

Регистр управления потреблением

87H

TCON*

Регистр управления таймеров/счетчиков

88H

TMOD

Регистр режимов таймеров/счетчиков

89H

TL0

Таймер/счетчик 0. Младший байт

8АH

TL1

Таймер/счетчик 1. Младший байт

8BH

TH0

Таймер/счетчик 0. Старший байт

8CH

TH1

Таймер/счетчик 1. Старший байт

8DH

P1*

Порт 1

90H

SCON*

Регистр управления последовательным портом

98H

SBUF

Буфер последовательного порта

99H

P2*

Порт 2

0A0H

IE*

Регистр разрешения прерываний

0A8H

P3*

Порт 3

0B0H

IP*

Регистр приоритетов прерываний

0B8H

PSW*

Регистр состояния программы

0D0H

A*

Аккумулятор

0E0H

B*

Регистр B

0F0H

* - регистры, допускающие побитовую адресацию.

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

Порты P0, P1, P2, P3 являются двунаправленными портами ввода/вывода и предназначены для обеспечения обмена информацией МК с внешними устройствами, образуя 32 линии ввода/вывода. Помимо обычного ввода/вывода указанные порты могут выполнять ряд дополнительных функций. В частности, при работе МК с внешней памятью данных или с внешней памятью программ через порты P0 и P2 выводятся соответственно младший и старший байты адреса, кроме того через порт P0 выдается (принимается) байт данных (байт данных или байт команды). При этом обмен байтом данных, ввод байта команды и вывод младшего байта адреса внешней памяти мультиплексированы во времени. Линии порта P3 имеют следующие альтернативные функции: P3.0 (P3.1) - вход (выход) последовательного порта; P3.2 (P3.3) - вход внешнего прерывания  (); P3.4 (P3.5) - счетный вход 0 (1); P3.6 (P3.7) - выход сигнала записи (чтения) во внешнюю память данных (из внешней памяти данных).

Указатель стека SP (Stack Pointer) - регистр, содержимое которого инкрементируется (увеличивается на единицу) перед записью данных в стек при выполнении команд PUSH и CALL. Начальный сброс устанавливает указатель стека в 07H, а область стека в РПД начинается с адреса 08H. При необходимости, путем переопределения указателя стека область стека может быть расположена в любом месте РПД.

Указатель данных DPTR (Data PoinTeR) предназначен для хранения 16-разрядного адреса внешней памяти данных и состоит из двух программно доступных регистров DPH (Data Pointer High) и DPL (Data Pointer Low), которые могут использоваться в качестве независимых регистров общего назначения, если нет необходимости в хранении упомянутого адреса. Кроме того, DPTR служит базовым регистром при косвенной адресации в некоторых командах пересылки или перехода.

Регистр PCON (Power Control). Конструкция регистра PCON определяется технологией изготовления микроконтроллера. Для варианта изготовления по технологи n-МОП (8051) регистр PCON имеет всего один бит - SMOD, управляющий скоростью передачи последовательного порта. Для варианта изготовления по технологии КМОП (80С51) наименование и назначение разрядов регистра PCON приведены в табл.2.2. Для 8051 и 80С51 расположение и назначение разряда SMOD идентичны. Биты GF0 и GF1 пользователь может задействовать по своему усмотрению. Если в PD и IDL одновременно записана "1", то преимущество имеет PD.

Особенности режима холостого хода и режима микропотребления заключаются в том, что при первом блокируются только узлы, составляющие центральный процессор микроконтроллера (тактовый генератор продолжает функционировать), а при втором блокируется работа всех узлов. Токи потребления микроконтроллера 80С51 в режимах холостого хода и микропотребления составляют соответственно не более 4,2 мА и не более 50 мкА. Для окончания режима холостого хода имеются два способа. Активизация любого разрешенного прерывания автоматически приведет к сбросу бита IDL в "0", оканчивая режим холостого хода, при этом состояние резидентной памяти данных и РСФ остается таким же, каким оно было на момент перехода в указанный режим. После исполнения команды (инструкции), обеспечивающей выход из подпрограммы обслуживания прерывания, будет выполняться инструкция, которая следует за командой, переведшей микроконтроллер в режим холостого хода. Другим способом окончания режима холостого хода является инициализация (сброс) микроконтроллера. В этом случае сохраняется только содержимое РПД. Указанный способ используется и для окончания режима микропотребления.

Таблица 2.2

Биты

Наименование

Назначение

7

SMOD

Бит удвоения скорости передачи через последовательный порт. При установке в "1" скорость передачи удваивается. Доступен по чтению.

6

-

Не используется.

5

-

Не используется.

4

-

Не используется.

3

GF1

Программно управляемый флаг пользователя.

2

GF0

Программно управляемый флаг пользователя.

1

PD

Бит включения режима микропотребления ("1" - включение, "0" - отмена). Доступен по чтению.

0

IDL

Бит включения режима холостого хода. ("1" - включение, "0" - отмена). Доступен по чтению.

Регистры TH0, TL0, TH1, TL1 (Timer/counter Low (High) byte). Исходное (текущее) состояние j-го таймера/счетчика T/Cj  в микроконтроллере определяется (отражается) программно доступными регистрами THj, TLj. Причем регистр THj - старшие, а регистр TLj - младшие 8 разрядов. Указанные регистры могут быть программно прочитаны или загружены как при выключенных, так и при работающих таймерах/счетчиках. Новая загрузка THj, TLj сразу же означает новую величину с которой будет начат счет в T/Cj, а старая теряется. Если загрузка произведена при включенном T/Cj, то счет продолжается с новой величины. Очередность загрузки регистров THj, TLj произвольная. Выключение T/Cj не искажает код, находящийся в THj, TLj. Таймер/счетчик T/Cj можно выключить, через произвольное время вновь включить и счет начнется с той величины, которая была в регистрах THj, TLj на момент выключения.

Регистр TCON (Timer/counter Control). Наименование и назначение разрядов регистра TCON приведены в табл.2.3. Все разряды этого регистра доступны по записи и по чтению.

Таблица 2.3

Биты

Наименование

Назначение

7

TF1

Флаг переполнения T/C1.

6

TR1

Бит включения T/C1.

TR1=1 - включен, TR1=0 - выключен.

5

TF0

Флаг переполнения T/C0.

4

TR0

Бит включения T/C0.

TR0=1 - включен, TR0=0 - выключен.

3

IE1

Флаг запроса внешнего прерывания .

2

IT1

Бит, определяющий вид прерывания .

IT1=0 - прерывание по уровню (низкому),

IT1=1 - прерывание по фронту (переход из"1" в "0").

1

IE0

Флаг запроса внешнего прерывания .

0

IT0

Бит, определяющий вид прерывания .

IT0=0 - прерывание по уровню (низкому),

IT0=1 - прерывание по фронту (переход из"1" в "0").

Флаг TFj  аппаратно устанавливается в "1" при переходе T/Cj из состояния "все единицы" в состояние "все нули". Если прерывание от T/Cj разрешено, то установка флага TFj вызовет прерывание. Бит TFj аппаратно сбрасывается в "0" при обращении к подпрограмме обработки прерывания. Флаг IEj аппаратно устанавливается в "1" от внешнего прерывания : от низкого уровня или перехода из "1" в "0" сигнала прерывания. Если при этом внешнее прерывание разрешено, то осуществляется переход к подпрограмме его обслуживания. Сброс флага IEj выполняется аппаратно при обслуживании прерывания только в том случае, когда ITj=1.

Регистр TMOD (Timer/counter Mode). Наименование и назначение разрядов регистра TMOD приведены в табл.2.4. Все разряды этого регистра доступны по записи и по чтению.

При работе в качестве таймера содержимое T/Cj  инкрементируется с частотой , где f есть частота синхронизации микроконтроллера. При работе T/Cj в качестве счетчика внешних событий, его содержимое инкрементируется в ответ на переход из "1" в "0" сигнала на  j-ом счетном входе микроконтроллера. Для надежной работы T/Cj в режиме счетчика необходимо, чтобы максимальная частота указанного сигнала была не более , а уровень этого сигнала оставался неизменным в течение как минимум одного машинного цикла ().

Таблица 2.4

Биты

Наименование

Назначение

7

GATE1

Бит разрешает (запрещает) управлять T/C1 от внешнего вывода .

GATE1=1 - управление разрешено,

GATE1=0 - управление запрещено.

6

Бит определяет работу T/C1 в качестве таймера (=0), счетчика внешних событий (=1).

5

4

М1.1

М0.1

Биты определяют один из 4-х режимов работы T/C1.

 

 

 

M1.1

M0.1

Режим

 

 

 

 

 

0

0

0

 

 

 

 

 

0

1

1

 

 

 

 

 

1

0

2

 

 

 

 

 

1

1

3

 

 

3

GATE0

Бит разрешает (запрещает) управлять T/C0 от внешнего вывода .

GATE0=1 - управление разрешено,

GATE0=0 - управление запрещено.

2

Бит определяет работу T/C0 в качестве таймера (=0), счетчика внешних событий (=1).

1

0

М1.0

М0.0

Биты определяют один из 4-х режимов работы T/C0.

 

 

 

M1.0

M0.0

Режим

 

 

 

 

 

0

0

0

 

 

 

 

 

0

1

1

 

 

 

 

 

1

0

2

 

 

 

 

 

1

1

3

 

 

Таймер/счетчик T/Cj в режиме 0 (1) представляет собой устройство на основе 13- (16-) разрядного регистра, состоящего из 8-ми разрядов регистра THj и 5-ти младших разрядов (8-ми разрядов) регистра TLj. В режиме 2 T/Cj представляет собой устройство на основе 8-разрядного регистра TLj. При каждом переполнении TLj кроме установки в регистре TCON флага TFj происходит автозагрузка регистра TLj содержимым THj, причем указанная автозагрузка не влияет на содержимое регистра THj. Таймер/счетчик T/C1 в режиме 3 заблокирован (значение кода в регистрах TH1, TL1 не изменяется). Эффект такой же, как при сбросе TR1 в "0". Таймер/счетчик T/C0 в режиме 3 представляет собой два независимых устройства на основе регистров TH0 и TL0. Устройство на основе TL0 может работать в режиме таймера или в режиме счетчика и при переполнении устанавливает флаг TF0. За этим устройством сохраняются биты управления TR0, GATE0, . Устройство на основе регистра TH0 может работать только в режиме таймера. Оно использует бит включения TR1, при переполнении выставляет флаг TF1. Других битов управления устройство на основе TH0 не имеет.

Регистр SCON (Serial port Control) предназначен для приема и хранения кода, который управляет последовательным интерфейсом. Наименование и назначение разрядов регистра SCON приведены в табл.2.5. Все разряды этого регистра программно доступны по записи и чтению.

Таблица 2.5

Биты

Наименование

Назначение

7

6

SM0

SM1

Биты определяют один из 4-х режимов работы последовательного порта

 

 

SM0

SM1

Режим

Характеристика режима

 

 

0

0

0

Сдвиговый регистр. Скорость (частота) приема/ передачи f/12.

 

 

0

1

1

8-битовый универсальный асинхронный приемник/ передатчик (УАПП). Скорость (частота) приема/ передачи задается частотой переполнений T/C1.

 

 

1

0

2

9-битовый УАПП. Скорость (частота) приема/ передачи f/64 или f/32.

 

 

1

1

3

9-битовый УАПП. Скорость (частота) приема/ передачи задается частотой переполнений T/C1.

5

SM2

Бит разрешения многопроцессорной работы.

4

REN

Бит разрешает (запрещает) прием.

REN=1 - прием разрешен,

REN=0 - прием запрещен.

3

TB8

Девятый бит передаваемых данных в режимах 2, 3.

2

RB8

Девятый бит принятых данных в режимах 2, 3.

1

TI

Флаг прерывания передатчика.

0

RI

Флаг прерывания приемника.

В режимах 2 и 3 при SM2=1 флаг RI не активизируется (не устанавливается в "1"), если девятый принятый бит данных равен "0". В режиме 1 при SM2=1 флаг RI не активизируется, если не принят стоп-бит равный "1". В режиме 0 бит SM2 не используется и должен быть сброшен в "0". Флаг TI аппаратно устанавливается в "1" в конце периода передачи 8-го бита в режиме 0 или в начале периода передачи стоп-бита в других режимах. Флаг RI аппаратно устанавливается в "1" в конце периода приема 8-го бита в режиме 0 или в середине периода приема стоп-бита (девятого бита) в режиме 1 (в режимах 2 и 3) при SM2=0.

Режим 2 и режим 3 последовательного порта позволяют организовать работу микроконтроллеров 8051 в многопроцессорных системах, использующих для обмена информацией между МК разделяемый моноканал (коаксиальный кабель, витая пара, оптоволокно и др.). В этих режимах флаг RI установится только в том случае, когда либо SM2=0, либо принятый девятый бит данных равен "1". Указанную особенность работы последовательного порта можно использовать для организации межконтроллерного обмена следующим образом. Пусть ведущему МК требуется передать блок данных некоторому (нескольким) ведомому (ведомым) МК. С этой целью ведущий МК в протокольном режиме "широковещательной" передачи (всем ведомым МК) выдает в моноканал байт-идентификатор абонента (код адреса МК-получателя), который отличается от байтов данных только тем, что в его девятом бите содержится "1". Программа реализации протокола сетевого обмена информацией должна быть построена таким образом, чтобы при получении байта-идентификатора во всех ведомых МК произошли прерывание прикладных программ и вызов подпрограммы сравнения байта-идентификатора с кодом собственного сетевого адреса. Адресуемый МК сбрасывает свой управляющий бит SM2 в "0" и готовится к приему блока данных. Остальные ведомые МК, адрес которых не совпал с кодом байта-идентификатора, оставляют неизменным состояние SM2=1 и передают управление основной программе. Байты данных, поступающие по моноканалу в последовательный порт ведомых микроконтроллеров у которых SM2=1, прерывание не вызывают (не устанавливается флаг RI), т.е. игнорируются.

Регистр SBUF (Serial port Buffer). Через SBUF обеспечивается программный доступ к регистрам передатчика и приемника последовательного порта. Причем передача начинается любой командой микроконтроллера, использующей SBUF в качестве регистра назначения, т.е. выполняющей операцию "запись в SBUF".

Регистр IE (Interrupt Enable) используется для разрешения или запрещения прерываний от соответствующих источников. Наименование и назначение разрядов регистра IE приведены в табл.2.6. Все биты указанного регистра программно доступны по записи и чтению.

Регистр IP (Interrupt Priority) используется для установки уровня приоритета прерывания для каждого из пяти источников прерываний. Наименование и назначение разрядов регистра IP приведены в табл.2.7. Все биты этого регистра программно доступны по записи и чтению. Наличие в заданном разряде регистра IP "1" устанавливает для соответствующего источника высокий уровень приоритета, а наличие "0" - низкий уровень приоритета.

Таблица 2.6

Биты

Наименование

Назначение

7

EA

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

EA=0 - прерывания запрещены,

EA=1 - прерывания могут быть разрешены индивидуальными разрешениями EX0, EX1, ET0, ET1, ES.

6

-

Не используется.

5

-

Не используется.

4

ES

Бит управления прерыванием от последовательного порта.

ES=0 - прерывание запрещено,

ES=1 - прерывание разрешено.

3

ET1

Бит управления прерыванием от T/C1.

ET1=0 - прерывание запрещено,

ET1=1 - прерывание разрешено.

2

EX1

Бит управления прерыванием от внешнего источника .

EX1=0 - прерывание запрещено,

EX1=1 - прерывание разрешено.

1

ET0

Бит управления прерыванием от T/C0.

ET0=0 - прерывание запрещено,

ET0=1 - прерывание разрешено.

0

EX0

Бит управления прерыванием от внешнего источника .

EX0=0 - прерывание запрещено,

EX0=1 - прерывание разрешено.

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

Источник

 

Приоритет внутри уровня

IE0

высокий

TF0

 

IE1

 

TF1

 

RI, TI

низкий


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

Таблица 2.7

Биты

Наименование

Назначение

7

-

Не используется.

6

-

Не используется.

5

-

Не используется.

4

PS

Бит установки уровня приоритета прерывания от последовательного порта.

3

PT1

Бит установки уровня приоритета прерывания от таймера/счетчика T/C1.

2

PX1

Бит установки уровня приоритета прерывания от внешнего источника .

1

PT0

Бит установки уровня приоритета прерывания от таймера/счетчика T/C0.

0

PX0

Бит установки уровня приоритета прерывания от внешнего источника .

Регистр PSW (Program Status Word). Наименование и назначение разрядов регистра PSW приведены в табл.2.8.

Аккумулятор A представляет собой 8-разрядный регистр, который является источником операнда и местом фиксации результата при выполнении арифметических, логических операций и ряда операций передачи данных. Кроме того, только с использованием аккумулятора могут быть выполнены операции сдвигов, проверки на нуль, формирование флага паритета и т.п.

Регистр B - 8-разрядный регистр, используемый в сочетании с аккумулятором при выполнении операций умножения и деления для хранения второго входного операнда и помещения возвращаемых 8-ми битов результата. В других операциях регистр B является обычным регистром общего назначения.

Таблица 2.8

Биты

Наименование

Назначение

7

C

Флаг переноса. Устанавливается в "1" (сбрасывается в "0") аппаратно или программно. Аппаратно устанавливается (сбрасывается) во время выполнения команды сложения или вычитания при наличии (отсутствии) соответственно переноса или заема в 7-ом бите результата. Во время выполнения команды умножения или деления флаг всегда аппаратно сбрасывается.

6

AC

Флаг дополнительного переноса. Устанавливается (сбрасывается) аппаратно или программно. Аппаратно устанавливается (сбрасывается) во время выполнения  команды сложения или вычитания при наличии (отсутствии) соответственно переноса или заема в 3-ем бите результата.

5

F0

Программно управляемый флаг пользователя.

4

3

RS1

RS0

Разряды управления выбором банка рабочих регистров. Устанавливаются (сбрасываются) программно.

 

 

 

RS1

RS0

Банк

 

 

 

 

 

0

0

0

 

 

 

 

 

0

1

1

 

 

 

 

 

1

0

2

 

 

 

 

 

1

1

3

 

 

2

OV

Флаг переполнения. Устанавливается (сбрасывается) аппаратно или программно. Аппаратно устанавливается во время выполнения команды сложения (вычитания) если есть перенос (заем) в 6-ом бите результата и нет переноса (заема) в бите 7, или есть перенос (заем) в бите 7 и нет в бите 6, в противном случае флаг сбрасывается. Во время выполнения команды деления флаг аппаратно сбрасывается, а в случае деления на нуль - устанавливается. При умножении флаг аппаратно устанавливается если результат больше 255, в противном случае - сбрасывается.

1

без имени

Флаг пользователя. Устанавливается (сбрасывается) программно. Доступен по чтению.

0

P

Флаг паритета. Программно доступен только по чтению. Аппаратно сбрасывается (устанавливается) в каждом машинном цикле для индикации четности (нечетности) количества разрядов аккумулятора, находящихся в состоянии "1". Если в аккумуляторе все разряды сброшены в "0", флаг аппаратно сбрасывается.




Комментарии