Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PIC_Lektsii.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.01 Mб
Скачать

83

Казанский государственный технический университет им. А.Н. Туполева

_____________________________________________________

Кафедра радиоэлектронных и телекоммуникационных систем

Щербакова Т.Ф., Козлов С.В., Култынов Ю.И., Седов С.С.,.

Разработка и отладка программного обеспечения

микропроцессорных систем обработки информации.

Методическое пособие

Казань, 2002 г.

СОДЕРЖАНИЕ

Введение. 3

1. Микропроцессорная система на базе микропроцессора МП КР580ВМ80А 4

1.1. Структурная схема МПС КР580ВМ80А 4

1.2. Программная модель МПС КР580ВМ80А 8

1.3. Система команд 12

2. Организация временных интервалов в микро-ЭВМ. 35

3. Микроконтроллер PIC16F84 38

3.1. Общие характеристики 38

3.2 Условное графическое обозначение 40

3.3. Структура кристалла PIC16C84 41

3.4. Система команд 48

3.5. Запуск кристалла. 55

3.6. Интегрированные устройства. 59

4. Микропроцессорные устройства обработки информации. 68

4.1 Расчет основных характеристик системы сбора данных. 68

4.2. Микропроцессоры в системах передачи и обработки сигналов. 70

4.3. Применение микропроцессорных систем в задаче кодирования информации 76

ЗАКЛЮЧЕНИЕ 81

ЛИТЕРАТУРА 81

Введение.

Микропроцессорные системы нашли широчайшее применения в настоящее время. Основными областями их применения стали: системы контроля и управления, устройства сбора и обработки информации, цифровой обработки сигналов, кодеры и т.д. При этом растет многообразие применяемых для этих задач микропроцессоров и микро-ЭВМ, их архитектур и вариантов построения. Подобное построение затрудняет применение единых подходов к рассмотрению микропроцессорных систем (МПС).

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

В качестве примера однокристального микропроцессора общего назначения рассмотрим микропроцессорный комплект серии 580 с центральным процессором КР580ВМ80А, позволяющий наглядно изучить основные принципы построения, работы и программирования всего семейства однокристальных процессоров.

Примером микро-ЭВМ нам послужит простейший из класса микроконтроллеров семейства PIC-контроллеров PIC16F84. Данный микроконтроллер имеет небольшое количество интегрированных устройств, упрощающих изучение его студентами и позволяющий изучить основные принципы построения, работы и программирования всего семейства PIC-контроллеров.

1. Микропроцессорная система на базе микропроцессора мп кр580вм80а

1.1. Структурная схема мпс кр580вм80а

Микропроцессор КР580ВМ80А представляет собой 8-разрядный процессор, в котором совмещены операционное и управляющее устройства. Управляющая память недоступна пользователю, в ней уже в процессе изготовления БИС записываются микропрограммы операций (микропрограммы по которым выполняются команды). Таким образом, предусматривается использование некоторой фиксированной системы команд, в которую пользователь не может внести изменений. В связи с этим данный микропроцессор относится к числу немикропрограммируемых, т.е. программируемых не на уровне микрокоманд, а на уровне команд.

Рис.1. Микропроцессорная система на базе КР580ВМ80А

Общий вид системы на базе микропроцессора К580 показан на рис.1. В ней выделяют три основных компонента - центральный процессор, функции которого выполняет микропроцессор, память и средства ввода-вывода.

Микропроцессор является единственным активным компонентом системы и реализует следующие функции:

управляет выполнением команд программы: выбирает команду, считывает операнды, преобразует их в соответствии со смыслом команды и определяет адрес следующей команды;

управляет обменом различной информацией между компонентами системы;

реагирует на разнообразные внешние сигналы.

Память МП-системы (рис.1.1.) представлена программным энергонезависимым постоянным запоминающим устройством (ПЗУ), допускающим только считывание хранимой информации, и полупроводниковой оперативной энергозависимой памятью (или запоминающим устройством с произвольной выборкой - ЗУПВ), выполняющей операции считывания (READ) и записи (WRITE), которые называются также обращением (доступом) к памяти.

В функциональном отношении память состоит из однотипных ячеек, длина(разрядность) которых совпадает с длиной слова микропроцессора, т.е. составляет 8 бит (1байт). Ячейки пронумерованы, номера их называются адресами, и для обращения к ячейке достаточно указать ее адрес. Совокупность ячеек, к которым потенциально может адресоваться микропроцессор, называется адресным пространством (полем) памяти, а фактически имеющиеся ячейки образуют рабочее (физическое) пространство памяти МП-системы.

Адресное пространство микропроцессора К580 составляет 64 Кбайт (65 536 ячеек ). Адресное пространство графически изображается в виде столбца из 64 К строк (ячеек) с адресами от 00...00 до 11...11. В МП-системе различные области адресного пространства группируются в блоки из последовательных ячеек, образующие так называемую карту памяти. Блоки могут относиться к аппаратным устройствам, например блоки ПЗУ и ЗУПВ, или к программным образованиям, например основная программа, подпрограммы, стандартные программы ввода-вывода и др. Нумерация ячеек обычно производится сверху и реже - снизу вверх. Иногда адресное пространство и карту памяти изображают двухмерной матрицей, число строк и столбцов в которой определяется емкостью минимального блока.

