Семейства MCS–51 Микроконтроллеры (ОЭВМ) семейства MCS–51 Архитектура Компьютеров2011.

Презентация:



Advertisements
Похожие презентации
1 Лекция 5 ТЕМА 2 Универсальные микроконтроллеры 2.1 Семейство Intel MCS-51 Лектор: Люличева И.А.
Advertisements

С ИСТЕМА КОМАНД ЕОМ. С ТРУКТУРА ТА ФОРМАТИ КОМАНД.
Микропроцессорные системы ЭФУ АРХИТЕКТУРА 8-РАЗРЯДНОГО МИКРОПРОЦЕССОРА.
УСТРОЙСТВА ИНТЕРФЕЙСА МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS-51 Архитектура Компьютеров2011.
Регистры общего назначения – сумматор, регистр данных, адресный регистр и т.д. Арифметико- логическое устройство Устройство управления
ПОДСИСТЕМА ВВОДА-ВЫВОДА 1. Общие принципы организации ввода-вывода 2 Систему ВВ можно представить в виде пространства ВВ IOSEGment и ряда команд ВВ. Пространство.
Лекция 6. Способы адресации в микропроцессорных системах.
Организация обмена информацией Функции устройств магистрали.
Система команд процессора. Система команд процессора включает в себя четыре основные группы команд: команды пересылки данных; арифметические команды;
Учебный курс Принципы построения и функционирования ЭВМ Лекция 10 Типы адресации. Стеки. Процессоры. ОЗУ. профессор ГУ-ВШЭ, доктор технических наук Геннадий.
Тема 2. Способы адресации и система команд МП. Непосредственная адресация Суть способа. Требуемые данные (#data ̶ непосредственный операнд, константа)
Микроконтроллеры AVR семейства Mega. Отличительные особенности FLASH-память программ объемом от 8 до 256 Кбайт (число циклов стирания/записи не менее.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Микропроцессоры Лекция 6. СТРУКТУРА ЭЛЕМЕНТАРНОГО МИКРОПРОЦЕССОРА (ЭМП) Основным устройством всех цифровых систем (ЦС) является центральный процессор.
Архитектура ЭВМ Практика 3. Линейные программы на языке ассемблера.
Микропроцессоры Архитектура ЭМП Лекция 9. Архитектура ЭМП В предыдущем параграфе мы изучили схему выводов и их назначение у типового микропроцессора.
Учебный курс Введение в цифровую электронику Лекция 6 Программирование микропроцессорной системы кандидат технических наук, доцент Новиков Юрий Витальевич.
Микропроцессорные системы АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА 8051 © В.В. Сивченко, ст. преп. каф. ИСКТ ВГУЭС.
Обобщенная структура и алгоритм работы МП системы CPU МП ПЗУ ОЗУ УВВn УВВ1 ГТИ f clk ША ШД ШУ ША.
ОДНОКРИСТАЛЬНЫЕ МИКРОЭВМ ТИПА МК 51 МК 51 это серия с ядром 80 С 51 В. В странах СНГ МК 51 выпускаются на базе n-МОП технологии (серия 1816) и КМОП технологии.
Транксрипт:

семейства MCS–51 Микроконтроллеры (ОЭВМ) семейства MCS–51 Архитектура Компьютеров2011

ОСНОВНЫЕ ТЕМЫ ЛЕКЦИИ Отличительные особенности МК семейства MCS-51. Структурная схема МК семейства MCS-51. Программная модель МК семейства MCS-51. Система команд МК семейства MCS-51. Программирование на языке Ассемблера MCS-51. Архитектура Компьютеров2011

ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ МК СЕМЕЙСТВА MCS-51 Контрол- лер 80С51 87С51 80С52 87С52 80С54 87С54 80C51FA 87C51FA 83С51GB 87C51GB ROM 4КБайт8КБайт16КБайт8КБайт RAM128 Байт256 Байт F max 12 МГц Т/C Порта 3 бита защиты Т/С с инкр. и декрем. Модуль РСА АЦП (8кан / 8разр)

В новом семействе микроконтроллеров MCS–151 введены: конвейер команд, режим страничной адресации памяти и др. В результате при конвейерной выборке в пределах одной страницы время выполнения команды составляет два периода частоты задающего кварцевого генератора (вместо 12 периодов у предыдущего семейства MCS–51). В микроконтроллерах нового поколения семейства MCS-251 система команд дополнена инструкциями, оперирующими 16-ти и 32-х разрядными операндами

Структурная схема микроконтрол- леров (ОЭВМ) семейства MCS-51

Основой микроконтроллера является 8–ми битовое Арифметическое–Логическое устройство (АЛУ). Память МК логически разделена: на память программ – ПП (внутреннюю или внешнюю), адресуемую 16–ти битовым счетчиком команд (СК) и память данных – внутреннюю (Резидентная память данных – РПД) 128 (или 256) байт а также внешнюю (Внешняя память данных – ВПД) до 64 Кбайт. Физически память программ реализована на ПЗУ (доступна только по чтению), а память данных – на ОЗУ (возможна запись и чтение данных). Прием и выдача внешних сигналов осуществляется через 4 восьмибитовых параллельных порта Р0..Р3. При обращении к внешней памяти программ (ВПП) или памяти данных (ВПД) порты Р0 и Р2 используются как мультиплексированная внешняя шина Адрес/Данные. Линии порта Р3 могут выполнять также альтернативные функции

16–ти битовый регистр DPTR формирует адрес Внешней Памяти Данных (ВПД) или базовый адрес Памяти Программ в команде преобразования Аккумулятора. Регистр DPTR может также использоваться как два независимых 8-ми битовых регистра (DPL и DPH) для хранения операндов. Обращение к регистрам специальных функций – РСФ (SFR) возможно только с использованием прямой байтовой адресации в диапазоне адресов от 128 (80h) и более.

Адрес Мнемокод Наименование 0E0h* ACCАккумулятор 0F0h* BРегистр расширитель аккумулятора 0D0h* PSWСлово состояния процессора 0B0h* P3Порт 3 0A0h* P2Порт 2 90h* P1Порт 1 80h* P0Порт 0 99h SBUFБуфер последовательного приемо–передатчика 98h* SCONРегистр управления/статуса последовательного порта 8Ch TH0Таймер 0 (старший байт) 8Ah TL0Таймер 0 (младший байт) 83h DPHРегистр–указатель данных (DPTR)(старший байт) 82h DPLРегистр–указатель данных (DPTR)(младший байт) 81h SPРегистр–указатель стека Блок Регистров Специальных Функций (S F R)

00hR0 R7 08hR0 R7 10hR0 R7 18hR0 R7 Банк РОНов 3 Банк РОНов 2 Банк РОНов 1 Банк РОНов 0 20h 30h 2Fh 7Fh 0F0h Регистр В 0Е0h Регистр АСС 0В8h IP 0В0h Порт P3 0A8h IE 0A0h Порт P2 98h SCON 90h Порт P1 88h TCON 80h Порт P0 Адреса РПД Адреса РСФ Программная модель микроконтрол- леров семейства MCS-51 Карта прямоадресу- емых бит

МЕТОДЫ (СПОСОБЫ) АДРЕСАЦИИ MCS-51 РЕГИСТРОВАЯ АДРЕСАЦИЯ – 8–ми битовый операнд находится в РОНе выбранного банка регистров: inc R1 ;add A,R5 ;mov R3,A. НЕПОСРЕДСТВЕННАЯ АДРЕСАЦИЯ – операнд находится во втором (а для 16–ти битового операнда и в третьем) байте команды: add A,#25 ;mov R2,#10h ; mov DPTR,#1020h. КОСВЕННАЯ АДРЕСАЦИЯ – операнд находится в Памяти Данных (РПД или ВПД), а адрес ячейки памяти содержится в одном из РОНов косвенной адресации (R0 или R1); в командах PUSH и POP адрес содержится в указателе стека SP; регистр DPTR может содержать адрес ВПД объемом до 64К: mov ; add

ПРЯМАЯ БАЙТОВАЯ АДРЕСАЦИЯ – (dir) – используется для обращения к ячейкам РПД (адреса 00h…7Fh) и к регистрам специальных функций SFR (адреса 80h…0FFh); mov R4,5 ; add A,P0 ; anl B,#0Fh ; push ACC. ПРЯМАЯ БИТОВАЯ АДРЕСАЦИЯ – (bit) – используется для обращения к отдельно адресуемым 128 битам, расположенным в ячейках РПД по адресам 20H…2FH и к отдельно адресуемым битам регистров специальных функций; setb P1.4 ; orl C,ACC.5 ;mov F0,C. МЕТОДЫ (СПОСОБЫ) АДРЕСАЦИИ MCS-51

КОСВЕННАЯ ИНДЕКСНАЯ АДРЕСАЦИЯ – упрощает просмотр таблиц в Памяти Программ, адрес ПП определяется по сумме базового регистра (РС или DPTR) и индексного регистра (Аккумулятора): movc ;movc НЕЯВНАЯ (ВСТРОЕННАЯ) АДРЕСАЦИЯ – в коде команды содежится неявное (по умолчанию) указание на один из операндов (чаще всего на Аккумулятор или флаг С) : da A ;rrc A ;clr A ; clr C. (при встроенной адресации Аккумулятор обозначается – А, при прямой байтовой или битовой адресации – АСС)

ФОРМАТ СЛОВА СОСТОЯНИЯ ПРОЦЕССОРА (PSW) Прямой байтовый адрес PSW :dir – 0D0h. Адресация отдельных бит PSW :bit – 0D0h_0D7h. 0D7h0D6h0D5h0D4h0D3h0D2h0D1h0D0h CACF0RS1RS0OVP bit PSW C – флаг переноса, выполняет также функции «Булевого Аккумулятора» в командах, оперирующих с битами; AC – флаг вспомогательного (дополнительного) переноса; F0 – флаг пользователя – устанавливается, сбрасывается и проверяется программно;

RS1RS0БанкАдрес (dir) 00000h – 07h 01108h – 0Fh 10210h – 17h 11318h – 1Fh RS1, RS0 – Выбор банка регистров: OV – Флаг арифметического переполнения; его значение определяется операцией "Исключающее ИЛИ" сигналов входного и выходного переносов старшего разряда АЛУ; единичное значение этого флага указывает на то, что результат арифметической операции в дополнительном коде занял знаковый разряд; при выполнении операции деления флаг OV сбрасывается, а в случае деления на ноль – устанавливается; при умножении флаг OV устанавливается, если результат больше 255 (0FFH);

Разряд PSW[1] – Резервный, содержит триггер, доступный по записи или чтению; P – флаг паритета – является дополнением аккумулятора до четности; формируется комбинационной схемой (программно доcтупен только по чтению). В микроконтроллерах MCS-51 отсутствует флаг «Z». Но в командах условного перехода (JZ, JNZ) проверяется комбинационной схемой текущее (нулевое) содержимое Аккумулятора

Граф команд пересылки, обмена и загрузки П В П Д АККУМУЛЯТОР Rn#DAT РПД Р П Д, Регистры SFR, Порты DPTR #16D [bit] DPTR Ri ) (dir)

Команды пересылки, обмена и загрузки mov A,R3 ; переслать из рег. R3 в Аккумулятор mov R1,5 ; переслать из рег. R5 в рег. R1 mov R1,#5 ; записать в R1 число «5» ; переслать из Аккумулятора в РПД ; записать в РПД число «10» mov P1,A ; переслать из Аккумулятора в порт Р1 mov P3,#0Fh ; записать в порт Р3 число «15» mov TL0,P2 ; переслать из порта Р2 в младший байт ; нулевого таймера mov DPTR,#1234h; записать в рег. DPTR число 1234h ; переслать из порта Р0 в РПД

Команды пересылки, обмена и загрузки push ACC ; сохранить в стеке Аккумулятор pop B ; восстановить из стека регистр В xch A,R2 ; обменять содержимое Акк. и рег. R2 xch A,P0 ; обменять содержимое Акк. и порта Р0 swap A ; обмен тетрад Аккумулятора xchd ; обмен младших тетрад Акк. и РПД movx ; пересылка из Внешней ПД в Акк. ; пересылка из Акк. во Внешнюю ПД movc ; преобразование Аккумулятора ; (аналог XLAT).

АРИФМЕТИЧЕСКИЕ КОМАНДЫ add A,R5 ; add ; add A,P2 ; add A,#20 ; addc A,R2 ; addc ; addc A,B ; addc A,#10 ; subb A,R1 ; subb ; subb A,30h ; subb A,#20h ; Перед командой subb необходимо выполнить команду clr C inc R6 ; ; inc P0 ; inc A ; inc DPTR; dec R0 ; ; dec TL0 ; dec A ; mul AB ; div AB ; da A.

Выполнение команды da A Команда da A – десятичная коррекция аккумулятора после сложения BCD-чисел выполняет действия над содержимым Аккумулятора : CA = Если младшая тетрада результата больше 9 или установлен флаг вспомага- тельного переноса СА, то к младшей тетраде добавля- ется 6. Если после этого старшая тетрада больше 9 или установлен флаг переноса С, то к старшей тетраде добавляется 6

ЛОГИЧЕСКИЕ КОМАНДЫ anl A,R5 ; anl ; anl A,P2 ; anl A,#20 ; anl P0,#0Fh ; anl B,A ; orl A,R5 ; orl ; orl A,P2 ; orl A,#20 ; orl P0,#0Fh ; orl B,A ; xrl A,R5 ; xrl ; xrl A,P2 ; xrl A,#20 ; xrl P0,#0Fh ; xrl B,A ; rr A rrc A rl A rlc A Вращать можно только Аккумулятор и только на один бит

ОПЕРАЦИИ С БИТАМИ clr ACC.3 ; setb P1.7 ; cpl B.2 ; clr C ; setb C ; cpl C ; mov C,ACC.7 ; mov PSW.1,C ; anl C,ACC.0 ; orl C,P3.1 ; anl C, /B.0 ; orl C, /P2.1 ;

КОМАНДЫ БЕЗУСЛОВНЫХ ПЕРЕХОДОВ Длинный переход (64 КБайт) ljmp m1 Абсолютный переход (2 КБайт) ajmp m2jmp m4 Относительный переход (+_127 Байт) sjmp m3 Длинный вызов ПП (64 Кбайт) lcall m1 Абсолютный вызов ПП (2 Кбайт) acall m2 call m4 Возврат из ПП ret Возврат из ПП обработки прерываний reti

КОМАНДЫ УСЛОВНЫХ ПЕРЕХОДОВ jc m1 ;jz m3 ; jnc m2 ;jnz m4 ; jb ACC.1,m1 ;jbc B.5,m3 ; jnb P1.3,m2 ; djnz R2,m5 djnz 35,m6 cjne A,#22,m2 cjne R2,#15,m5 cjne A,B,m3 Все команды условных переходов осуще- ствляют относительный переход со смещением +_127 Байт

ПРОГРАММИРОВАНИЕ MCS-51 ЗАДАНИЕ 1. Переслать содержимое нулевого Банка РОНов в ВПД, начиная с адреса 5000h : movPSW, #08h ; Выбор 1-го Банка РОНов movR2, #8 ; Счетчик циклов R2 movDPTR, #5000h ; Начальный адрес DPTR movR0, #0 ; Начальный адрес Банка 0 met: mov ; Пересылка байта из РОНа A ; в ВПД incDPTR ; Наращивание адреса ВПД incR0 ; Наращивание адреса РПД djnzR2, met ; Уменьшение счетьчика и повтор

ЗАДАНИЕ 2. Программа обработки прерываний должна начинаться сохранением в стеке содержимого регистров : ACC, B, PSW, DPTR и переходом к Банку РОНов 1. Перед окончанием подпрограммы восстанавливаются исходные значения регистров : subint: push PSW ; Сохранение в стеке PSW pushACC ; Сохранение в стеке Аккумулятора ; (Обратить внимание на прямую байтовую адресацию Акк.) pushB ; Сохранение в стеке В pushDPL ; Сохранение в стеке DPTR pushDPH ; movPSW, #08h ; Выбор Банка РОНов * * * * * *

Указатель стека SP -> Инициализация стека -> * * * * * * popDPH ; Восстановление DPTR popDPL ; popB ; Восстановление В popACC ; Восстановление Аккумул. popPSW ; Восстановление PSW reti Возврат в нулевой Банк РОНов происходит при восста- новлении из стека PSW. DPH DPL B ACC PSW PCH PCL

ЗАДАНИЕ 3. Перевести однобайтовый шестнадцатеричный операнд в двоично-десятичный упакованный формат (BCD-код). Исходный операнд находится в R5. Результат поместить в R6 (число сотен) и в R5 (десятки, единицы) : movA, R5 ; Пересылка операнда в Акк. movB, #100 ; Делитель 100 B divAB ; Акк. Содержит число сотен movR6, A ; Пересылка числа сотен R6 movA, B ; Пересылка остатка Акк. movB, #10 ; Делитель 10 B divAB ; Десятки Акк., единицы B swapA ; Пересылка десятков в старшую тетраду addA, B ; Пересылка единиц Акк. movR5, A ; Пересылка результата R5

ЗАДАНИЕ 4. Перевести однобайтовый двоично- десятичный операнд (BCD-код) в шестнадцатеричный. Исходный операнд находится в R5. Результат поместить в Акк. : movA, R5 ; Пересылка операнда Акк. anlA, #0Fh ; Выделение младшей тетрады xchA, R5 ; Младшую тетраду R5 anlA, #0F0h ; Выделение старшей тетрады swapA ; Перестановка тетрад movB, #10 ; Множитель 10 B mulAB ; Десятки исходного числа Акк. addA,R5 ; Результат Акк.

Вопросы для экспресс-контроля Основные отличительные особенности МК семейства MCS-51. Назовите основные компоненты структурной схемы МК семейства MCS-51. Распределение памяти данных MCS-51. Распределение памяти программ MCS-51. Флаги MCS-51. Слово состояния процессора MCS- 51. Система команд MCS-51. Типы команд. Методы адресации MCS-51.

Лекция окончена СПАСИБО ЗА ВНИМАНИЕ