Реферат: Семейство однокристальных 8-разрядных микроконтроллеров (МК) серий 1816


Содержание

стр.

1 Характеристика отечественных 8-разрядных микроконтроллеров 2

1.1 Общие сведения об однокристальных микроконтроллерах семейства МК51 3

1.2 Функциональная схема включения МК МК51 с внешним ППЗУ программ 4

1.3 Структура микроконтроллера KP18I6BE51 5

1.4 Система команд МК-51 9

2 Программно-логическая модель МК-51 и работа с ней 14

2.1 Работа с памятью данных микроконтроллера K18I6BE51 14

3 Лабораторный практикум 15

3.1 Лабораторная работа №1 15

3.2 Лабораторная работа №2 16

3.4 Лабораторная работа №3 17

Примеры заданий 18

Список использованных источников 22

1 Характеристика отечественных 8-разрядных микроконтроллеров


Семейство однокристальных 8-разрядных микроконтроллеров (МК) серий 1816. 1830 включает ряд моделей, модификации которых варьируются в зависимости от объема и характера вычислительных ресурсов (памяти программ и данных, тактовой частоты).

Их недостатком является небольшой температурный диапазон эксплуатации (-10 - +70 С) , в то время как зарубежные фирмы Intel, Siemens производят модификации контроллеров, рассчитанные на применение в диапазонах: 0 - +70 С, -40 - +85 С, - 40 - +110 С и по особому закону -40 - +125С [5].

Семейство отечественных микроконтроллеров МК51 включает 6 модификаций серий КР1816, KP1830, KР1835, отличающихся по реализации резидентной памяти программ и мощности потреблении. В таблице 1 приводятся основные модели из указанного семейства микроконтроллеров.

Таблица 1 - Семейство МК51

Модель

Аналог

Объем резидентной памяти программ, Кбайт

Объем резидентной памяти данных, байт

Тактовая частота, MГц

Ток потребления, мА

KP1816ВЕ31

8031АН




128

12

150

KP18I6BЕ51

8051АН



128

12

150

KМ1816ВЕ751

875IAH



128

12

220

KР1830ВЕ31

80C3IBH




128

12

18

KP1830BE51

80С51ВН



128

12

18

KР1835BE51

80С51BU



128

12

18

Из таблицы 1 видно, что наиболее экономичными являются большие интегральные схемы (БИС) серии КР1830 при одинаковых значениях основных технических характеристик.

КМ1816ВЕ751, в отличии от KP1816BЕ51, содержит внутреннее ППЗУ емкостью 4 Кбайт с ультрафиолетовым стиранием.

Следует отметить, что у всех моделей MK-51 за счет использования внешней памяти, емкость памяти программ и данных может быть расширена до 64 Кбайт.

Приведем некоторые особенности моделей KM1830ВЕ751 и КМ1830ВЕ753 (аналог 8753Н фирмы AMD). Последняя отличается наличием перепрограммируемого запоминающего устройства (ППЗУ) с ультрафиолетовым стиранием на 8 Кбайт.

Микросхемы имеют особенности:

- специальный режим эксплуатации;

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

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



Общие сведения об однокристальных микроконтроллерах семейства МК51


Восьмиразрядные высокопроизводительные однокристальные микроконтроллеры семейства МК51 выполнены по высококачественной n-МОП технологии (серия 1816) и КМОП технологии (серия 1830).

Использование микроконтроллера семейства МК51 по сравнению с МК48 обеспечивает увеличение объема памяти команд и памяти данных. Новые возможности ввода-вывода и периферийных устройств расширяют диапазон применения и снижают общие затраты системы. В зависимости от условий использования быстродействие системы увеличивается минимум в два с половиной раза и максимум в десять раз.

МК КМ1816ВЕ751 содержит ППЗУ емкостью 4096 байт со стиранием ультрафиолетовым излучением и удобен на этапе разработки системы при отладке программ, а также при производстве небольшими партиями или при создании систем, требующих в процессе эксплуатации периодической подстройки. За счет использования внешних микросхем памяти общий объем памяти программ может быть расширен до 64 Кбайт.

МК КР1816ВЕ31 и КР1830ВЕ31 не содержат встроенной памяти программ, и могут использовать до 64 Кбайт внешней постоянной или перепрограммируемой памяти программ и эффективно использоваться в системах, требующих существенно большего по объему (чем 4 Кбайт на кристалле) ПЗУ памяти программ.