Средства ввода-вывода (ВВ) представлены портами ввода (входными портами) и вывода (выходными портами). Информация от устройств ввода поступает в порты ввода и считывается микропроцессором, а порты вывода воспринимают информацию от микропроцессора и передают ее в устройства вывода. В простейшем случае порты ввода и вывода представляют собой буферные регистры, имеющие определенные адреса и выполняющие функции сопряжения МП-системы с разнообразными периферийными устройствами (“внешним миром”).

Взаимодействие микропроцессора с памятью и средствами ВВ осуществляется по системной шине, состоящей из нескольких десятков линий (число линий в шине иногда называют ее шириной). Основными характеристиками этих линий являются:

  1. Функциональное назначение:

линии адреса, образующие шину адреса А15-0;

линии данных, образующие шину данных D7-0;

линии управления, образующие шину управления;

линии синхронизации и питания.

  1. Направление передачи информации:

линии, направленные в микропроцессор;

линии, направленные от микропроцессора;

двунаправленные линии, по которым сигналы передаются в обоих направлениях.

В микропроцессоре К580 двунаправленными являются только линии шины данных D7-0, а все остальные - однонаправленными.

  1. Протокол обмена информацией по системной шине. Этот протокол включает в себя правила организации последовательностей сигналов, обеспечивающих правильную передачу информации между компонентами системы.

  2. Электрические спецификации сигналов, действующих на линиях системной шины. Примерами таких спецификаций являются гарантированные уровни электрических напряжений, идентифицирующих логические состояния 0 и 1, нагрузочная способность и др.

Шестнадцать линий шины адреса определяют адресное пространство из 64 Кбайт. Старшие восемь линий адреса (А15-8) называются адресом страницы, а младшие восемь линий (А7-0) - адресом в странице (или строкой).

При записи адресов чаще всего используется 16-ричная система, поэтому диапазон адресов составляет от 000016 до FFFF16 (далее основание системы не указывается). Память системы организуется по круговому принципу, т.е. после ячейки с максимальным адресом FFFF следует ячейка с минимальным адресом 0000.

Шина адреса (адресная шина, адресная магистраль, адресный канал), состоящая из 16 линий (А15-0), предназначена для передачи адресов от микропроцессора в память и порты ввода-вывода. Другими словами, сигналы адреса идентифицируют внешние регистр-источник или регистр-получатель, участвующие в обмене данными с одним из внутренних регистров микропроцессора.

Шину данных (информационная магистраль, числовая магистраль, канал данных, информационная шина), являющуюся основным информационным трактом МП-системы, образуют восемь двунаправленных тристабильных линий D7-0. По этой шине осуществляется обмен любой информацией между всеми компонентами системы, в частности, по ней передаются команды, операнды, результаты операций, вводимые и выводимые данные. Двунаправленность шины данных означает возможность передачи информации в обоих направлениях (от микропроцессора и в микропроцессор). Направление передачи определяется специальными управляющими сигналами, которые генерирует микропроцессор. Разумеется, в любой момент времени по шине данных производится одна передача в одном направлении, т.е. шина данных работает в мультиплексном режиме.

Шина управления (управляющая шина, управляющая магистраль, управляющий канал), состоящая из десяти линий, служит для передачи управляющих сигналов, определяющих характер и порядок функционирования компонентов МП-системы. Управляющие сигналы микропроцессора К580 можно объединить в следующие группы.

На рис. 2. приведена структурная схема микропроцессора КР580ВМ80А. Опишем кратко ее узлы

Рис.2. Структурная схема МП КР580 ВМ80А

Регистры данных. Для хранения участвующих в операциях данных предусмотрено семь 8-разрядных регистров . Регистр А, называется аккумулятором, предназначен для обмена информацией с внешними устройствами (т.е. либо содержимое этого регистра может быть выдано на выход, либо со схода в него может быть принято число), при выполнении арифметических, логических операций и операций сдвига он служит источником операнда (числа, участвующего в операции), в него помещается результат выполненной операции.

Шесть других регистров, обозначенных В, С, E, H, L, образуют так называемый блок регистров общего назначения РОН (название связано с тем, что эти регистры могут использоваться для хранения как данных, так и адресов ). Эти регистры могут использоваться как одиночные 8-разрядные регистры . В случаях, когда возникает необходимость хранить 16-разрядные двоичные числа, они объединяются в пары BC, DE, HL.

Регистры БР1, БР2, W, Z используются как буферные, программно-недоступные регистры (т.е. регистры, к которым программист при составлении программы не может обращаться).

Указатель стека SP (16-разрядный) служит для адресации особого вида памяти, называемого стеком (организация стека будет рассмотрена ниже).

Счетчик команд РС (16-разрядный) предназначен для хранения адреса команды; после выбора из оперативной памяти текущей команды содержимое счетчика увеличивается на единицу и таким образом формируется адрес очередной команды (при отсутствии безусловных и условных переходов).

