Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mcs51_1 / Пособие ч1.doc
Скачиваний:
37
Добавлен:
21.03.2016
Размер:
957.44 Кб
Скачать

73

0,,,,,0,0,Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ

П.С. Довгий, в.И. Скорубский

ЭВМ для встроенных приложений

  1. Пособие к лабораторным работам и лекции

Часть I

Санкт-Петербург

2012

Довгий П.С., Скорубский В.И.ЭВМ для встроенных применений: пособие к лабораторным работам и лекции. – СПб: СПбГУ ИТМО, 2012г. – 56 с.

Пособие содержит описание и примеры выполнения лабораторных работ по курсу Организация ЭВМ. В качестве основной технологической базы используется доступная в Интернет Демо-версия Интегрированной системы проектирования (IDE) Keil одноименного подразделения фирмы ARM.

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

Работы выполняются на двух уровнях – алгоритмическом с использованием языка С51 и уровне Макроассемблера А51. Используются эффективные и наглядные средства отладки в системе Keil на всех уровнях, в частности, графика Логического Анализатора для вывода и имитатор внешних событий в виде Сигнальных функций для ввода.

Пособие предназначено для студентов по курсу «Организация ЭВМ» для специальностей 230100 «Информатика и вычислительная техника», 230101 «Вычислительные машины, комплексы, системы и сети», 210202 «Проектирование, программирование и эксплуатация ИВС», 230104 «Системы автоматизации проектирования».

Рекомендовано Советом факультета Компьютерных технологий и управления _______________ 2012 г., протокол №_______

СПбГУ ИТМО стал победителем конкурса инновационных образовательных программ вузов России на 2007-2008 годы и успешно реализовал инновационную образовательную программу «Инновационная система подготовки специалистов нового поколения в области информационных и оптических технологий», что позволило выйти на качественно новый уровень подготовки выпускников и удовлетворять возрастающий спрос на специалистов в информационной, оптической и других высокотехнологичных отраслях науки. Реализация этой программы создала основу формирования программы дальнейшего развития вуза до 2015 года, включая внедрение современной модели образования.

Санкт-Петербургский государственный университет информационных технологий, механики и оптики, 2012

Содержание

стр.

Программные модели mcs51

2.1. Выбор микроконтроллера

2.2. Cистема Кейл - организация

2.3. Высокоуровневая программная модель в С51.

2.3.1. Организация памяти и данных

2.3.2.Типы и форматы данных в С51

2.3.3. Ввод-вывод в С51

2.3.4.Вычислеиия в С51

2.4. Программная модель на уровне А51

2.4.1. Структура Памяти, команды обмена

2.4.2. Арифметические и логические операции.

2.4.3. Команды управления программой 12

3. Лабораторные работы

3.1. Ввод-вывод численных данных

3.1.1. Целые численные данные.

3.1.2. Дробные численные данные.

3.2. Двоичная арифметика…………………………………………………….

3.2.1 Сложение и вычитание.

3.2.2. Умножение

Умножение дробных чисел

Умножение целых чисел

3.2.3. Деление беззнаковое

Деление дробных чисел

Деление целых чисел

3.3.4. Извлечение корня квадратного

3.4. Вычисления функций

3.4.1. Вычисление с плавающей точкой

3.4.2. Вычисление функций с фиксированной точкой в целых числах

3.4.3. Вычисление функций с фиксированной точкой в дробных числах

3.4.4. Макроассемблер………………………………………………………..

3.5. Иерархия памяти ЭВМ……………………………………………………

3.6. Битовые данные

3.7. Система прерывания 28

3.7.1. Внешние прерывания 29

3.7.2 Внутренние прерывания при переполнении таймеров 31

Литература 47

Приложение 1. Система команд MCS51 – мнемокоды 48

Приложение 2. Интегрированная система программирования

и отладки Keil 51

Приложение 3. Вопросы по курсу лабораторных работ

к зачету и экзамену 54

1. Программные модели mcs51

1.1. Выбор микроконтроллера

Такая задача стоит в начале процесса разработки нового прибора с использованием встроенных средств ВТ, наиболее распространенный класс таких средств – микроЭВМ (микроконтроллеры - MCU)

Знакомство с MCU начинается с освоения его программной модели, что позволяет сразу перейти к программированию и примерам.

Программная модель MCU включает описание ее ресурсов- организации памяти, ввода-вывода (средства обработки данных предполагаются стандартные-арифметические и логические операции) . П

MCU в отличие от микропроцессоров общего назначения ориентированы на применения во встроенных системах контроля, управления и измерений. В микроконтроллерах (MCU) интегрированы и согласованы на уровне стандарта разнообразные интерфейсы и средства прямого управления периферией, принципы организации программного управления традиционные для большинства ЭВМ — понятие процессора (CPU) не акцентируется..

Традиционный алгоритмический подход к программированию MCU сформировался с использованием высокоуровневого описания алгоритма на алгоритмическом языке, где представлена только программная модель ЭВМ общего назначения с традиционной организацией.

