Реферат: Семейство однокристальных 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АН
4К
128
12
150
KМ1816ВЕ751
875IAH
4К
128
12
220
KР1830ВЕ31
80C3IBH
128
12
18
KP1830BE51
80С51ВН
4К
128
12
18
KР1835BE51
80С51BU
4К
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
1С
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
0С
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.
еще рефераты
Еще работы по разное
Реферат по разное
Проектирование алгоритмического и программного
18 Сентября 2013
Реферат по разное
Iii модели и организационные механизмы нормативно-подушевого финансирования высшего профессионального образования РФ
18 Сентября 2013
Реферат по разное
Система нормативных документов в строительстве
18 Сентября 2013
Реферат по разное
О. Н. Наумова Проректор по учебной работе гоу впо «Тольяттинский государственный университет сервиса», г. Тольятти naumovaon@tolgas ru
18 Сентября 2013