При обращении к памяти в качестве адреса может использоваться и содержимое любой пары регистров блока РОН.

При выдаче адреса содержимое соответствующих регистров передается в 16-разрядный регистр адреса РА, из которого далее через буферы БА адрес поступает в 16-разрядную шину адреса. С этой шины адрес может быть принят в оперативную память. Число кодовых комбинаций 16-разрядного адреса равно , каждая из этих кодовых комбинаций может определять адрес (номер) одной из ячеек оперативной памяти. Таким образом, обеспечивается возможность обращения к памяти, содержащей до 8-разрядных слов (байт).

Арифметическо-логическое устройство (АЛУ). В 8-разрядном АЛУ предусмотрена возможность выполнения четырех арифметических операций (сложение с передачей переноса в младший разряд и без учета этого переноса, вычитание с передачей заема в младший разряд и без него), четырех видов логических операций (операций конъюнкции, дизъюнкции, неравнозначности, сравнения), а также четырех видов циклического сдвига.

При выполнении арифметических и логических операций одним из операндов служит содержимое аккумулятора и результат выполненной операции помещается в аккумулятор. Циклический сдвиг выполняется только над содержимым аккумулятора.

Предусмотрена возможность выполнения арифметических операций над десятичными числами. При хранении десятичного числа разряды регистра делятся на две группы по 4 разряда и в каждой группе разрядов хранится одна десятичная цифра, представленная в коде 8421. Таким образом, в регистре можно хранить 2-разрядное десятичное число. Как указывалось в 3.4, при выполнении операции суммирования десятичных цифр может потребоваться коррекция результата путем прибавления к нему числа 01102. Такая коррекция результата в каждой 4-разрядной группе результата в микропроцессоре выполняется схемой десятичной коррекции (СДК).

При составлении прикладных программ приходится выбирать то или иное направление их выполнения в зависимости от особенностей (признаков) текущих результатов, т.е. принимать решение в соответствии со складывающейся ситуацией. Для этого при выполнении многих команд микропроцессор формирует двоичные признаки (флаги), отражающие особенности результата выполняемой команды. Значение каждого признака фиксируется в специальном, соответствующем этому признаку, триггере. Совокупность триггеров флагов образует регистр флагов или F-регистр, называемый также регистром признаков.

Регистр признаков (РП). В МП КР580ВМ80А имеется 5-разрядный регистр, предназначенный для хранения определенных признаков. Пять триггеров этого регистра имеют следующее назначение:

- триггер переноса ТC (С - флаг) - устанавливается в состояние, соответствующее переносу из старшего разряда при выполнении арифметических операций и содержимое выдвигаемого из аккумулятора разряда при выполнении операции сдвига;

- триггер нуля ТZ (Z - флаг) - устанавливается в состояние лог.1, если результат операции АЛУ или операции приращения содержимого регистра равен нулю;

- триггер знака ТS (S - флаг) - устанавливается в состояние логической 1, если результат операции имеет отрицательное значение. Если результат операции положительный или равен нулю, то ТS устанавливается в состояние логического 0.

- триггер четности ТP (P - флаг) - устанавливается в состояние логической 1, если результат операции имеет четное число единиц.

- триггер дополнительного переноса ТAC (AC - флаг) - хранит перенос из 4-го разряда, возникающий при выполнении операции.

Блок управления. Состоит из регистра команд, куда принимается первый байт команды, и управляющего устройства, формирующего управляющие сигналы, под действием которых выполняются микрооперации в отдельных узлах. Управляющее устройство содержит выполненную на программируемой логической матрице управляющую память, в которой хранятся микропрограммы отдельных операций. Однако, как уже указывалось, пользователь не может изменить содержимого управляющей памяти, а значит, и состава команд.

Буферы. Буферы данных и буферы адреса обеспечивают связь центрального процессора с внешними шинами данных и адреса. Особенность буферов состоит в том, что в каждом разряде они используют логические элементы с тремя состояниями. В них, кроме состояний лог.0 и лог.1, предусмотрено еще третье состояние, в котором они имеют практически бесконечное выходное состояние и оказываются отключенными от соответствующих шин. Использование таких буферов позволяет процессору отключаться от внешних шин (шин данных и адреса), предоставляя их в распоряжение внешних устройств, а также позволяет использовать одну и ту же шину данных как для приема данных (т.е. в качестве входной шины), так и для выдачи данных (т.е. в качестве выходной шины). Такое использование шины данных позволяет сократить число выводов микросхемы.

На рис. 2. показан принцип двунаправленного обмена данными между внутренней и внешней шинами данных. Если осуществляется прием данных (передача данных с внешней шины данных на внутреннюю шину данных), отключаются, переходя в третье состояние, выходные логические элементы; при выдаче данных (передаче с внутренней шины на внешнюю) отключаются входные логические элементы.

В технической документации обычно приводятся более подробные структурные схемы микропроцессоров. Однако для подавляющего большинства пользователей анализировать внутреннее устройство (микроархитектуру) микропроцессора совсем не обязательно, тем более, что по мере роста степени интеграции оно неизбежно будет становиться все более сложным.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]