Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Основы микропроцессорной техникиСтр 1 из 12Следующая ⇒
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
Конспект лекций
Москва 2013
ОРГАНИЗАЦИЯ МИКРОПРОЦЕССОРОВ И МИКРОПРОЦЕССОРНЫХ СИСТЕМ МИКРОПРЦЕССОРНЫЕ СИСТЕМЫ НА ОСНОВЕ МИКРОПРОЦЕССОРНОГО КОМПЛЕКТА СЕРИИ К580 Состав микропроцессорного комплекта МПК серии К580 содержит набор БИС для построения микропроцессорных систем невысокого быстродействия, работающих с тактовой частотой до 2,5 МГц. С использованием этого МПК строятся микропроцессорные системы (МПС), решающие задачи управления различными технологическими процессами. Комплект имеет следующие особенности. В нем предусмотрена БИС центрального процессора, содержащая в одной микросхеме операционное и управляющее устройства, что существенно упрощает построение микропроцессорной системы. Кроме того, для облегчения программирования при управлении микросхемами МПК применяется фиксированный набор команд, что приводит к снижению быстродействия микропроцессорной системы. Это связано с тем, что предложенный набор команд может оказаться недостаточным для решения конкретной задачи. Ряд микросхем, входящих в состав МПК, выполнены по n-МОП технологии, другие - по технологии ТТЛШ. Однако независимо от технологии изготовления все входные и выходные сигналы микросхем серии К580 соответствуют уровням логических схем ТТЛ – технологии, что упрощает согласование с микросхемами ТТЛ – технологии любых серий. Все микросхемы МПК могут работать в диапазоне температур от -10° С до + 70° С. Микросхема К580ВМ80А требует трех источников напряжения:питания: +5 В, -5 В и +12 В, микросхема К580ГФ24 – двух источников: +5 В и +12 В, остальные микросхемы – одного источника: +5 В. В таблице 2.1 приведен состав микропроцессорного комплекта серии К580. Таблица 2.1 Состав микропроцессорного комплекта
Блок регистров
Микропроцессор К580 содержит программно-доступные 8-разрядные регистры общего назначения (РОН) и 16-разрядные специализированные регистры: счетчик команд и регистр-указатель стека. Кроме того, имеются непосредственно недоступные программе регистры: 8-разрядные регистры временного хранения W, Z и 16-разрядный регистр адреса. Регистры общего назначения B, C, D, E, H, L используются для хранения операндов, промежуточных и конечных результатов, а также адресов и индексов при косвенной и индексной адресации. Для выполнения операций со словами двойной длины и операций формирования и пересылок двухбайтных адресов имеется возможность оперировать с содержимым пар регистров BC, DE, HL.
Особенность блока регистров МП является наличие в его составе схемы инкремента/декремента (INC/DEC), которая производит над содержимым счетчика команд (PC) и регистра-указателя стека (SP) операцию прибавления/вычитания 1 без привлечения АЛУ. Счетчик команд (16-ти разрядный регистр) предназначен для хранения адреса команды; после выборки из оперативной памяти текущей команды содержимое счетчика увеличивается на единицу и таким образом формируется адрес очередной команды (при отсутствии безусловных и условных переходов). Указатель стека (16-ти разрядный регистр) служит для адресации стековой памяти. В МП К580 используется «перевернутый» стек, т.е. при передаче в стек слова значение указателя стека (адрес вершины стека) уменьшается, а при извлечении слова из стека увеличивается. Стековая адресация широко используется при работе с подпрограммами и в процедурах прерывания. Для кратковременного хранения некоторых операндов и результатов выполнения операций служат регистры временного хранения данных W, Z. Использование регистров временного хранения позволяет МП за один цикл выполнения команды реализовать, например, такую операцию, как обмен содержимым двух регистров. В состав блока регистров входит регистр адреса памяти (RA), предназначенный для хранения адреса ячейки памяти, в которой записана текущая команда. Регистр адреса недоступен программисту. Однако любая пара регистров (BC, DE, HL) может быть использована для задания адресов команд и данных в программе. Буферные схемы Двунаправленный буфер шины данных предназначен для логического и электрического разделения внутрипроцессорной шины данных и внешней, системной шины данных. Буфер состоит из регистра-защелки и выходной схемы с тремя состояниями, т.е. схемы обеспечивающей на выходе состояния 0, 1 и полное отключение от нагрузки (высокоимпедансное состояние). В режиме ввода информации внутренняя шина данных подключается к регистру-защелке буфера, загрузку которого из внешней шины производит буферная схема под управлением команды. В режиме вывода информации буферная схема передает в шину данных содержимое буферного регистра-защелки, на вход которого по внутренней шине с одного из регистров загружена информация, подлежащая выдаче. Во время выполнения операций в МП, не связанных с процедурами обмена с внешними устройствами буферная схема отключается от шины данных. Во время выполнения операций в МП не связанных с процедурами обмена с внешними по отношению к МП устройствами системы, буферная схема отключается от шины данных, т.е. переходит в высокоимпедансное состояние (не нуль, не один). Буферная схема шины адреса – однонаправленная и обеспечивает передачу адресов команд и данных, а также номеров периферийных устройств от МП в систему. Выход буфера адреса, точно также как и буфера данных может переходить в отключенное состояние. Управляющее устройство Блок управления включает: - 8-ми разрядный регистр команд (RK), предназначенный для приема и хранения кода операции; - устройства управления и синхронизации (CU), формирующего управляющие сигналы для всех внутренних регистров и блоков МП, а также его выходные сигналы управления;
- управляющей памяти, выполненной на программируемой логической матрице, в которой хранятся микропрограммы отдельных операций. Пользователь не может изменить содержимого управляющей памяти, а, следовательно, и состава команд. Команды пересылки данных Команды пересылки данных обеспечивают выполнение операций размещения, обмена, загрузки и перемещения данных. Среди всех команд микропроцессора эти команды используются наиболее часто. Признаки условия не устанавливаются командами этой группы. В таблице 2.5 приведены команды пересылки данных. Таблица 2.5 Команды пересылки данных
Команда пересылки с регистровой адресацией MOV A, D) осуществляет передачу содержимого регистра D в аккумулятор. Команда с непосредственной адресацией MVI D, 4Е16 производит пересылку числа, приведенного во втором байте команды (в примере число 4Е16), в регистр D, адрес которого указан в разрядах 5…3 первого байта команды. Команда с прямой адресацией LDA 020016 производит передачу содержимого ячейки памяти, адрес которой указан во втором и третьем байтах команды (020016), в аккумулятор. Команда LDAX BC загружается содержимое ячейки оперативной памяти, адресом которой служит содержимое пары регистров BC в аккумулятор. Команды логических операций Задачей этих команд является выполнение логических операций И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, сравнения, сдвига и инвертирования. Эти команды выполняют логические операции над данными в памяти или регистрах и признаках. В таблице 2.7 приведены команды логических операций. Таблица 2.7 Команды логических операций
Приемы программирования
Для программирования МП необходимо знать состав команд, быть хорошо знакомым с назначением и расположением регистров, т.е. знать архитектуру микропроцессора. Этапы составления программы должны выполняться в следующей последовательности: 1. Определение и анализ задачи; 2. Составления блок схемы алгоритма решения в общем виде и машинного алгоритма; 3. Написание программы на языке Ассемблера; 4. Трансляция программы в машинные коды; 5. Отладка программы (поиск и устранение ошибок); 6. Документирование программы. Сформулируем общие требования, предъявляемые к программам, составленным на языке Ассемблера. В общем виде любая команда на языке Ассемблера записывается следующим образом: Метка: Операция Данные; Комментарий Метка используется для обозначения адреса ячейки памяти, в которой хранится данная команда. Она может состоять из шести символов, не должна включать знаков пунктуации и пробелов, причем первым символом должна быть буква. Метка всегда определяется двоеточием и является необязательным элементом команды. Она применяется только при необходимости. Операция является обязательным элементом команды. Она представляет собой мнемоническую запись из двух – четырех букв, которые указывают на характер выполняемых действий, например: HLT – мнемоническое обозначение команды останов МП К580. Данные – часть команды, в которой может размещаться одно или два восьмиразрядных слова в зависимости от типа команды (адрес ячейки памяти, адрес порта ввода- вывода, непосредственные данные). Комментарий отделяется от команды точкой с запятой. Комментарием является запись облегчающая понимание назначения команды. Комментарий является необязательной частью команды. Тем не менее, рекомендуется снабжать команды программы комментариями, которые помогают определить роль команды в алгоритме решения задачи. Следующим шагом в разработке программы является ее трансляция в машинные коды. Обычно эта задача решается с использованием специального ПО – кросс-средств, которые разрабатываются для каждого типа микропроцессора отдельно. Однако эта задача может быть решена и вручную.
При ручном методе трансляции рекомендуется выполнить следующую последовательность действий:
Процесс отладки программы предназначен для поиска и устранения ошибок, и проводится либо на реальной МП системе, либо на ее эмуляторе. В систему вводится программа с известными данными, и полученные результаты сравниваются с эталоном. Как правило, выполняется несколько тестов. Последним этапом программирования является документирование. На этом этапе составляется ее описание, указывающее в какой последовательности должны выполняться операции, приводятся алгоритмы выполнения программы, составляются списки, данные, адреса используемые подпрограммы и комментарии. Сложные программы требуют тщательно разработанной документации. Примеры программ обработки данных в МП К580 Примеры использования команд передачи данных Пример 3.1. Записать число 05H в регистр A: MVI A, #05H; загрузка регистра A 05H Пример 3.2. Записать число 4856H в пару регистров BC: LXI B, #4856H; загрузка пары регистров BC 4856H Пример 3.3. Загрузить в регистр указателя стека операнд 0BA3H: LXI SP, #0BA3H; загрузка указателя стека SP 0BA3h Пример 3.4. Записать в память содержимое аккумулятора A по адресу 0910H: STA 0910H; запись в память содержимого ;аккумулятора по адресу 0910H Примеры использования арифметических и логических команд Пример 3.5. Сложить содержимое аккумулятора А с содержимым регистра Н: MVI A, #3BH;загрузка регистра A 3Bh MVI H, #25H;загрузка регистра H 25h ADD H;сложение содержимого регистра ;аккумулятора A и содержимого ;регистра H, A A+H Пример 3.6. Вычесть из содержимого аккумулятора содержимое ячейки памяти, адрес которой содержится в регистровой паре HL. LXI H, #0825H; загрузка в регистровую пару HL адреса ; ячейки памяти HL 0825 H MVI A, #03H;загрузка регистра A 03h MOV M, A;запись в ячейку памяти, адрес которой ;0825H, содержимого аккумулятора ;M A MVI A, #60H;загрузка регистра A 60h SUB M;вычесть из содержимого аккумулятора ;содержимое ячейки памяти, адрес ;которой указан в паре регистров HL ;A A-(M) Пример 3.7. Сравнить содержимое аккумулятора A=1Bh с содержимым регистра L= 0Bh. MVI A, #1BH;загрузка регистра A 1Bh MVI L, #0BH;загрузка регистра L 0Bh CMP L;сравнение содержимого аккумулятора A ;с содержимым регистра L Пример 3.8. Выполнить операцию “Исключающее ИЛИ” над содержимым аккумулятора A=33h и содержимым регистра B=52h. MVI A, #33H;загрузка регистра A 33h MVI B, #52H;загрузка регистра B 52h XRA B;“Исключающее ИЛИ” с содержимым ;регистра B A A Å B Пример 3.9. Сдвинуть содержимое аккумулятора A=31h на 3 разряда влево. MVI A, #1FH;загрузка регистра A 1Fh RLC;циклический сдвиг содержимого ;аккумулятора влево ; RLC;циклический сдвиг RLC;циклический сдвиг Примеры использования команд ветвления и переходов Пример 3.10. Условный переход по адресу 2021H, если содержимое аккумулятора равно 0. MVI A, #B4Н;загрузка в аккумулятор B4H A B4H XRA A;очистка аккумулятора JZ 2021H;Условный переход по адресу 2021Н, ;записанному во втором и третьем байтах ;команды, если содержимое аккумулятора ;равно 0 Пример 3.11. Условный переход к команде, которая расположена в ячейке памяти с адресом 2110Н при условии, что в результате выполнения операции сложения установился бит переноса. MVI A, #FFH;загрузка в аккумулятор FFН ADI 80Н;сложение содержимого аккумулятора ;с содержимым второго байта команды ; JC 2110Н;условный переход по адресу 2110Н, ;записанному во втором и третьем байтах ;команды, если содержимое аккумулятора ;равно 0 Пример 3.12. Программа записи чисел от 0 до 4 в ячейки памяти, расположенные последовательно, с адресами от 1010 до 1014 с использованием циклов. LXI H, 1010Н;загрузка в пару регистров HL адреса ; первой ячейки памяти XRA A;сброс аккумулятора в 00Н LOOP MOV M, A;запись в ячейку памяти, адрес которой ;1010Н, содержимого аккумулятора INX H;инкремент пары регистров HL INR A;инкремент аккумулятора CPI 05H;сравнить A=05h? Если да, то флаг Z ;установлен в 1. JNZ LOOP;перейти по метке LOOP, если Z=0 HLT;остановить МП
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
Конспект лекций
Москва 2013
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 512; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.19.251 (0.072 с.) |