Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции МПСУ.doc
Скачиваний:
40
Добавлен:
06.12.2018
Размер:
7.86 Mб
Скачать

Вопросы и задания

1. Приведите и поясните схемы использования ИМС шинных формирователей в качестве выходных блоков МПСУ.

2. Поясните работу транзисторного каскада инверсного типа на постоянном токе.

3. Поясните работу транзисторного каскада на постоянном токе без инверсии сигнала.

4. Поясните работу транзисторного каскада на переменном токе.

5. Поясните работу твердотельных реле постоянного и переменного тока.

2. Микроконтроллерные системы управления

2.1. Архитектура микроконтроллера к1816ве51

(МК51). Организация памяти МК51

Микропроцессоры являются универсальными устройствами, которые могут применяться как в схемах компьютеров, так и в системах автоматики. Однако основная область их применения – компьютеры. Рассмотрение схем МПСУ показало, что для эффективного решения задач автоматики кроме МП нужен целый набор интерфейсных схем, в основном - ИМС программируемого параллельного интерфейса (ППИ), программируемого контроллера прерываний (ПКП), программируемого интервального таймера (ПИТ). Для МПСУ характерно также то, что объемы используемой оперативной памяти чрезвычайно малы и, поэтому, ИМС ОЗУ, входящие в состав МЭВМ, используются всего на несколько процентов.

Микроконтроллер (МК) представляет собой объединенные в одном корпусе МЭВМ и интерфейсные блоки, а схема и система команд МК ориентированы на простое и эффективное применение МК в системах автоматики. У разных типов МК есть много общего:

- встроенное ОЗУ емкостью 64…512 байт;

- ПЗУ, как правило, встроенное, емкостью несколько килобайт (для 8-разрядных МК) или несколько килослов (для 16-разрядных МК);

- большое число линий ввода/вывода (около 80% ножек на корпусе МК);

- встроенные блоки параллельного и последовательного интерфейсов, блоки прерываний, таймеры;

- специальная система команд, максимально приближенная к программированию задач автоматики, в основной массе состоящих из команд обмена информацией с внешними устройствами;

- встроенные АЦП и ЦАП;

- средства защиты программ от взлома;

- энергосберегающие режимы работы МК;

- встроенные стандартные функции управления типовыми объектами, например, выпрямителями, инверторами.

Ниже рассмотрен МК типа КР1816ВЕ51, который является полным аналогом МК типа I8051 фирмы Intel. МК является базовым для всех его последующих модификаций. Идеи, реализованные в МК КР1816ВЕ51, присущи микроконтроллерам других типов.

Функциональная схема МК типа КР1816ВЕ51 (сокращенно – МК51) приведена на рис.2.1. Ядром МК51 является микропроцессор, обрабатывающий данные размером 1 байт. Тактовый генератор встроенный. Для его запуска нужно к выводам Х1, Х2 подключить кварцевый резонатор или RC-цепочки. Номинальная частота МК51 равна 12 МГц.

РПП – резидентная (встроенная) память программ емкостью 4 Кбайта. РПП является ПЗУ.

РПД – резидентная память данных, состоящая из оперативной памяти данных (ОПД) емкостью 128 байт и блока из 21 регистров специальных функций (РСФ). РПД является ОЗУ.

РСФ служат, в основном, для инициализации УАПП, Т/С, КП. К РСФ относятся также порты Р0…Р3. Полный состав РСФ приведен на рис.18.4. Работа с РСФ и с ОПД производится одинаковыми командами.

Р 0, Р1, Р2 и Р3 – двунаправленные порты ввода/вывода. Емкость каждого порта 8 линий. При 40-выводном корпусе ИМС на ввод/вывод задействовано 32 физических вывода, что составляет 80% от общего числа выводов. Порт Р0 трехстабильный, остальные порты двухстабильные. Только порт Р1 используется для простого ввода/вывода. Остальные порты кроме простого ввода/вывода используются в альтернативных режимах. Настройка портов на ввод или вывод осуществляется по битам и независимо друг от друга.

УАПП – универсальный асинхронный приемопередатчик. Обслуживает обмен с ВУ в последовательном коде.

Т/С – таймер/счетчики (два Т/С). Служат для создания выдержек времени и подсчета числа импульсов, подводимых к МК.

КП – контроллер прерываний. Обеспечивает обслуживание запросов прерываний с пятью уровнями приоритетов.

RST – сброс общий, активный уровень 1.

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

- выходной сигнал разрешения работы с внешней памятью программ, активный уровень 0.

- входной сигнал, при значении которого равном 0, отключается резидентная память программ.