Каждый МК рассматриваемого семейства содержит встроенное ОЗУ памяти данных емкостью 128 байт с возможностью расширения общего объема оперативной памяти данных до 64 Кбайт за счет использования внешних микросхем ЗУПВ.

Общий объем памяти МК семейства МК51 может достигать 128 Кбайт: 64 Кбайт – память программ и 64 Кбайт – память данных.

При разработке на базе МК более сложных систем могут быть использованы стандартные ИС с байтовой организацией, например, серии КР580.

МК содержат все узлы, необходимые для автономной работы:

- центральный восьмиразрядный процессор;

- память программ объемом 4 Кбайт (только КМ1816ВЕ751, КР1816ВЕ51 и КР1830ВЕ51);

- память данных объемом 128 байт;

- четыре восьмиразрядных программируемых канала ввода-вывода (порты P0, P1, P2, P3);

- два 16-битовых многорежимных таймера/счетчика;

- система прерываний с пятью векторами и двумя уровнями;

- последовательный интерфейс;

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

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

Память программ предназначена для хранения программ и имеет отдельное от памяти данных адресное пространство объемом до 64 Кбайт, причем для микросхем КР1816ВЕ51, КМ1816ВЕ751 и для КР1830ВЕ51 часть памяти программ с адресами 0000Н -0FFFH расположена на кристалле МК. Память программ, расположенная на кристалле, состоит из 12-разрядного дешифратора и ПЗУ емкостью 4К*8 бит для микросхем КР1816ВЕ51, КР1830ВЕ51 или ППЗУ с ультрафиолетовым стиранием емкостью 4К*8 бит для КМ1816ВЕ751. Запись программ в ПЗУ происходит во время изготовления кристаллов.

Если на вывод МК EA/NPP подано напряжение питания Vcc то обращение к внешней памяти программ происходит автоматически при выработке счетчиком команд адреса, превышающего 0FFFH. Если адрес находится в пределах 0000Н - 0FFFH, обращение происходит к памяти программ, расположенной на кристалле (внутренней памяти программ).

Если на вывод EA/NPP подан «0», внутренняя память программ отключается и, начиная с адреса 0000Н, все обращения выполняются к внешней памяти программ.

Если МК не имеет внутренней памяти программ, ее вывод EA/NPP должен быть подключен к общей шине.

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

При обращениях к внешней памяти программ всегда формируется 16-разрядный адрес, младший байт которого выдается через порт Р0, а старший - через порт Р2. При этом байт адреса, выдаваемый через порт Р0, должен быть зафиксирован во внешнем регистре по спаду сигнала ALE, т. к. в дальнейшем линии порта Р0 используются в качестве шины данных, по которой байт из внешней памяти программ вводится в МК.


Функциональная схема включения МК МК51 с внешним ППЗУ программ


Порт Р0 работает как мультиплексированная шина адрес/данные: выдает младший байт счетчика команд, а затем переходит в высокоимпедансное состояние и ожидает прихода байта из ППЗУ программ. Когда младший байт адреса находится на выходах порта Р0, сигнал ALE защелкивает его в адресном регистре RG. Старший байт адреса находится на выходах порта Р2 в течение всего времени обращения к ППЗУ. Сигнал РМЕ разрешает выборку байта из ППЗУ, после чего выбранный байт поступает на порт Р0 МК51 и вводится в МК.

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

Регистр адреса ОЗУ предназначен для приема и хранения адреса выбираемой с помощью дешифратора ячейки памяти, которая может содержать как бит, так и байт информации.

ОЗУ представляет собой 128 восьмиразрядных регистров, предназначенных для приема, хранения и выдачи различной информации.

Указатель стека представляет собой восьмиразрядный регистр, предназначенный для приема и хранения адреса ячейки стека, к которой было последнее обращение. При выполнении команд LCALL, ACALL содержимое указателя стека увеличивается на 2. При выполнении команд RET, RETI содержимое указателя стека уменьшается на 2. При выполнении команды PUSH direct содержимое указателя стека увеличивается на 1. При выполнении команды POP direct содержимое указателя стека уменьшается на 1. После сброса в указателе стека устанавливается адрес 07Н, что соответствует началу стека с адресом 08Н.

В МК предусмотрена возможность расширения памяти данных путем подключения внешних устройств емкостью до 64 Кбайт. При этом обращение к внешней памяти данных возможно только с помощью команд MOVX.

