Реферат по предмету "Коммуникации и связь"


Микроконтроллер семейства MCS-51

МИКРОКОНТРОЛЛЕРСЕМЕЙСТВА MCS–51
1. СТРУКТУРНАЯ СХЕМА МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS–51
Основой микроконтроллера (см. рис. 1) является 8–мибитовое Арифметическо–Логическое устройство (АЛУ). Память МК имеет Гарвардскуюархитектуру, т.е. логически разделена: на память программ – ПП (внутреннюю иливнешнюю), адресуемую 16–ти битовым счетчиком команд (СК) и память данных –внутреннюю (Резидентная память данных – РПД) 128 (или 256) байт, а такжевнешнюю (Внешняя память данных – ВПД) до 64 Кбайт. Физически память программреализована на ПЗУ (доступна только по чтению), а память данных – на ОЗУ(возможна запись и чтение данных).
Прием и выдача внешних сигналов осуществляется через 4восьмибитовых порта Р0… Р3. При обращении к внешней памяти программ (ВПП) илипамяти данных (ВПД) порты Р0 и Р2 используются как мультиплексированная внешняяшина Адрес/Данные. Линии порта Р3 могут выполнять также альтернативные функции(см. табл. 1).
16–ти битовый регистр DPTR формирует адрес ВПД илибазовый адрес Памяти программ в команде преобразования Аккумулятора. РегистрDPTR может также использоваться как два независимых 8–ми битовых регистра (DPLи DPH) для хранения операндов.
8–ми битовый внутренний регистр команд (РК) принимаеткод выполняемой команды; этот код дешифрируется схемой управления, которая генерируетуправляющие сигналы (см. рис. 1).
Обращение к регистрам специальных функций – РСФ (SFR –на рис. 1 они обведены пунктирной линией) возможно только с использованиемпрямой байтовой адресации в диапазоне адресов от 128 (80h) и более.

/>
Резидентная память данных (РПД) в первых моделяхмикроконтроллеров семейства MCS–51 имела объем 128 байт. Младшие 32 байта РПДявляются одновременно и регистрами общего назначения – РОН (4 банка по 8РОНов). Программа может обратиться к одному из 8–ми РОНов активного банка.Выбор активного банка РОНов осуществляется программированием двух бит врегистре состояния процессора – PSW.

Таблица 1 – Назначение выводов MCS–51№ выв. Обозначение Назначение 1..8 Р1[0..7] 8–ми битовый квазидвунаправленный порт ввода/вывода 9 RST
Сигнал сброса (активный уровень – высокий);
Сигнал RST обнуляет: PC и большинство Регистров Специальных Функций (SFR), запрещая все прерывания и работу таймеров; выбирает Банк РОНов 0; записывает в порты Р0_Р3 «все единицы», подготавливая их на ввод; записывает код 07H в указатель стека (SP); 10..17
P3[0..7]
P3[0]
P3[1]
P3[2]
P3[3]
P3[4]
P3[5]
P3[6]
P3[7]
8–ми битовый квазидвунаправленный порт ввода/вывода; после записи в соответствующий разряд «1» – выполняет дополнительные (альтернативные) функции:
Вход последовательного порта – RxD;
Выход последовательного порта – TxD;
Вход внешнего прерывания 0 – ~INT0;
Вход внешнего прерывания 1 – ~INT1;
Вход таймера/счетчика 0 – Т0;
Вход таймера/счетчика 1 – Т1;
Выход строб. сигнала при записи в ВПД – ~WR;
Выход строб. сигнала при чтении из ВПД – ~RD; 18, 19 X1, X2 Выводы для подключения кварцевого резонатора или LC–контура; 20 GND Общий вывод; 21..28 P2[0..7] 8–ми битовый квазидвунаправленный порт ввода /вывода; или выход адреса A[8_15] в режиме работы с внешней памятью (ВПП или ВПД); 29 PME Строб чтения Внешней Памяти Программ, выда–ется только при обращении к внешнему ПЗУ; 30 ALE Строб адреса Внешней памяти (ВПП или ВПД); 31 ЕА
Отключение РПП, уровень «0» на этом входе пе–реводит МК на выборку команд только из ВПП; 39..32 Р0[0..7] 8–ми битовый двунаправленный порт ввода/ вывода; при обращении к Внешней Памяти выдает адреса A[0_7] (которые записываются во внешний регистр по сигналу ALE), а затем обменивается байтом синхронно с сигналом ~PME (для команд) или ~WR,~RD (для данных в ВПД), при обращении к Внешней Памяти в регистр порта Р0 записываются все единицы, разрушая хранимую там информацию; 40 Ucc Вывод напряжения питания
Переключение банков РОНов упрощает выполнение подпрограмми обработку прерываний, т.к. не нужно пересылать в стек содержимое РОНовосновной программы при вызове подпрограммы (достаточно в подпрограмме перейти вдругой активный банк РОНов).
Обращение к РПД возможно с использованием косвеннойили прямой байтовой адресации (прямая байтовая адресация позволяет обратитьсятолько к первым 128-ми байтам РПД).
Расширенная область РПД (у микроконтроллеров семействаMCS-52 и последующих семейств) с адреса 128 (80h) до 255(FFh) может адресоваться только с использованием косвенного метода адресации.
Таблица 2 – Блок Регистров Специальных Функций (s f r)
Адрес
dir Мнемо–код Наименование 0E0h * ACC Аккумулятор 0F0h * B Регистр расширитель аккумулятора 0D0h * PSW Слово состояния процессора 0B0h * P3 Порт 3 0A0h * P2 Порт 2 90h * P1 Порт 1 80h * P0 Порт 0 0B8h * IP Регистр приоритетов прерываний 0A8h * IE Регистр маски прерываний 99h  SBUF Буфер последовательного приемо–передатчика 98h * SCON Регистр управления/статуса последовательного порта 89h  TMOD Регистр режимов таймеров/счетчиков 88h * TCON Регистр управления/статуса таймеров/счетчиков 8Dh  TH1 Таймер 1 (старший байт) 8Bh  TL1 Таймер 1 (младший байт) 8Ch  TH0 Таймер 0 (старший байт) 8Ah  TL0 Таймер 0 (младший байт) 83h  DPH Регистр–указатель данных (DPTR) (старший байт) 82h  DPL Регистр–указатель данных (DPTR) (младший байт) 81h  SP Регистр–указатель стека 87h  PCON Регистр управления мощностью потребления
2. ПРОГРАММНАЯ МОДЕЛЬ MCS–51
/>