Две составляющие памяти МК51 – резидентная память программ (РПП) и резидентная память данных (РПД) – различаются не только функциональным назначением, но и имеют раздельные шины адреса, данных и сигналов управления. Поэтому машинные циклы и такты работы с каждой памятью могут выполняться одновременно. Во исполнение многих команд происходят обращения не только к РПП, откуда считывается КОП и операнд, но и к РПД и за счет одновременности работы с РПП и РПД сокращается до минимума количество машинных циклов команды и время выполнения команды. Однако это преимущество организации памяти МК полностью утрачивается, когда используются блоки внешней памяти программ (ВПП) и внешней памяти данных (ВПД). С этими блоками памяти используются общие шины адреса и данных.

На рис.2.2 приведена структура памяти программ (ПП), которая состоит из РПП и ВПП. Основная информация ПП – команды. При считывании КОП команды используется адрес, взятый из счетчика команд, а после дешифрации КОП – количество обращений к ПП зависит от количества байт операндов. В ПП могут также располагаться символьные константы, например, тексты, математические и физические постоянные, таблицы функций и т.п. Для чтения символьной информации из ПП имеются 2 команды: MOVC A, @A+DPTR и MOVC A, @A+РС (МК51 содержит всего 111 базовых команд, приведенных в приложении Б). Существует 3 варианта использования ПП:

1). Только РПП. Это вариант реализуется при одновременном выполнении двух условий: =1 и программа и символьные константы располагаются в пределах адресного пространства РПП – от 0000Н до 0FFFH.

2 ). РПП+ВПП-II. Этот вариант реализуется при условии =1, причем при работе с адресами от 0000Н до 0FFFH обращение происходит к РПП, а при работе с адресами от 1000Н до FFFFH обращение происходит к ВПП-II. При обращении к ВПП-II активизируются сигналы ALE и . Область ВПП-I, имеющая те же адреса, что и РПП, недоступна.

3). Только ВПП. Это вариант реализуется при активном сигнале отключения РПП: =0. Доступны ячейки всей ВПП в диапазоне адресов от 0000Н до FFFFH.

Память данных (ПД) состоит из РПД и ВПД. Объем ВПД равен 64 Кбайта, адреса от 0000Н до FFFFH. РПД имеет адреса от 00Н до FFH.

Для РСФ отведено адресное пространство размером 128 байт (от 80Н до FFH), однако фактически используется только 21 адрес. По остальным адресам не существует физических ячеек памяти и запись по таким адресам бесполезна, а считывание дает случайный код. Адресные пространства РПД и ВПД-I совпадают по диапазону адресов (от 00Н до FFH), однако обращение к ним осуществляется различными командами. Ситуация, когда различные оперативные данные имеет одинаковые адреса, но отличаются их принадлежностью либо к РПД, либо к ВПД-I, является допустимой. Поэтому во всех трех вариантах использования ПД всегда допускается работа с РПД:

1). Только РПД. Это вариант реализуется при использовании любых команд, кроме команд типа MOVX.

2). РПД+ВПД-I. Для работы с ВПД-I используются 2 команды: MOVХ A, @Rm и MOVХ @Rm, A.

3). РПД+ВПД (ВПД= ВПД-I+ ВПД-II). Для работы с ВПД используются 2 команды: MOVХ A, @ DPTR и MOVХ @ DPTR, A.

Структура ОПД приведена на рис.2.3. Размер всех ячеек ОПД – 1 байт. Адреса ячеек - от 00Н до 7FН. В программах все ячейки адресуются как байты. У 16 ячеек ОПД с адресами от 20Н до 2FН допускается адресация отдельных бит. У прямо адресуемых бит имеются адреса от 00Н до 7FН. Для обращения к ячейкам ОПД как к байтам и обращения к битам ячеек ОПД используются разные команды. Поэтому допустимы одинаковые адреса как байт, так и у бит ячеек ОПД.

7FH

Адресация байтами

Адрес

Номер бита

Обознач.

7

6

5

4

3

2

1

0

30H

F0H

F7

F6

F5

F4

F3

F2

F1

F0

B

2FH

7F

7E

7D

7C

7B

7A

79

78

Адресация как байтами, так и отдельными битами

E0H

E7

E6

E5

E4

E3

E2

E1

E0

A

2EH

77

76

75

74

73

72

71

70

D0H

D7

D6

D5

D4

D3

D2

D1

D0

PSW

2DH

6F

6E

6D

6C

6B

6A

69

68

B8H

-

-

-

BC

BB

BA

B9

B8

IP

2CH

67

66

65

64

63

62

61

60

B0H

B7

B6

B5

B4

B3

B2

B1

B0

P3

2BH

5F

5E

5D

5C

5B

5A

59

58

A8H

AF

-

-

AC

AB

AA

A9

A8

IE

2AH

57

56

55

54

53

52

51

50

A0H

A7

A6

A5

A4

A3

A2

A1

A0

P2

29H

4F

4E

4D

4C

4B

4A

49

48

99Н

SBUF

28H

47

46

45

44

43

42

41

40

98H

9F