Команды MOVX ©Ri,A и MOVX A,@Ri формируют восьмиразрядный адрес, выдаваемый через порт Р0. Команды MOVX @DPTR,A и MOVX @A,DPTR формируют 16-разрядный адрес, младший байт которого выдается через порт Р0, а старший – через порт Р2.

Байт адреса, выдаваемый через порт Р0, должен быть зафиксирован во внешнем регистре по спаду сигнала ALE, т. к. в дальнейшем линии порта Р0 используются как шина данных, через которую байт данных принимается из памяти при чтении или выдается в память данных при записи. При этом чтение стробируется сигналом RD, а запись – сигналом WR. При работе с внутренней памятью данных сигналы RD и WR не формируются.

Порты P0, P1, P2, P3 являются двунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией МК с внешними устройствами, образуя 32 линии ввода-вывода. Каждый из портов содержит фиксатор-защелку, который представляет собой восьмиразрядный регистр, имеющий байтовую и битовую адресацию для установки (сброса) разрядов с помощью программного обеспечения.

Физические адреса P0, P1, P2, P3 составляют для:

P0 – 80Н, при битовой адресации 80Н -87Н;

P1 – 90Н, при битовой адресации 90Н -97Н;

P2 – А0Н, при битовой адресации А0Н – А7Н;

P3 – В0Н, при битовой адресации В0Н – В7Н.

Помимо работы в качестве обычных портов ввода/вывода линии портов Р0 – РЗ могут выполнять ряд дополнительных функций, описанных ниже.


1.3 Структура микроконтроллера KP1816ВЕ51 (МК-51)


Условное графическое обозначение микроконтроллера МК-51 показано на рисунке 1.

Назначение выводов:

Uss - потенциал общего провода ("земли");

Ucc - основное напряжение литания +5 В;

X1,X2 - выводы для подключения кварцевого резонатора;



Рисунок 1 – Условное графическое обозначение микроконтроллера МК-51


RST/VPD - вход общего сброса/подключения резервного источника питания;

PSEN - разрешение внешней памяти программ; выдается только при обращении к внешнему ПЗУ;

ALE - строб адреса внешней памяти;

ЕА - отключение внутренней программной памяти; уровень 0 на этом входе заставляет микроконтроллер выполнять программу только внешней ПЗУ; игнорируя внутреннюю (если последняя имеется);

P1 - восьмибитный квазидвунаправленный порт ввода/вывода: каждый разряд порта может быть запрограммирован как на ввод, так и на вывод информации, независимо от состояния других разрядов;

P2 - восьмибитный квазидвунаправленный порт, аналогичный Р1; кроме того, выводы этого порта используются для выдачи адресной информации (старшего байта) при обращении к внешней памяти программ или данных (если используется 16-битовая адресация последней). Выводы порта используются так же для подключения и программирования расширителя (К580ВР43);

РЗ - восьмибитный квазидвунаправленный порт, аналогичный. Р1; кроме того, выводы этого порта могут выполнять ряд альтернативных функций, которые используются при работе таймеров, порта последовательного ввода-вывода, контроллера прерываний, и внешней памяти программ и данных;

Альтернативные функции порта Р3:

RxD – вход приемника последовательного порта в режиме УАПП. Ввод/вывод данных в режиме сдвигающего регистра;

TxD – выход передатчика последовательного порта в режиме УАПП. Выход синхронизации в режиме сдвигающего регистра;

INT0 (инв), INT1 (инв) – входы запросов на прерывание (срабатывает по низкому уровню или срезу);

TO, T1 – входы таймеров-счетчиков или тест-входы;

RD (инв), WR (инв) – сигналы управления чтения и записи (формируются при обращении к внешней памяти);

P0 - восьмибитный двунаправленный порт ввода-вывода информации: при работе с внешними ОЗУ и ПЗУ по линиям порта в режиме временного мультиплексирования выдается адрес внешней памяти, после чего осуществляется передача или прием данных.

Структурная организация и система команд МК - 51 хорошо описана в [1], и приведена на рисунке 2. Отметим, что микроконтроллер можно представить в виде следующих основных узлов:

- арифметико-логическое устройство (АЛУ);

- память данных и программ;

- аккумулятор;

- регистр слова состояния (регистр признаков);

- 8 - битный регистр - указатель стека;

- 16 - битный регистр - указатель данных;

- блок таймеров - счетчиков;

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

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

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

- порты ввода - вывода.

МК - 51 работает от внутреннего генератора, который имеет внешние выводы для подключения кварцевого резонатора.