/>
ТИПЫ КОМАНД MCS–51
Почти половина команд выполняется за 1 машинный цикл(МЦ). При частоте кварцевого генератора 12 МГц время выполнения такой команды –1 мкс. Остальные команды выполняются за 2 машинных цикла, т.е. за 2мкс. Толькокоманды умножения (MUL) и деления (DIV) выполняются за 4 машинных цикла.
За время одного машинного цикла происходит дваобращения к Памяти Программ (внутренней или внешней) для считывания двух байтовкоманды или одно обращение к Внешней Памяти Данных (ВПД).
3. МЕТОДЫ (СПОСОБЫ) АДРЕСАЦИИ MCS–51
1. РЕГИСТРОВАЯ АДРЕСАЦИЯ – 8–мибитовый операнд находится в РОНе выбранного (активного) банка регистров;
2 НЕПОСРЕДСТВЕННАЯ АДРЕСАЦИЯ(обозначается знаком – # ) – операнд находится во втором (а для 16–ти битовогооперанда и в третьем) байте команды;
3 КОСВЕННАЯ АДРЕСАЦИЯ (обозначаетсязнаком – @ ) – операнд находится в Памяти Данных (РПД или ВПД), а адрес ячейкипамяти содержится в одном из РОНов косвенной адресации (R0 или R1); в командахPUSH и POP адрес содержится в указателе стека SP; регистр DPTR может содержатьадрес ВПД объемом до 64К;
4 ПРЯМАЯ БАЙТОВАЯ АДРЕСАЦИЯ – (dir)– используется для обращения к ячейкам РПД (адреса 00h…7Fh) и к регистрамспециальных функций SFR (адреса 80h…0FFh);
5 ПРЯМАЯ БИТОВАЯ АДРЕСАЦИЯ – (bit) –используется для обращения к отдельно адресуемым 128 битам, расположенным в ячейкахРПД по адресам 20H…2FH и к отдельно адресуемым битам регистров специальныхфункций (см. табл. 3 и программную модель);
6 КОСВЕННАЯ ИНДЕКСНАЯ АДРЕСАЦИЯ (обозначается знаком – @ )– упрощает просмотр таблиц в Памяти Программ, адрес ППопределяется по сумме базового регистра (PC или DPTR) и индексного регистра(Аккумулятора);
7 НЕЯВНАЯ (ВСТРОЕННАЯ) АДРЕСАЦИЯ – вкоде команды содержится неявное (по умолчанию) указание на один из операндов(чаще всего на Аккумулятор).
4. ФОРМАТ СЛОВА СОСТОЯНИЯПРОЦЕССОРА (PSW)
/>
C – флаг переноса (CARY) или заема,выполняет также функции «булевого Аккумулятора» в командах,оперирующих с битами;
AC – флаг вспомогательного (дополнительного) переноса– устанавливается в «1», если в команде сложения (ADD, ADDC)был перенос из младшей тетрады в старшую (т.е. из 3-го бита в 4-й бит);
F0 – флаг пользователя – устанавливается, сбрасываетсяи проверяется программно;RS1 RS0 Банк Адрес (dir) 00h..07h 1 1 08h..0Fh 1 2 10h..17h 1 1 3 18h..1Fh
RS1,RS0 – Выбор банка регистров:
OV – Флаг арифметического переполнения; его значениеопределяется операцией «Исключающее ИЛИ» сигналов входного ивыходного переносов старшего разряда АЛУ; единичное значение этого флагауказывает на то, что результат арифметической операции в дополнительном кодевышел за допустимые пределы: –128…+127; при выполнении операции деления флаг OVсбрасывается, а в случае деления на ноль – устанавливается; при умножении флагOV устанавливается, если результат больше 255 (0FFH);
Разряд PSW[1] – Резервный, содержит триггер, доступныйпо записи или чтению;
P – флаг паритета – является дополнением количестваединичных битов в аккумуляторе до четного; формируется комбинационной схемой(программно доcтупен только по чтению).
В микроконтроллерах MCS-51отсутствует флаг «Z». Но в командах условного перехода (JZ, JNZ)проверяется комбинационной схемой текущее (нулевое или ненулевое) содержимоеАккумулятора.
Все команды пересылок и обмена операндов могутосуществляться через Аккумулятор (см. рис. 3). Причем пересылки из/в ВнешнейПамяти (Памяти Программ или Памяти Данных) могут осуществляться только черезАккумулятор.
Большинство пересылок могут осуществляться также черезпрямоадресуемый байт (dir). Существуют даже пересылки dir – dir(см. рис. 3).
Отсутствующие пересылки из РОНа в РОН могут бытьреализованы как пересылки из РОНа в прямоадресуемый байт dir(с учетом того, что РОНы расположены в начальной области Резидентной ПамятиДанных, ячейки которой могут адресоваться как dir).
Команды обмена XCH позволяют пересылать байты безразрушения обоих операндов.
Арифметические команды выполняются только вАккумуляторе. Поэтому первый операнд необходимо предварительно поместить вАккумулятор и потом сложить или вычесть второй операнд. Результат помещается вАккумулятор.

/>
Команда вычитание SUBB выполняетсятолько с заемом (т.е. из результата вычитается и флаг Сary). Поэтомудля выполнения команды вычитания без заема необходимо предварительно выполнитькоманду очистки флага С (CLR C).
Команда умножения однобайтовых операндов – MUL AB – размещаетдвухбайтовый (16 бит) результат: младший байт – в Аккумулятор, старший байт – врегистр В.
Результат выполнения команды деления однобайтовыхоперандов – DIV AB – помещается: частное – а Аккумулятор, остаток – в регистр В.
Арифметическая команда INC добавляет квыбранному операнду единицу. Арифметическая команда DEC вычитает извыбранного операнда единицу. Команда десятичной коррекции Аккумулятора ( DA A ) помогает складывать двоично-десятичные числа (BCD-числа)без перевода их в шестнадцатеричный формат (hex-формат).Исходные операнды должны быть обязательно в BCD-формате,т.е. в каждой тетраде одного байта находятся только числа от 0 до 9 (там немогут быть шестнадцатеричные числа: A, B, C, D, E, F).Поэтому в одном байте могут находиться числа от 00 до 99 для упакованных BCD-чисел или числа от 0 до 9 для неупакованных BCD-чисел.
Команда DA A – десятичной коррекции выполняет действиянад содержимым Аккумулятора после сложения BCD-чисел в процессоре (числаскладывались по законам шестнадцатеричной арифметики) следующим образом (см.пример):
/>
· если содержимое младшей тетрады Аккумуляторабольше 9 или установлен флаг вспомогательного переноса (AС = 1), то ксодержимому Аккумулятора добавляется 6 (т.е. недостающие шесть цифр в hex-формате);
· если после этого содержимоестаршей тетрады Аккумулятора больше 9 или установлен флаг C, то число 6добавляется к старшей тетраде Аккумулятора.
Команду десятичной коррекции DA A не применяют послекоманды инкремента (INC), потому что команда инкремента не влияет (не изменяет)на флаги С и АС.
Логические команды:
- логическое «И» – ANL,
- логическое «ИЛИ» – ORL,
- логическая команда «ИСКЛЮЧАЮЩЕЕИЛИ» – XRL – выполняютсяв Аккумуляторе (как и арифметические), но имеется возможность выполнитьлогические команды также и в прямоадресуемом байте (dir). При этомвторой операнд может быть:
- в Аккумуляторе или
- непосредственный операнд вкоманде.
Команды вращения (RR A, RL A) и команды вращения черезфлаг CARY (RRC A, RLC A) циклически сдвигают содержимое Аккумулятора на 1бит.ресылки битовых операндов осуществляются только через флаг С.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.