Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Микропроцессорные информационно-управлчющие системыСтр 1 из 12Следующая ⇒
МИКРОПРОЦЕССОРНЫЕ ИНФОРМАЦИОННО-УПРАВЛЧЮЩИЕ СИСТЕМЫ
Конспект лекций
Москва 2014 Микроконтроллеры серии 1830ВЕ51 Особенностью построения современных технических систем является автоматизация процессов контроля их состояния и управления их состоянием с помощью контроллеров (устройств управления). Для уменьшения аппаратных затрат при построении контроллеров и снижения их стоимости применяются однокристальные микроконтроллеры (серий 1816, 1830). Микросхемы серии 1816 выполнены по n-МОП технологии, 1830 – по КМОП, поэтому они имеют низкое энергопотребление. Различают два типа семейства 8-разрядных микроконтроллеров МК 48 и МК51. В настоящее время широко используются микроконтроллеры семейства МК51. В пределах каждого семейства микросхемы имеют одинаковые структурную организацию, систему команд, разводку выводов и, таким образом полностью совместимы. Микросхемы семейства МК51 по сравнению с МК48 имеют более сложную структурную организацию, больший объем памяти, быстродействие, последовательный интерфейс (для ввода и вывода данных в последовательной форме), расширенную систему команд (включающей команды по выполнению таких операций, как вычитание, умножение, деление и др.), большим числом портов для обмена данными с другими устройствами. Восьмиразрядные микро-ЭВМ семейства МК51 выполнены по n-МОП технологии (серия 1816) или по КМОП технологии (серия 1830) и предназначены для построения на их основе высокопроизводительных котроллеров, включаемых в контур управления объектом или процессом В состав семейства входит пять модификаций, имеющих одинаковые основные характеристики и различающиеся объемом встроенной памяти и мощности потребления. Микросхемы серии 1816 имеют мощность потребления приблизительно на порядок больше, чем серии 1830. Микро ЭВМ КР18ХХВЕ51 содержит на своем кристалле масочное ПЗУ емкостью 4096 байта, и рассчитана на применение в массовой продукции. ИС КР18ХХВЕ31 не содержит встроенной памяти программ, а ИС КМ 1816 ВЕ751 содержит РППЗУ с ультрафиолетовым стиранием емкостью 4096 байт и особенно эффективны на этапе разработки системы при отладке программ. Все перечисленные микросхемы являются аналогами БИС 8051, 80С51, 8031, 80С31 и 8751 семейства MCS фирмы Intel (США).
Блок управления Блок управления предназначен для выработки синхронизирующих и управляющих сигналов. В состав БУ входят: 1. Устройство выработки временных интервалов; 2. Логика ввода/вывода; 3. Регистр команд; 4. Регистр управления энергопотреблением; 5. Дешифратор команд; 6. ПЛМ и логика управления микро-ЭВМ. Устройство выработки временных интервалов предназначено для формирования внутренних синхросигналов, которые определяют продолжительность выполнения команд. Практически все команды выполняются за 1 или 2 машинных цикла, кроме команд умножения и деления (время выполнения последних составляет 4 машинных цикла). Машинный цикл включает в себя шесть состояний S1…S6, каждый из которых состоит из двух фаз Р1 и Р2. Длительность каждой фазы равна периоду следования синхроимпульсов, который задается частотой кварцевого резонатора, подключаемого к выводам XTAL1 и XTAL2 МК51, или резонансной частотой LC контура, или внешним генератором. Схема подключения элементов к МК51 показаны на рис. 1.3.
Рис. 1.3. Схема подключения цепей синхронизации к МК51 Все машинные циклы МК51 одинаковые и состоят из 12 периодов сигнала XTAL. Машинный цикл состоит из шести состояний S1…S6, каждый из которых включает в себя две фазы P1 и P2 (рис. 1.4). Длительность фазы равна периоду следования внешнего тактового сигнала. Рис. 1.4. Диаграмма формирования машинных циклов МК51 Дважды за машинный цикл формируется сигнал ALE, который используется в качестве стробирующего импульса, для записи младшей части адреса внешней памяти. Логика ввода/вывода предназначена для приема и выдачи сигналов, обеспечивающих обмен информацией МК51 с внешними устройствами через порты ввода/вывода Р0…Р3. Регистр команд предназначен для записи и хранения кода текущей команды. Команда с помощью дешифратора команд преобразовывается в 24-разрядный код управления ПЛМ. Последняя вырабатывает набор микроопераций в соответствии с микропрограммой выполняемой команды. Регистр команд программно недоступен. Регистр управления энергопотреблением (PCON) предназначен для управления последовательным портом и режимами энергопотребления МК51. В табл. 1.1 приведено обозначение разрядов PCON.
Таблица 1.1
Примечание: биты отмеченные звездочкой присутствуют только в МК51 серии 1830. Все биты регистра PCON доступны по записи и чтению. Бит SMOD управляет скоростью передачи через последовательный порт (при установке его в «1» скорость передачи удваивается). Бит PD при установке его в «1» переводит МК51 в режим микропотребления. Бит IDL равный «1» устанавливает режим холостого хода. Биты GF0 и GF1 – флаги общего назначения. Арифметико-логический блок Восьмиразрядный АЛБ предназначен для выполнения арифметических операций: сложение, вычитание, умножение и деление; логических операций: И, ИЛИ, исключающие ИЛИ, циклического сдвига, сброса, инвертирования и т.д. АЛБ включает в себя следующие функциональные узлы: 1. Восьмиразрядное ALU, которое позволяет выполнять арифметические и логические операции над 4 типами данных: булевскими (1 бит), цифровыми (4 бита), байтовыми (8 бит) и адресными (16 бит); 2. Аккумулятор – восьмиразрядный параллельный регистр, предназначенный для хранения одного из операндов АЛУ, приема результата арифметико-логической операции, ряда операций передачи данных. Кроме этого, операции сдвигов, проверка их на ноль, формирование флага паритета, выполняются только над содержимым Аккумулятора; 3. Регистр В – восьмиразрядный параллельный регистр, предназначенный для хранения второго операнда при выполнении операции умножения и деления. В остальных случаях может использоваться как любой другой программно доступный регистр; 4. Два восьмиразрядных, программно-недоступных, регистра временного хранения операндов Т1 и Т2; 5. Схема десятичной коррекции DCU; 6. Регистр признаков (PSW) – предназначен для хранения признаков (флагов), вырабатываемых АЛУ при выполнении многих операций. В табл.1.2 приведено мнемоническое имя, назначение и способ установки разрядов регистра PSW. Таблица 1.2
Флаг переполнения OV устанавливается, если возник перенос в знаковый разряд, а из знакового разряда перенос отсутствует (индикатор переполнения разрядной сетки) при выполнении операций сложение/вычитание. При выполнении операции деления флаг OV аппаратно сбрасывается, а в случае деления на ноль устанавливается. При выполнении операции умножения флаг OV аппаратно устанавливается, если результат больше 255.
Флаг Р является дополнением содержимого Аккумулятора до четности в девятиразрядном слове состоящем из восьми разрядов Аккумулятора и бита P, число один всегда четное. Если в Аккумуляторе все разряды установлены в ноль, то Р=0. Этот бит программно доступен только по чтению. Организация памяти программ Память программ МК51 может иметь емкость до 64 Кбайт (рис. 1.5) и предназначена для хранения команд, констант, управляющих слов инициализации, различных таблиц и т.п. Рис. 1.5. Адресное пространство памяти программ Обращение к RPM всегда осуществляется с помощью 16-ти разрядного адреса, который формируется счетчиком команд (PC) или регистром указателем данных (DPTR). Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами. Современные микроконтроллеры содержат на своем кристалле электрически стираемую резидентную память программ (EEPROM), емкость которой составляет 4 Кбайт. При этом емкость внешней памяти может достигать 60 Кбайт. Выбор памяти программ (резидентной или внешней) осуществляется с помощью входа EA. При подаче на этот вход логической 1 (EA=1) разрешена работа с обоими типами памяти. Если же на вход DEMA подан низкий уровень напряжения (EA=0), то разрешена работа только с внешней памятью программ. Для разрешения считывания байта из внешней памяти программ и ввода его в МК51 используется сигнал на выходе , который формируется дважды в течение каждого машинного цикла. Резидентная память данных Резидентная память данных состоит из двух областей: 128 байт оперативной памяти (ОЗУ) с адресами 00-7FH и области регистров специальных функций, занимающих адреса с 80Н по 0FFH. Распределение адресного пространства RDM показано на рис. 1.6. Младшие 32 байта ОЗУ данных сгруппированы в 4 банка (Банк 0...Банк 3). Команды программы могут обращаться к регистрам, используя их символические имена R0...R7. При этом в регистре PSW должны быть установлены биты RS0 и RS1, определяющие, к какому банку данных производится обращение. Такой механизм адресации позволяет экономить память программ. Следующие 16 байт ОЗУ допускают обращение к ним как в побайтном режиме, так и в побитном. Эта область ОЗУ используется МК51 при выполнении операций над битами. Каждый бит имеет свой адрес.
Обращение к RDM всегда осуществляется с использованием 8-разрядного адреса. При включении питания содержимое ОЗУ будет иметь случайный характер. Регистры специальных функций также имеют свои адреса, приведенные в табл. 1.3, а некоторые из них допускают побитовую адресацию.
Рис. 1.6. Карта адресов RDM Таблица 1.3. Адреса регистров специальных функций
Регистр указателя стека Регистр указателя стека SP МК51 восьмиразрядный. Он может адресовать любую область резидентной памяти данных. В отличие от микропроцессора К580ВМ80, в МК51 стек “растет вверх”, т.е. перед выполнением команды PUSH или CALL содержимое SP инкрементируется, после чего производится запись информации в стек. Соответственно при извлечении информации из стека регистр SP декрементируется после извлечения информации. В процессе инициализации микро-ЭВМ после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н. Таймеры/счетчики Таймер/счетчик (Т/С) предназначен для подсчета внешних событий, формирования программно-управляемых временных задержек и выполнения времязадающих функций МК51. В состав Т/С входят: 1. Два 16-разрядных регистра T/C0 и T/C1; 2. Восьмиразрядный регистр режимов (TMOD); 3. Восьмиразрядный регистр управления (TCON); 4. Схема инкремента; 5. Схема фиксации , , T0, T1; 6. Схема управления флагами; 7. Логика управления Т/C. Регистры T/C0 и T/C1 состоят из пары 8-разрядных регистров. Регистр T/C0 состоит из ТН0 и ТL0, а регистр T/C1 - ТН1 и ТL1. Регистры ТН0 и ТН1 - старшие, а ТL0 и ТL1 - младшие. Каждый 8-разрядный регистр имеет свой адрес и может использоваться как РОН, если Т/С не используются. Код величины начального счета заносится в Т/C программно. В процессе счета содержимое Т/C инкрементируется. Признаком окончания счета является переполнение регистра, т. е. переход из состояния все 1 в состояние все 0. Все регистры доступны для чтения и, при необходимости, контроль достижения заданной величины счета может выполняться программно.
Регистр режимов Т/C (TMOD) предназначен для приема и хранения кода, который определяет: - один из 4-х режимов работы Т/C; - работу в качестве таймера или счетчика; - управление Т/C от внешнего вывода. Обозначение разрядов регистра TMOD приведено в табл.1.4, а в табл.1.5 – их назначение. Таблица 1.4. Обозначение разрядов TMOD
Таблица 1.5
При работе в качестве таймера содержимое регистра Т/C инкрементируется в каждом машинном цикле, т. е. Т/C является счетчиком машинных циклов МК51 с частотой . При работе в качестве счетчика внешних событий содержимое Т/C инкрементируется после перехода из 1 в 0 сигнала на счетном входе Т0 или Т1. Так для распознавания такого перехода требуется два машинных цикла, то максимальная частота счета равна Чтобы уровень сигнала на счетном входе был гарантированно зафиксирован, он должен оставаться неизменным в течение одного машинного цикла. Регистр управления (TCON)предназначен для приема и хранения кода управляющего слова. Флаги переполнения TF0 и TF1 устанавливаются при переполнении соответственно Т/C0 и Т/С1. Если при этом разрешено прерывание от соответствующего Т/C, то установка флага вызовет прерывание. Сбрасываются флаги аппаратно при передаче управления программе обработке соответствующего прерывания. Обозначение разрядов регистра TCON приведено в табл. 1.6, а их назначение – в табл. 1.7. Таблица 1.6. Обозначение разрядов регистра TCON
Таблица 1.7. Назначение разрядов регистра TCON
Флаги TF0 и TF1 программно доступны и могут быть установлены/сброшены программой. Используя этот механизм, можно программно вызвать (установить TF) или отменить (сбросить TF) вызов подпрограммы прерываний. Флаги IE0, IE1 устанавливаются аппаратно от внешних источников прерываний, подключенных к внешним выводам , . Кроме этого их можно установить программно. Установка флагов IE0, IE1 приведет к вызову подпрограммы обработки прерываний, сброс этих флагов выполняется аппаратно при обслуживании прерывания, только в том случае, если прерывание было вызвано срезом сигнала (IT=1). Если прерывание было вызвано уровнем сигнала (IT=0) на входе INT, то сброс флага IE осуществляется источником прерывания под управлением подпрограммы обработки прерываний. Схема инкремента предназначена для увеличения на 1 содержимого Т/C, для которых разрешена работа в режиме таймера или счетчика внешних событий. Схема фиксации , , T0, T1 представляет собой 4 триггера, в которые записывается информация с этих выводов МК51. Схема управления флагами устанавливает или сбрасывает флаги переполнения Т/C и флаги запросов внешних прерываний. Логика управления Т/C синхронизирует работу регистров Т/C в соответствии с запрограммированным режимом работы. Порты МК51 Четыре двунаправленных порта Р0...Р3 предназначены для обмена информацией MK51 с внешними устройствами. Каждый из портов содержит 8-разрядный регистр-защелку, имеющий байтовую и битовую адресацию для установки (сброса) разрядов программным способом. Физические адреса регистров портов Р0...Р3 приведены в табл. 1.13. Таблица 1.13
Помимо работы в качестве обычных портов ввода/вывода линии портов Р0…Р3 могут выполнять ряд дополнительных функций, описанных ниже. Через порт Р0: 1. Выводится младший байт адреса А0...А7 при работе с ВПД и ВПП; 2. Выдается из МК51 и принимается в МК51 байт данных при работе с внешними памятью программ и данных, причем обмен данными и выдача адреса мультиплексированы во времени; 3. Задаются данные при программировании внутреннего ПЗУ и читается содержимое RPM. Через порт Р1 задается младший байт адреса при программировании внутреннего ПЗУ и при чтении RPM. Через порт Р2: 1. Выводится старший байт адреса А8...А15 при работе с ВПД и ВПП; 2. Задается старший байт (разряды А8...А14) адреса при программировании внутреннего ПЗУ и при чтении RPM. Альтернативные функции линий порта Р3 приведены в табл. 1.14
Таблица 1.14
Альтернативная функция любой линии порта Р3 реализуется только в том случае, если в соответствующем этой линии разряде регистра-защелки записана 1. Команды пересылки данных В группу команд пересылки данных входит 28 команд, краткое описание которых, а также их количество байт и время выполнения приведено в табл. 1.16. Таблица 1.16. Команды пересылки данных
По команде MOV выполняется пересылка данных из второго операнда в первый. Эта команда не имеет доступа ни к внешней памяти данных, ни к памяти программ. Для этих целей предназначены команды MOVX и MOVC соответственно. Первая из них обеспечивает чтение/запись байт из внешней памяти данных, вторая – чтение байт из памяти программ. По команде XCH выполняется обмен байтами между аккумулятором и ячейкой РПД, а по команде XCHD – обмен младшими тетрадами (битами 0…3). Команды PUSH и РОР предназначены соответственно для записи данных в стек и их чтения из стека. Размер стека ограничен лишь размером резидентной памяти данных. В процессе инициализации микро-ЭВМ после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н. Группа команд пересылок МК51 имеет следующую особенность – в ней нет специальных команд для работы со специальными регистрами: PSW, таймером, портами ввода-вывода. Доступ к ним, как и к другим регистрам специальных функций, осуществляется заданием соответствующего прямого адреса, т.е. это команды обычных пересылок, в которых вместо адреса можно ставить название соответствующего регистра. Например, чтение данных из порта Р1 в аккумулятор может быть выполнено командой MOV A, P1. Кроме того, следует отметить, что в МК51 аккумулятор имеет два различных имени в зависимости от способа адресации: А – при неявной адресации (например, MOV A, R0) и АСС – при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим. Команды логических операций В данную группу входят 25 команды, краткое описание которых приведено в табл. 1.18. Кроме этого в таблице приведены данные о длине команды в байтах и время ее выполнения в машинных циклах.
Таблица.1.18. Логические операции
Команды операций над битами Группа состоит из 12 команд, краткое описание которых приведено в табл. 1.19. Таблица.1.19. Операции с битами
Эти команды позволяют выполнять операции над отдельными битами: сброс, установку, инверсию бита, а также логические И (/\) и ИЛИ (\/). В качестве "логического" аккумулятора, участвующего во всех операциях с двумя операндами, выступает признак переноса С (разряд D7 PSW), в качестве операндов могут использоваться 128 бит из резидентной памяти данных и регистры специальных функций, допускающие адресацию отдельных бит. Команды передачи управления В группу команд передачи управления входят команды безусловного и условного переходов, вызова подпрограмм и возврата из них, краткое описание которых приведено в табл. 1.20. Кроме этого в таблице приведены данные о длине команды в байтах и время ее выполнения в машинных циклах. Таблица.1.20. Команды передачи управления
Команда безусловного перехода LJMP (L – long – длинный) осуществляет переход по абсолютному 16-битному адресу, указанному в теле команды, т. е. команда обеспечивает переход в любую точку памяти программ. Действие команды AJMP (А – absolute – абсолютный) аналогично команде LJMP, однако в теле команды указаны лишь 11 младших разрядов адреса. Поэтому переход осуществляется в пределах страницы размером 2 Кбайт, при этом надо иметь в виду, что сначала содержимое счетчика команд увеличивается на 2 и только потом заменяются 11 разрядов адреса. В отличие от предыдущих команд, в команде SJMP (S – short – короткий) указан не абсолютный, а относительный адрес перехода. Величина смещения reI рассматривается как число со знаком, а, следовательно, переход возможен в пределах – 128...+127 байт относительно адреса команды, следующей за командой SJMP. Команда косвенного перехода JMP @A+DPTR позволяет вычислять адрес перехода в процессе выполнения самой программы. Командами условного перехода можно проверять следующие условия: - JZ — аккумулятор содержит нулевое значение; - JNZ — аккумулятор содержит не нулевое значение - JC — бит переноса С установлен; - JNC — бит переноса С не установлен; - JB — прямо адресуемый бит равен 1 - JNB — прямо адресуемый бит равен 0; - JBC — прямо адресуемый бит равен 1 и сбрасывается в нулевое значение при выполнении команды. Все команды условного перехода содержат короткий относительный адрес, т. е. переход может осуществляться в пределах—128... +127 байт относительно следующей команды.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 526; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.108.241 (0.09 с.) |