Все порты (0,1,2,3) МК - 51 служат для побайтного ввода - вывода данных. Кроме того, порты 0 и 2 служат для вывода адреса. Выводы порта 3 могут быть использованы для реализации альтернативных функций. Порт 0 является двунаправленным, порты 1, 2, 3 - квазидвунаправленными: каждая линия порта может быть настроена для ввода или вывода данных. Нагрузочная способность портов 1, 2, 3 - один ТТЛ - вход, а порта 0 - два ТТЛ входа. PC - 16-разрядный программный счетчик.

Аккумулятор (А) служит для хранения как операнда, так и результата операции. Но МК-51 может выполнять ряд команд и без участия аккумулятора. Выполнение многих команд производится в арифметическо-логическом устройстве, а ряд признаков операций фиксируется в регистре слова состояния программы (PSW).

Арифметическо-логическое устройство (8-битное) может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются программно недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков.

Восьмиразрядный указатель стека (SP) может адресовать любую область памяти данных. Содержимое его уменьшается на единицу в ходе выполнения команд PUSH и CALL и увеличивается на единицу при выполнении команд РОР и RET. При сбросе в SP автоматически загружается начальный код 07 Н.

16-разрядный регистр-указатель данных (DPTR) служит для фиксации адреса при обращении к внешней памяти. Он может работать как два независимых 8-разрядных регистра DPH и DPL.

МК-51 имеет два независимых программируемых 16-разрядных таймера/счетчика, представленных в виде двух регистровых пар: TH0, TL0 и TH1, TL1, буфер последовательного порта SBUF - два независимых 8 - разрядных регистра: регистр приемника и регистр передатчика, регистры специальных функций с именами IP, IE, TMOD, TCON, SCON, PCON, позволяющие программировать схему прерывания, режимы работы таймеров-счетчиков и приемопередатчика.

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

Память программ (ПЗУ или СППЗУ) имеет емкость 4 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных сменных и т.п. РПП имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных. Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами.

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

Таблица 2 - Блок регистров специальных функций

Символ

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

Адрес

* ACC

Аккумулятор

0E0H

* B

Регистр-расширитель аккумулятора

0F0H

* PSW

Слово состояния программы

0D0H

SP

Регистр-указатель стека

81H

DPTR

Регистр-указатель данных (DPH)

(DPL)

83H

82H

* P0

Порт 0

80H

* P1

Порт 1

90H

* P2

Порт 2

0A0H

* P3

Порт 3

0B0H

* IP

Регистр приоритетов

0B8H

* IE

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

0A8H

TMOD

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

89H

* TCON

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

88H

TH0

Таймер 0 (старший байт)

8CH

TL0

Таймер 0 (младший байт)

8AH

TH1

Таймер 1 (старший байт)

8DH

TL1

Таймер 1 (младший байт)

8BH

* SCON

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

98H

SBUF

Буфер приемопередатчика

99H

PCON

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

87H

Примечание. Регистры, имена которых отмечены знаком (*), допускают адресацию отдельных бит.

В таблице 3 приводится перечень флагов ССП, даются их символические имена и описываются условия их формирования.


Таблица 3 - Формат слова состояния программы (ССП)

Символ

Позиция

Имя и назначение

C

PSW.7

Флаг переноса. Устанавливается и сбрасывается при выполнении арифметических и логических операций

AC

PSW.6

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

F0

PSW.5

Флаг 0. Может быть установлен, сброшен или проверен программой как флаг, специфицируемый пользователем

RS1

RS0

PSW.4

PSW.3

Выбор банка регистров. Устанавливается и сбрасывается программой для выбора рабочего банка регистров

OV

PSW.2

Флаг переполнения. Устанавливается и сбрасывается при выполнении арифметических операций

-

PSW.1

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

P

PSW.0

Флаг паритета. Устанавливается и сбрасывается каждом цикле команды и фиксирует нечетное/четное число единичных бит в аккумуляторе

Примечание

RS1

RS0

Банк

Границы адресов

0

0

0

00H-07H

0

1

1

08H-0FH

1

0

2

10H-17H

1

1

3

18H-1FH


Некоторые особенности программирования описанных регистров приводятся в литературе [1,3].


1.4 Система команд MK-51


Микроконтроллер имеет 111 базовых команд передачи данных, арифметических и побитных операций, передачи управления и операций с битами. Большинство команд выполняются за 1 или 2 машинных цикла при fтак=12Mгц и длительности машинного цикла 1 мкс. Первый байт команды всегда содержит код операции (КОП), второй и третий байты - либо адреса операндов, либо непосредственные операнды.