Алгоритмический язык предполагается “машинно-независимым”, исполнение машины (схемотехника- принципы доступа к данным и система команд ) как бы не учитывается. Это позволяет сосредоточиться на алгоритмах, где операции и средства управления унифицированы.

Этот уровень представления MCU определяем как Программную модель высокого уровня.

Детали построения MCU отражаются в системе команд на уровне Ассемблера. В Ассемблере представлена микроархитектура ЭВМ – на уровне регистровой памяти, принципов организации доступа к данным и операции с данными различных типов.

Этот уровень представления MCU назовем Программной моделью в Ассемблере. Представление программ в Ассемблере, по существу, являются семантикой алгоритмического языка (классическое название — операционная

семантика) и основным методом тестирования правильности алгоритмов является исполнение скомпилированной в Ассемблер программы.

Программная модель MCU – необходимый этап при конструировании новой машины в технологии ASIC.

Огромное число конструктивных решений не позволяют использовать какое-либо обобщенное представление об архитектурах MCU. Рано или

поздно приходится опираться на некоторую конкретную схему и выбор не однозначен

Для первого знакомства можно выбирать любой MCU, распространенный, документируемый и поддерживаемый средствами моделирования. На данном

этапе такой ЭВМ представляется микроЭВМ (микроконтроллер)MCS51/52 (фирма Intel 1980 ).

Выбор микроконтроллера MCS51/52 [1] фирмы Intel обуславливается

1) популярностью ,

2) открытой и понятной программной моделью - на современном уровне в ПЛИС вся схемотехника размeщается как ядро системы на кристалле

3)многообразием расширений и модификаций, сохраняющих ядро MCS51/52.

4)наличием эффективных средств программирования и отладки.

Для изучения программной модели решаются задачи с использованием алгоритмического описания на языке С и на машинном языке Аccемблера.

Для понимания принципов исполнения алгоритмов, представленных в данной программной модели, требуются доказательства или обоснования, которые в большинстве случаев конструктивны – “если можно построить схему или программу, то принцип или метод работают”. В действительности, приходим к тестированию — исполнению программы в Ассемблере (эквивалентно — в двоичном коде)

Высокоуровневая программная модель – совокупность ресурсов памяти, состав средств ввода-вывода. Работа ЭВМ демонстрируется программами в Си. Применение стандартного языка С (стандарт ANSI) к конкретным MCU встречает затруднения в ряде случаев, когда функция может быть реализована эффективно (минимальные размеры памяти и максимальная скорость исполнения) в Ассемблере (иногда одной командой !), поэтому в новых разработках используются модификации С, приближенные к конкретной архитектуре ЭВМ.

В программировании учитывается организация данных в памяти и конкретная организация памяти в MCU.

Прямое программирование ввода-вывода MCU принципиально не реализуемо в машинно-независимом С/С++ ,

Таким образом, в технологии программирования предполагаются средства совместного программирования в двух программных моделях: С и Ассемблере, а это нарушает стандартный синтаксис Си и затрудняет алгоритмизацию задачи.

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

введения на функциональном уровне аппаратно-зависимых функций. Такая модификация Си доступна для всех существующих моделей MCU (Avr, Pic, TMS, Intel,...).

Для mcs51 — фирмой Keil предлагается аппаратное расширение стандарта Си в С51 с высокоуровневой программной моделью и компилятор в ассемблер А51.

Низкоуровневая программная модель в Ассемблере представляет организацию памяти, ввод-вывод и систему команд. В Ассемблере А51, для демонстрации работы могут быть использованы элементы схемотехники. Подробное описание системы команд приведено в Help Keil [1] и Приложении 1. CISC архитектура MCS51 выполняет 111 базовых команд. для упрощения расчетов при моделировании реального времени выбрана частота синхронизации 12 Мгц, единица отсчета времени -цикл из 12 тактов(1мкс), команды выполняются за 1-3 цикла.

Более сотни клонов нескольких десятков фирм с ядром MCS51 представлены в библиотеке KEIL и отличаются разнообразием периферии, ресурсами памяти, наличием специальных средств управления питанием, частотой, сбросом.

Задачи исследования программной модели рассматриваются в С51, семантика которого демонстрируется в A51 и поддерживаются лабораторными работами с Симулятором и учебными стендами (КИТ):

- организация памяти и типы данных

  • прямое программное управление вводом и выводом

  • арифметические операции

  • символьное редактирование

  • битовые вычисления;

  • система прерывания ;

Работы со встроенными средствами управления периферией относятся к расширенному курсу лабораторных работ для смежных специальностей, При этом используется MCU Sab515 (Siemens), совместимая по архитектуре с MCS52 и имеет расширенные средства управления периферией .

Задания по управлению периферией включают

  • управление клавиатурой в локальных пультах;

  • обработка данных при вводе с использованием аналого-цифрового преобразования;

  • последовательный канал передачи данных.

  • широтно-импульсная модуляция , интерфейсы (Capture. Compare)

  • операционные системы реального времени (RTX51)

Цикл работ опирается на средства моделирования, представленные популярным программным комплексом IDE (Integrated Development Enviropment) Keil фирмы Keil [1]. (См. Приложение 2.)

Соседние файлы в папке mcs51_1