9E

9D

9C

9B

9A

99

98

SCON

27H

3F

3E

3D

3C

3B

3A

39

38

90H

97

96

95

94

93

92

91

90

P1

26H

37

36

35

34

33

32

31

30

8DH

TH1

25H

2F

2E

2D

2C

2B

2A

29

28

8CH

TH0

24H

27

26

25

24

23

22

21

20

8BH

TL1

23H

1F

1E

1D

1C

1B

1A

19

18

8AH

TL0

22H

17

16

15

14

13

12

11

10

89H

TMOD

21H

0F

0E

0D

0C

0B

0A

09

08

88H

8F

8E

8D

8C

8B

8A

89

88

TCON

20H

07

06

05

04

03

02

01

00

87H

PCON

1FH

18H

Банк 3

Адресация байтами

83H

DPH

82H

DPL

81H

SP

17H

10H

Банк 2

80H

87

86

85

84

83

82

81

80

P0

SBUF – буфер приемопередатчика

TH1,TL1 – старший и младший байты Т/С1

0FH

08H

Банк 1

TH0,TL0 – старший и младший байты Т/С0

PCON – регистр управления мощностью

SP – регистр указатель стека

07H

00H

Банк 0 (по умолчанию)

Адрес 07 – дно стека по умолчанию

DPH, DPL - старший и младший байты регистра указателя данных DPTR

Рис.2.3. Оперативная память данных

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

Группа из 32 ячеек с адресами от 00Н до 1FН образует 4 банка регистров общего назначения, каждый из которых содержит по 8 регистров. Регистры всех банков обозначаются одинаково: R0, R1,…,R7, но имеют разные адреса в пространстве адресов ОПД. Так, например, регистр R0 имеет адреса 00Н, 08Н, 10Н и 18Н в банках, соответственно, 0, 1, 2 и 3. В любой момент времени активен только один банк регистров. По умолчанию, т.е. после включения питания микроконтроллера, или после сброса сигналом RST, активным устанавливается банк 0. Сменить банк регистров можно программно с использованием одного из регистров специальных функций – регистра PSW слова состояния программы (рис.2.4), содержание бит которого приведено на рис.2.5.

Бит

Обознач.

Назначение

7

С

Флаг переноса (из 7-го бита аккумулятора А)

6

АС

Флаг вспомогательного переноса (из 3-го бита А)

5

F0

Флаг пользователя

4

RS1

0

0

1

1

Выбор рабочего банка регистров

3

RS0

0

1

0

1

Банк №:

0

1

2

3

2

OV

Флаг переполнения

1

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

0

Р

Флаг четности

Рис.2.5. PSW – слово состояния программы

Организация нижней части ОПД в виде банков регистров дает следующие преимущества:

1). Большое число регистров позволяет активно применять в программах команды регистровых операций. Эти команды занимают меньше места в памяти и быстрее выполняются. Например, запись константы #F5 в ячейку ОПД с адресом 02Н, которая является также ячейкой регистра R2 банка 0, можно выполнить двумя способами (рис.2.7). Регистровая команда выполняется вдвое быстрее и занимает в 1,5 раза меньше памяти, чем команда записи по адресу.

Для активизации, например, банка 2 нужно выполнить следующую программу из двух команд:

Мнемокод

Комментарии

SETB RS1

RS1←1. Установить бит RS1, адрес которого равен D4 (рис.2.4 и 2.5)

CLR RS0

RS0←0. Сбросить бит RS0, адрес которого равен D3 (рис.2.4 и 2.5)

Рис.2.6. Программа активизации банка 2

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

Мнемокод

Код

Байт

Циклов

Комментарии

MOV 02, #F5

75 02 F5

3

2

Запись по адресу ячейки

MOV R2, #F5

7A F5

2

1

Запись в регистр

Рис.2.7. Программа записи константы в ячейку ОПД с адресом 02Н

В ОПД располагается стек. Начальный адрес стека или дно стека устанавливается по умолчанию равным 07Н. При необходимости адрес дна стека можно изменить, загрузив желаемый адрес в ячейку указателя стека SP (рис.2.4). Перед записью в стек по командам PUSH, CALL и по прерыванию содержимое SP инкрементируется, а после считывания по командам POP, RET и RETI – декрементируется.

Блок РСФ (рис.2.4) содержит регистры аккумулятора А, регистр В, используемый в операциях умножения и деления двух байт, регистр PSW, регистры портов Р0…Р3, регистры TL0, TH0, TL1 и TH1 двух таймеров, регистр указатель стека SP, регистр указатель данных DPTR и регистры IP, IE, SBUF, SCON, TMOD, TCON, PCON инициализации блоков МК51. Ко всем регистрам можно обратиться по адресу, указанному на рис.2.4. У некоторых регистров возможно обращение к битам, адрес которых указан на рис.2.4.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]