Рисунок 2 – Структурная схема микроконтроллера KP1816ВЕ51 (МК-51)


Перечень команд МК-51 приводится в таблице 4.


Таблица 4 - Система команд

Мнемокод

КОП

Мнемокод

КОП

Мнемокод

КОП

ACALL 0ххН

11

AJMP 5XXH

A1

DA A

D4

ACALL 1xxH

31

AJMP 6XXH

C1

DEC A

14

ACALL 2xxH

51

AJMP 7XXH

El

DEC ad

15

ACALL 3ххН

71

ANL A , ad

55

DEC R0

18

ACALL 4xxH

91

ANL A, R0

58

DEC R1

19

ACALL 5xxH

B1

ANL A, R1

59

DEC R2

1A

ACAlL 6xxH

D1

ANL A, R2

5A

DEC R3

1B

ACALL 7xxH

FI

ANL A, R3

SB

DEC R4



ADD A, ad

25

ANL A, R4

5C

DEC R5

1D

ADD A, R0

28

ANL A, R5

5D

DEC R6

1E

ADD A , R1

29

ANL A, R6

5E

DEC R7

1F

ADD A, R2

2A

ANL A, R7

5F

DEC @R0

16

ADD A, R3

2B

ANL A, @R0

56

DEC @R1

17

ADD A, R4

2C

ANL A, @R1

57

DIV AВ

84

ADD A, R5

2D

ANL A, #d

54

DJNZ ad, rel

D5

ADD A, R6

2E

ANL ad, A

52

DJNZ R0, rel

D8

ADDA, R7

2F

ANL ad, #d

S3

DJNZ R1, rel

D9

ADD A, @R0

26

ANL C, bit

82

DJNZ R2, rel

DA

ADD A, @R1

27

ANL C, /bit

BO

DJNZ R3, rel

DB

ADD A, #d

34

CJNE A, ad, rel

B5

DJNZ R4, rel

DC

ADDC A, ad

35

CJNE A, #d, rel

B4

DJNZ R5, rel

DD

ADDC A, R0

38

CJNE R0, #d, rel

B8

DJNZ R6, rel

DE

ADDC A, R0

39

CJNE R1, #d, rel

B9

DJNZ R7, rel

DF

ADDC A, RO

ЗА

CJNE R2, #d, rel

BA

INC a

04

ADDC A , R0

3B

CJNE R3, #d, rel

BB

INC ad

05

ADDC A, R0

ЗС

CJNE R4, #d, rel

ВС

INC DPTR

A3

ADDC A, R0

3D

CJNE R5, #d, rel

BD

INC R0

08

ADDC A, R0

3E

CJNE R6, #d , rel

BE

INC R1

09

ADDC A , R0

3F

CJNE R7 , #d, ret

BF

INC R2

OA

ADDC A, @R0

36

CJNE @R0, #d, rel

B6

INC R3

OB

ADDC A, @R1

37

CJNE @R1, #d, rel

B7

INCR4



ADDC A, #d

24

CLR A

E4

INC R5

0D

AJMP 0XXH

01

CLR bit

C2

INC R6

0E

AJMP 1XXH

21

CLR C

C3

INC R7

OF

AJMP 2XXH

41

CPL A

F4

INC @R0

06

AJMP 3XXH

61

CPL bit

B2

INC @R1

07

AJMP 4XXH

81

CPL С

B3

JB bit, rel

20













JBC bit, rel

10

Продолжение таблицы 2

Мнемокод

КОП

Мнемокод

КОП

Мнемокод

КОП

JC rel

40

MOV ad , @R0

86

MOV R7 , ad

AF

JMP@A+DPTR

73

MOV ad, @R1

87

MOV R7, #d

7F

JNB bit , rel

30

MOV ad, #d

75

MOV @R0 , A

F6

JNC rel

50

MOV ad, ads

85

MOV@R0, ad

A6

JNZrel

70

MOV bit, C

92

MOV@R0, #d

76

JZ rel

60

MOV C, bit

A2

MOV @R1 , A

F7

LCALL ad16

12

MOV DPTR, #dl6

90

MOV@R1, ad

A7

LJMP ad 16

02

MOV R0, A

F8

MOV @R1, #d

77

MOV A , ad

E5

МОV R0, ad

A8

MOVC A, @+DPTR

93

MOV A , RO

E8

MOV R0, #d

78

MOVC A , @+PC

83

MOV A, R1

E9

MOV R1 , A

F9

MOVX A , @DPTR

EO

MOV A , R2

EA

MOV R1 , ad

A9

MOVX A, @R0

E2

MOV A , R3

EB

MOV Rl , #d

79

MOVX A, @R1

E3

MOV A , R4

EC

MOV R2, A

FA

MOVX @DPTR, A

F0

MOV A , R5

ED

MOV R2, ad

AA

MOVX @R0 , A

F2

MOV A , R6

ЕЕ

MOV R2, #d

7A

MOVX @R1, A

F3

MOV A , R7

EF

MOV R3 , A

FB

MUL AB

A4

MOV A , @R0

Е6

MOV R3 , ad

AB

NOP

00

MOV A, @R1

E7

MOV R3 , #d

7B

ORL A , ad

45

MOV a , #d

74

MOV R4, A

FC

ORL A , R0

48

MOV ad , A

F5

MOV R4 , ad

AC

ORL A, R1

49

MOV ad , R0

88

MOV R4, #d

7C

ORL A, R2

4A

MOV ad , R1

89

MOV R5, A

FD

ORL A , R3

4B

MOV ad , R2

8A

MOV R5 , ad

AD

ORL A, R4

4C

MOV ad, R3

8B

MOV R5 , #d

7D

ORL A, R5

4D

MOV ad , R4

8C

MOV R6 , A

FE

ORL A, R6

4E

MOV ad , R5

8D

MOV R6, ad

AE

ORL A, R7

4F

MOV ad , R6

8E

MOV R6, #d

7E

ORL A, @R0

46

MOV ad , R7

8F

MOV R7 , A

FF

ORL A , @R0

47

ORL A, #d

44

RRC A

13

SUBB A , R7

9F

ORL ad , A

42

SETB bit

D2

SUBB A , @R0

96

ORL ad , #d

43

setb c

D3

SUBB A, @R1

97

ORL С , bit

72

SJMP rel

80

SWAP A

C4

ORL С, /bit

АО

SUBB A, ad

95

XCH A , ad

C5

POP ad

DO

SUBB A, R0

98

XCH A, R0

C8

PUSH ad

CO

SUBB A, R1

99

XCH A, R1

C9

RET

22

SUBB A , R2

9A

XCH A , R2

CA

RETI

32

SUBB A , R3

9B

XCH A , R3

CB

RL A

23

SUBB A, R4

9C

XCH A , R4

CC

RLC A

33

SUliB A , R5

9D

XCH A , R5

CD

RR A

03

SUBB A, R6

9E

XCH A , R6

CE

XCH A, R7

CF

XRL A, R1

69

XRL A , R7

6F

XCH A, @R0

06

XRL A,

6A

XRL A , @)R0

66

XCH A, @Rl

C7

XRL A, R3

6B

XRL A, @R1

67

XCHD A, @R0

D6

XRL A, R4

6C

XRL A, #d

64

XCHD A, @R1

D7

XRL A, R5

6D

XRL ad , A

62

XRL A, ad

65

XRL A , R6

6E

XRL ad, #d

63

XRL A, R0

68
















Программно-логическая модель МК-51 и работа с ней


Программно-логическая модель микроконтроллера K18I6BE51 реализуется с использованием PC. Программа SCM (Single-Chip Machine) представляет собой систему моделирования однокристальных микроконтроллеров.

Система моделирования Single-Chip Machine 1.22 предназначена для исследования поведения внутренних и внешних сигналов указанных микросхем.

Программа SCM (Single-Chip Machine) выполнена в виде независимого запускаемого модуля, работоспособного под управлением операционной системы MS Window NT/XP. SCM включает средства отладки и редактирования программ на ассемблере. Выполнение программы пользователя осуществляется с максимальным приближением к действительности с помощью имитационной модели. Кроме того, пользователю предоставляется такие средства, как временные диаграммы внутренних и внешних сигналов, имитация внешних сигналов, возможность изменения значений узлов МК в процессе работы модели и др.

Пользователь набирает программу в редакторе программ, затем нажимает кнопку “компиляция”. Текст программы переводится в машинные коды и записывается в одноименный файл (с исходным текстом) с расширением “.MPM”. Расширение “.MPM”, расшифровывается как Microcontroller Program Memory, однако существует стандартный формат представления памяти программ - так называемый формат HEX.

Программа обеспечивает: выполнение прикладной программы для ОЭВМ в пошаговом режиме, в режиме прогона с остановом по контрольным точкам; доступ ко всем внутренним ресурсам ОЭВМ, внешней памяти программ и данных.


2.1 Работа с памятью данных микроконтроллера K18I6BE51


Память данных представлена массивом размером 64К. Отображаемая страница памяти имеет 256 ячеек в шестнадцатиричных кодах.

3 Лабораторный практикум


3.1 Лабораторная работа № 1


Тема: Изучение управляющей программы эмулятора SCM и программно-логической модели KP1816ВЕ51


Цель: Получение практических навыков работы с программой эмулятора SCM


Ход работы:

Изучение программы эмулятора SCM.

Запуск программы. Знакомство и изучение основного меню программы, ознакомление с возможностями и способами редактирования внутренних и внешних ресурсов эмулятора.

Изучение процесса программирования микроконтроллера, ввода и отладки программ, и также их выполнения.

Запуск программы - эмулятора и практическое закрепление полученных знаний.


Содержание отчета:

1. Тема работы.

2. Цель работы.

3. Структурная схема ОЭВМ.

4. Выводы.


Контрольные вопросы:

1. Архитектура микроконтроллера. Основные узлы и блоки.

2. Максимальный объем ОЗУ и ПЗУ, используемый данным контроллером.

3. Способы редактирования с помощью программы - эмулятора ОЗУ, ПЗУ, системных ресурсов.

4. Команды выполнения программы. Результаты выполнения.

5. Возможности отладки МПУ.

Лабораторная работа № 2


Тема: Изучение команд передачи данных


Цель работы: Получение практических навыков по использованию команд передачи данных в программах для ОЭВМ


Ход работы:

1. Ознакомление с командами передачи данных.

2. Изучение особенностей организации памяти программ и данных в ОЭВМ типа К1816ВЕ31 и K1816BE51.

3. Изучение команд пересылки между регистрами микроконтроллера, регистрами и таймерами, аккумулятором и портами.

4. Составление программ на языке Ассемблера ОЭВМ, реализующих различные способы пересылки и адресации.


Содержание отчета:

1. Тема и цель работы.

2. Листинг отлаженной программы (с комментариями).

3. Выводы по работе.


Контрольные вопросы:

1. Между какими частями микроконтроллера осуществляется передача данных.

2. Методы адресации, используемые в ОЭВМ.

3. Типы портов микроконтроллера.

4. Как происходит адресация внешнего ОЗУ и ПЗУ?

5. Изобразить схему подключения внешнего ОЗУ и ПЗУ к микроконтроллеру. Какие сигналы для этого используются?

Лабораторная работа № 3


Тема: Изучение арифметических возможностей ОЭВМ и команд передачи управления


Цель работы: Ознакомление с арифметическими возможностями ОЭВМ. Получение практических навыков программирования МК


Ход работы:

1. Изучить набор команд МК по преобразованию данных и команд переходов. Обратить особое внимание на отличие набора этих команд от команд арифметики микропроцессора KP580BM80.

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


Содержание отчета:

1. Тема лабораторной работы и ее цель.

2. Листинг отлаженной программы (с комментариями).

3. Выводы сделанные по работе.


Контрольные вопросы:

1. Каково основное отличие команд арифметики МК от аналогичных команд МП?

2. В каких случаях применяют логические операции с содержимым портов?

3. Имеются ли команды работы с флагами?

4. Каким образом осуществляется программирование таймеров/счетчиков?

5. Как осуществляется работа с последовательным портом?

6. Для чего применяют команды переходов, и какими они бывают?

Примеры заданий

Задание 1

1. Осуществить очистку внутреннего ОЗУ (адресация ОЗУ 00Н - 1FH)


Вариант

Адрес

I

06Н - 1АН

II

12Н - 1EH

III

01Н - 1BH

IV

1AH - 1DН

V

A5H - ADН


Записать константы CD (I), ОЕ (II), 1А (III), 2А (IV) 98 (V) во внутреннее ОЗУ по адресам 18H - 19H.


2. Произвести очистку внутреннего ОЗУ и записать константы (по адресам 20Н - 7FH)


Вариант

Адрес

I

26Н - 4АН

II

5DH - 68Н

III

4ВН - 7FH

IV

20Н - 3FH

V

7AH - 8DН


3. Переписать содержимое регистров специальных функций во внутреннее ОЗУ


Вариант

Регистр - источник

Адрес ОЗУ

Примечание

I

PSW

25Н

адр. PSW - D0H - ССП

II

СР

ЗВН

адр, СР - 81Н - стек

III

DPTR

43Н

адр. DPTR - 82Н , 83Н

IV

АСС

53H

адр. АСС - Е0H - аккумулятор

V

RK

49H

См. таб.2 help


4. Прочитать из ОЗУ 16-разрядное число


Вариант

Адрес

I

07Н - 08Н

II

1CH- 1DH

III

4ЕН - 4FH

IV

71H-72H

V

5AH-5BH


и переслать в порты


Вариант

Порты

I

0 (80Н), 1 (90Н)

II

1 (90Н), 2 (А0Н)

III

0 (80Н), 3 (В0Н)

IV

1 (90Н), 3 (В0Н)

V

2 (А0Н), 0 (80Н)


5. Переписать содержимое портов


Вариант

Порт - источник

Порт - приемник

I

0

2

II

3

1

III

2

3

IV

1

0

V

3

0


6. Выдать содержимое источника в приемник


Вариант

Источник

Приемник

I

бит 4 аккумулятора

линия 5 порта 0

II

бит 3 аккумулятора

линия 3 порта 1

III

биты 6, 7 аккумулятора

линии 3, 4 порта 1

IV

регистр TCON (aдр. 88Н)

линии 0 - 4 порта 3

V

биты 1,3, 5 аккумулятора

линии 1, 3, 5 порта 2


Задание 2

1. Сложить два 8-разрядных числа Х и У


Вариант

X

Y

I

1ЕН

24Н

II

1FН

С5Н

III

5DH

20Н

IV

25Н

7ВН

V

8AН

CВН


Результат поместить:


Вариант

Внутреннее ОЗУ

Внутреннее ОЗУ

Порт

I

06Н

20Н

Р2

II

4ВН

68Н

Р0

III

72Н

2АH

P3

IV

3ЕН

В5Н

Р1

V

54Н

D0Н

Р2

2. Сложить два 16-разрядных числа Х и У


Вариант

X

Y

I

3А06H

2005Н

II

101FH

01A5H

III

302АН

A10DH

IV

0101H

040АН

V

5486H

DABАН

Результат поместить:


Вариант

Внутреннее ОЗУ

Порт

I

20Н

Р0, P1

II

4ВН

Р3 , Р0

III

5FH

Р0, Р2

IV

28Н

Р1, Р3

V

56H

Р2, Р3


3. Умножить 8-разрядные числа Х и У


Вариант

X

Y

I

А0Н

09Н

II

2ВН

7АН

III

1FH

6DH

IV

83Н

Е4Н

V

37Н

FAН


Результат поместить:


Вариант

Внутреннее ОЗУ

Порты

I

18Н

Р2,РЗ

II

0FH

Р0, Р1

III

3AН

Р1, Р3

IV

6DH

Р2, РЗ

V

7AH

Р0, Р1


4. Произвести вычитание 16-разрядных чисел А и В


Вариант

А

В

I

201FH

0145Н

II

7А04Н

150AH

III

9F1DH

70DEH

IV

660ВН

3A72H

V

7845Н

D976H


Результат поместить:


Вариант

Внутреннее ОЗУ

Порты

I

6DH

Р0, Р3

II

27Н

P1, Р0

III

4FH

P2, P1

IV

2ЕН

P3, P0

V

2AН

P1, P2


Задание 3

1. Задать массив (из 10 элементов) целых чисел в прямом коде, в дополнительном коде. Результат разместить в произвольной области памяти, чтобы массивы не перекрывались.

2. Первые числа обоих массивов передать на Р0, Р1. Подготовить передачу массивов данных на внешнее устройство через последовательный и параллельный порты.

Список использованных источников:


Сташин В. В. Проектирование цифровых устройств на однокристальных микроконтроллерах. - М.: «Энергоатомиздат», 1990. - 224 с.

Башков Е. А. Аппаратное и программное обеспечение зарубежных микроЭВМ: учебное пособие. - К.: «Высшая шк.», 1990. - 207 с.: ил.

Боборыкин А. В., Липовецкий Г. П., Литвинский Г. В.. Оксинь О. Н, и др. Однокристальные микроЭВМ: Справочник. - М.: «МИКАП», 1994. - 400 с.: ил.

Щелкунов Н. Н. .Дианов А. П. Микропроцессорные средства и системы. - М.: «Радио и связь». 1989.

Ахметов Р. Р., Бакин А. Д., Кабанов Н. Д. Однокристальные промышленные микроконтроллеры // Мир ПК. № 10, 1993.C.31-37.



еще рефераты
Еще работы по разное