Программа дисциплины по кафедре Автоматики и системотехники микропроцессорные системы

Вид материалаПрограмма дисциплины

Содержание


Клепиков С.И.
Общая трудоёмкость дисциплины
Вид итогового контроля по семестрам
Вид итогового контроля самостоятельной работы без отчетностей
Аудиторные занятия
Самостоятельная работа
Лабораторный практикум
1. Изучение учебного комплекса умк
2. Команды перемещения данных (часть 1)
3. Команды перемещения данных (часть 2)
4. Арифметические команды
5. Организация параллельного порта ввода вывода
6. Программируемый интервальный таймер к580ви53
7. Генератор аналоговых сигналов
8. Организация динамической индикации в линейных дисплеях
9. Аппаратно-программная реализация аналого-цифрового преобразования
Контрольные вопросы
10. Технология подготовки и выполнения программ на макроассемблере asm-86
11. Программирование простейших арифметических выражений с целочисленными переменными
12. Ввод-вывод и преобразование числовых данных
...
Полное содержание
Подобный материал:
  1   2

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

Тихоокеанский государственный университет



Утверждаю

Проректор по учебной работе

______________ С.В. Шалобанов

“_____” ________________200_ г.



Программа дисциплины

по кафедре Автоматики и системотехники


МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ


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


230201.65 – «Информационные системы и технологии»,

220201.65 – «Управление и информатика в технических системах»


Хабаровск 2006 г.


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


Программу составил




Левенец А.В.




к.т.н., доцент, кафедра АиС




























Ф.И.О. автора (ов)
Ученая степень, звание, кафедра







Программа рассмотрена и утверждена на заседании кафедры

протокол № ______ от «____»__________________ 200_г

Завкафедрой__________«__»______ 200_г

__Чье Ен Ун_____

Подпись дата

Ф.И.О.







Программа рассмотрена и утверждена на заседании УМК и рекомендована к изданию

протокол № ______ от «____»_____________ 200_г

Председатель  УМК  _______«__»_______ 200_г

__Чье Ен Ун______

Подпись дата

Ф.И.О.




Директор  института  _______«__»_______ 200_г

__ Клепиков С.И.___

(декан факультета) Подпись дата

Ф.И.О.



  1. Цели и задачи дисциплины


Целью курса является ознакомление студентов с основами микропроцессорной техники и микропроцессорных устройств систем управления.

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

Изложение материала курса базируется на сведениях, излагаемых в курсах «Прикладное программирование», «Информатика», «Электроника», «ЭВМ и вычислительные системы».


  1. требования к уровню освоения содержания дисциплины

В результате изучения дисциплины студент должен

– знать:
  • основные элементы базовой архитектуры микропроцессора и их назначение;
  • способы организации памяти в микропроцессорных системах;
  • основные способы обмена информацией в микропроцессорных системах;
  • принципы организации системных шин микропроцессорных систем;
  • основы построения мультипроцессорных систем.

– владеть:
  • системой команд микропроцессоров i8085 и i8086
  • навыками проектирования периферийных устройств микропроцессорных систем.

– иметь представление:
  • о современных направлениях развития микропроцессорной техники;
  • о современных структурных способах повышения производительности микропроцессоров;
  • об организации устройств ввода/вывода информации
  • о контроле и диагностике микропроцессорных устройств



  1. Объём дисциплины и виды учебной работы


Таблица 1 – объем дисциплины и виды учебной работы

Наименование

По учебным планам основной траектории обучения

с максимальной трудоёмкостью

с минимальной трудоёмкостью

Общая трудоёмкость дисциплины







по ГОС







по УП

238

102
Изучается в семестрах

7,8

7

Вид итогового контроля по семестрам







зачет

8

7

экзамен

7




Курсовой проект (КП)

8




Курсовая работа (КР)







Вид итогового контроля самостоятельной работы без отчетностей

расчетно-графические работы (РГР)







Реферат (РФ)







Домашние задания (ДЗ)







Аудиторные занятия:







всего

119

51

В том числе: лекции (Л)

51

34

Лабораторные работы (ЛР)

68

17

Практические занятия (ПЗ)







Самостоятельная работа







общий объем часов (С2)

119

51

В том числе на подготовку к лекциям

34

17

на подготовку к лабораторным работам

34

34

на подготовку к практическим занятиям







на выполнение КП

51




на выполнение КР







на выполнение РГР







на написание РФ







на выполнение ДЗ







на экзаменационную сессию









  1. Содержание дисциплины


Содержание дисциплины включает в себя следующие разделы:

  1. Введение в микропроцессорную технику



    • Краткая историческая справка;
    • Назначение и области применения микропроцессорных устройств;
    • Основные характеристики и типы микропроцессоров;
    • Обобщенная структура микропроцессора;
    • Основы функционирования микропроццессоров;
    • Система команд и способы адресации;
    • Представление информации в микропроцессорных устройствах;
    • Структура микропроцессорной системы;
    • Системная шина;
    • Физическая и логическая организация оперативной памяти микропроцессорной системы;
    • Способы подключения периферийных устройств к системной шине;
    • Организация системы прерываний;
    • Прямой доступ к памяти.

Объем 6 часов

  1. Восьмиразрядные микропроцессоры



  • Внутренняя архитектура микропроцессора i8085;
  • Регистровая организация и организация памяти;
  • Возможности микропроцессора по органозации обмена данными с периферийными устройствами;
  • Особенности функционирования микропроцессора i8085
  • Архитектура и регистровая организация микропроцессора MС6809;
  • Организация памяти MС6809;
  • Сравнение архитектур микропроцессоров i8085 и MС6809;
  • Система команд i8085;
  • Методы адресации i8085;
  • Форматы команд и данных i8085.

Объем 4 часа

  1. Шестнадцатиразрядные микропроцессоры



  • Архитектура и основные характеристики микропроцессоров i8086 и МС68000;
  • Сравнение микропроцессорных архитектур;
  • Регистровая организация и организация памяти i8086;
  • Конвейерная обработка;
  • Система команд i8086;
  • Форматы команд и данных;
  • Методы адресации;
  • Организация системы прерываний i8086;
  • Организация пямого доступа к памяти;
  • Работа i8086 в минимальном и максимальном режимах;
  • Основные характеристики и особенности i80286.

Объем 4 часа

  1. Микропроцессоры старших поколений



  • Характеристики 32-разрядных микропроцессоров;
  • Регистровая организация;
  • Организация адресного пространства
  • Защищенный режим работы микропроцессора;
  • Прерывания и исключения;
  • Особенности архитектурной организации 32-разрядных микропроцессоров i80486, Pentium, Pentium Pro;
  • Основные характеристики и особенности 64-разрядных микропроцессоров.

Объем 4 часа

  1. Особенности организации современных микропроцессоров



  • Функционирование и организация кэш-памяти;
  • Суперскалярность;
  • Предварительная выборка команд и предсказание переходов;
  • Спекулятивное исполнение команд;
  • Исполнение с изменением последовательности команд;
  • Переименование ресурсов;
  • 64-разрядная
  • Особенности организации функционирования многоядерных микропроцессоров.

Объем 6 часов

  1. Внешние устройства микропроцессорных систем



  • Понятие шины;
  • Обмен данными по программному опросу, по прерываниям, по прямому доступу к памяти;
  • Принципы организации устройств ввода/вывода информации;
  • Порты последовательного и параллельного ввода/вывода;
  • Таймер;
  • Реализация функций контроля и управления.

Объем 6 часов

  1. Программное обеспечение микропроцессорных систем



  • Функциональное назначение и типы программного обеспечения микропроцессорных систем;
  • Программирование в машинных кодах, на языке ассемблера и языках высокого уровня;
  • Программное обеспечение для разработки микропроцессорных систем;
  • Назначение и режимы работы системы подготовки и решения задач на языке ассемблера.

Объем 4 часа

  1. Микропроцессорные системы контроля и управления



  • Управляющие программируемые контроллеры;
  • Основные контроллеры;
  • Основы организации управляющих систем;
  • Структуры микропроцессорных управляющих систем;
  • Основные понятия контроля и диагностики микропроцессорных устройств;
  • Требования к средствам отладки;
  • Комплексы средств отладки.

Объем 2 часа

  1. Основы проектирования микропроцессорной техники



  • Основы функционирования микропроцессорных системных шин ISA и PCI;
  • Структура шинного интерфейса;
  • Способы организации дешифратора адреса шинного интерфейса;
  • Практическая реализация портов ввода/вывода;
  • Реализация доступа к регистрам периферийных устройств;
  • Организация режима программного опроса УВВ;
  • Реализация системы прерывания;
  • Особенности реализации прямого доступа к памяти;
  • Особенности использования БИС функциональных элементов микропроцессорных устройств.

Объем 8 часов

  1. Разработка программного обеспечения микропроцессорных систем
  • Средства разработки программ для микропроцессорной техники;
  • Программная реализация опроса устройства по готовности;
  • Особенности разработки программ-обработчиков прерывания;
  • Программирование контроллеров прерывания и прямого доступа к памяти;
  • Особенности программирования сопроцессоров.

Объем 7 часов

Таблица 2 – Разделы дисциплины и виды занятий и работ



Раздел дисциплины
Л

ЛР

ПЗ

КП

(КР)
РГР

ДЗ

РФ

С2

1

2

3

4

5

6

7

8

9

10


Введение в микропроцессорную технику.

*

*
















*


Восьмиразрядные микропроцессоры.

*

*




*










*


Шестнадцатиразрядные микропроцессоры.

*







*










*


Микропроцессоры старших поколений

*



















*


Особенности организации современных микропроцессоров

*



















*


Внешние устройства микропроцессорных систем.

*

*




*










*


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

*

*
















*


Микропроцессорные системы контроля и управления.

*







*










*


Основы проектирования микропроцессорной техники

*







*










*


Разработка программного обеспечения микропроцессорных систем

*

*




*










*



  1. Лабораторный практикум


Часть лабораторных работ выполняется с использованием учебного микропроцессорного комплекта УМК80, а остальная часть – на персональном компьютере с использованием системы программирования TEDASM. Выполнение всех лабораторных работ предусматривает следующие стадии:

1. Теоретическая подготовка к выполнению работы с использованием методических указаний, материалов лекционного курса и других источников;

2. Получение задания, его осмысление и получение теоретического решения поставленной задачи;

3. Написание и отладка программы;

4. Оформление отчета и подготовка к защите;

5. Защита выполненной лабораторной работы.

Лабораторный практикум включает в себя следующие работы:


1. ИЗУЧЕНИЕ УЧЕБНОГО КОМПЛЕКСА УМК

Цель работы: получение навыков работы с учебным комплектом УМК-80.

Задание:
  1. Изучить основные характеристики комплекта УМК-80;
  2. Изучить команды комплекта;
  3. Научиться вводить программу в память комплекта;
  4. Научиться запускать программу на выполнение в обычном и пошаговом режимах.

Контрольные вопросы:

1. Назовите основные характеристики микропроцессора К580ВМ80.

2. Назовите адресный диапазон, доступный для записи программ пользователя.

3. Как заполнить область памяти константой?

4. В чем отличие работы в поцикловом и покомандном пошаговом режимах?

5. Назовите типы машинных циклов микропроцессора К580ВМ80.

6. Чем отличается машинный цикл от командного цикла?

7. Назовите минимальное количество машинных циклов, входящих в командный цикл.

8. Из скольки тактов состоит машинный цикл?

Время выполнения работы – 2 часа


2. КОМАНДЫ ПЕРЕМЕЩЕНИЯ ДАННЫХ (ЧАСТЬ 1)

Цель работы: изучить и научиться использовать команды перемещения данных.

Задание:

1. Ввести в УМК-80 приведенные примеры программ и убедиться в их правильном функционировании;

2. Написать, ввести в комплект и отладить программы, реализующие заданный алгоритм;

3. Рассчитать объем программ в байтах, а также время их выполнения.

Контрольные вопросы:

1. Какие команды перемещения данных вы изучили?

2. Какие методы адресации используются в микропроцессоре К580ВМ80?

3. Чем отличаются команды STA и STAX?

4. Почему командный цикл LDAX имеет на два машинных циклов меньше?

5. Все ли типы перемещения данных можно выполнить с помощью команды MOV?

6. Как влияют на состояние регистра флагов команды перемещения данных?

Время выполнения работы – 2 часа


3. КОМАНДЫ ПЕРЕМЕЩЕНИЯ ДАННЫХ (ЧАСТЬ 2)

Цель работы: изучить и научиться использовать команды перемещения данных и работы со стеком.

Задание:

1. Ввести в УМК-80 приведенные примеры программ и убедиться в их правильном функционировании;

2. Написать, ввести в комплект и отладить программы, реализующие заданный алгоритм;

3. Рассчитать объем программ в байтах, а также время их выполнения.

Контрольные вопросы:

1. Что такое стек?

2. Какие команды работы со стеком вы знаете?

3. Какие функции выполняет команда XTHL?

4. Можно ли записать в стек один байт информации?

5. Где хранится адрес верхушки стека?

Время выполнения работы – 2 часа


4. АРИФМЕТИЧЕСКИЕ КОМАНДЫ

Цель работы: научиться применять арифметические команды.

Задание:

1. Ввести в УМК-80 приведенные примеры программ и убедиться в их правильном функционировании;

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

3. Ввести предложенные преподавателем числа, записать полученные результаты и проверить их корректность;

4. Рассчитать объем программ в байтах, а также время их выполнения.

Контрольные вопросы:

1. Что такое регистр флагов микропроцессора?

2. Зачем необходим флаг переполнения?

3. Почему в систему команд входят арифметические команды сложения и вычитания без учета заема (переноса)?

4. Какие арифметические команды микропроцессора К580ВМ80 вы знаете?

5. Назовите команду целочисленного умножения микропроцессора К580ВМ80?

6. Как отследить ситуацию переполнения для микропроцессора К580ВМ80?

7. Каким образом определяется знак числа в вычислительных системах?

Время выполнения работы – 4 часа


5. ОРГАНИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ПОРТА ВВОДА ВЫВОДА

Цель работы: изучение режимов работы и принципов программирования БИС периферийного адаптера К580ВВ55А.

Задание:

1. Вывести в порт двоичное число, используя базовый адрес микросхемы 90. Произвести проверку правильности выдачи по светодиодному индикатору.

2. Используя порты А и С, написать программу вывода данных в циклическом режиме. Тип выдаваемых данных, скорость выдачи и базовый адрес микросхемы по вариантам указаны в таблице.

Контрольные вопросы:

1. Какие режимы работы портов микросхемы К580ВВ55А вы знаете?

2. Зачем порт С разбит на две самостоятельно функционирующие части?

3. Для чего используется режим BSR?

4. Для чего служит регистр управления?

5. Какова максимальная скорость передачи данных по параллельному порту?

6. Почему не был реализован режим 3 для порта В?

Время выполнения работы – 6 часов


6. ПРОГРАММИРУЕМЫЙ ИНТЕРВАЛЬНЫЙ ТАЙМЕР К580ВИ53

Цель работы: изучение принципов программирования и режимов работы таймера К580ВИ53.

Задание:

1. Запрограммировать канал 0 на режим генератора частоты. Убедиться в наличии сигнала на выходе схемы.

2. Используя канал 0 в качестве генератора опорной частоты для каналов 1 и 2, реализовать генератор прямоугольных импульсов с периодами, указанными в таблице.

Контрольные вопросы:

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

2. Назовите режимы работы канала программируемого таймера.

3. Чем отличается режим генератора частоты от режима генератора прямоугольных импульсов?

4. Зачем нужен вход GATE?

5. Для чего используется режим защелкивания?

Время выполнения работы – 4 часа


7. ГЕНЕРАТОР АНАЛОГОВЫХ СИГНАЛОВ

Цель работы: изучение способов формирования аналоговых сигналов в микропроцессорных системах.

Задание:
  1. Произвести калибровку цифрового генератора. Определить Uвых. max при входном коде 0FFH и Uвых. min. при входном коде 00Н.
  2. Написать программу, реализующую пилообразный сигнал. Определить U (шаг квантования по уровню) и T (по времени).
  3. Написать, ввести и выполнить программу, реализующую сигналы, приведенные в табл. 6.

Включение и выключение генератора производить по клавишам К1 и К2 соответственно

Контрольные вопросы:

1. Что такое дискретизация аналогового сигнала?

2. Каким образом можно избавиться от эффектов квантования и дискретизации на выходе цифрового генератора аналоговых сигналов?

3. В чем достоинства и недостатки цифровой генерации аналоговых сигналов?

4. Чем ограничена максимальная частота генерируемого сигнала?

5. Как работает ЦАП?

6. Чем будет отличаться спектр выходного сигнала цифрового генератора от теоретического спектра такого сигнала?

Время выполнения работы – 4 часа


8. ОРГАНИЗАЦИЯ ДИНАМИЧЕСКОЙ ИНДИКАЦИИ В ЛИНЕЙНЫХ ДИСПЛЕЯХ

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

Задание:

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

1. гашение индикаторов;

2. выборку из памяти первого (четвертого) числа;

3. получение байта индикации (перекодировка);

4. выдачу байта индикации в порт;

5. выборку первого (четвертого) знакоместа;

6. паузу

7. выход в основную программу.

Величина паузы подбирается так, чтобы исключить мерцание индикаторов.

Алгоритм основной программы выбирается согласно варианту:

Вариант 1: двоично-десятичный счетчик нажатий на кнопку К1;

Вариант 2: секундомер (запуск осуществляется по нажатию на кнопку К1, останов – по нажатию на кнопку К2);

Вариант 3: таймер с прямым счетом (запуск осуществляется по нажатию на кнопку К1).

Для всех вариантов величину единицы младшего разряда принять равной 0,1 с. В программе также необходимо реализовать функцию «антизвона» для кнопок К1 и К2 с целью исключения многократного срабатывания подпрограммы от одного нажатия кнопки. Факт нажатия кнопки фиксировать при перепаде состояния соответствующего бита старшей половины порта С. Младшая половина порта С используется в качестве дешифратора, необходимого для управления индикаторами.

Контрольные вопросы:

1. Какими способами можно повысить яркость дисплея с динамической индикацией?

2. В чем состоит недостаток статического светодиодного дисплея?

3. Почему следует обновлять информацию на динамических дисплеях с частотой не менее 50 Гц?

4. Зависит ли яркость дисплея от количества его разрядов?

5. Зачем нужна операция гашения при работе с динамическими дисплеями?

Время выполнения работы – 6 часов


9. АППАРАТНО-ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАНИЯ

Цель работы: изучение принципов построения и алгоритмов аналого-цифровых преобразователей на основе микропроцессорной системы.

Задание:

1. Произвести калибровку ЦАП. Определить Uвых. макс при входном коде 0FFH и Uвых.мин при входном коде 00Н.

2. Написать, ввести и выполнить программы для реализации вышеперечисленных алгоритмов реализации АЦП. Старт преобразования выполнить по нажатию на К1, вывод информации производить на светодиодный двоичный индикатор.

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

Контрольные вопросы:

1. Для каких целей необходимо аналого-цифровое преобразование?

2. В каком случае метод единичных приближений даст меньшее время преобразования, чем метод поразрядного уравновешивания?

3. Для каких технических задач можно использовать АЦП следящего уравновешивания?

4. Чем отличаются алгоритмы АЦ преобразования с линейным развертыванием и развертыванием с неравномерными ступенями?

5. Какую функцию выполняет компаратор в схеме АЦП?

6. Какие типы АЦП вы знаете?

7. Можно ли с помощью ЦАП осуществить умножение аналогового сигнала на цифровой?

Время выполнения работы – 8 часов


10. ТЕХНОЛОГИЯ ПОДГОТОВКИ И ВЫПОЛНЕНИЯ ПРОГРАММ НА МАКРОАССЕМБЛЕРЕ ASM-86

Цель работы: изучение последовательности работы при подготовке программ на макроассемблере, их отладке и выполне­нии в системе программирования TEDASM; изучение функций и последовательности работы с отладчиком программ AFD.

Задание:

1. Запустить на выполнение систему программирования TEDASM.

2. Ввести с помощью редактора TEDASM приведенную в прил. 1 программу, установить опции ассемблирования, произвести трансляцию и выполнение программы.

3. Вторично оттранслировать программу с формированием испол­няемого файла (name.com) на диске С.

4. Вызвать отладчик AFD.

5. Загрузить отлаживаемую программу и выполнить ее в покомандном режиме и с промежуточными остановами. Для индикации памяти данных использовать соответствующие окна отладчика.

Контрольные вопросы:

1. Назовите основные комнады системы TEDASM.

2. Как получить листинг программы?

3. Как осуществляется пошаговое выполнение ассемблерной программы?

4. Как просмотреть область памяти с заданным начальным адресом?

5. Назовите рекомендуемый порядок действий при работе с отладчиком.

Время выполнения работы – 2 часа


11. ПРОГРАММИРОВАНИЕ ПРОСТЕЙШИХ АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ С ЦЕЛОЧИСЛЕННЫМИ ПЕРЕМЕННЫМИ

Цель работы: изучение команд пересылки данных, сложения и вычитания микропроцессора К1810ВМ86.

Задание:

Используя приведенные в приложении подпрограммы PSN и PNS для перевода чисел из символьной формы в десятичную и обратно, написать и отладить программу вычисления заданного арифметического выражения. Для ввода и вы­вода значений переменных использовать буферы в виде символьных строк. Входные переменные полагать двухзначными целыми. Ввод переменных осуществляется оператором с клавиатуры, вывод результата производить на экран монитора.

Контрольные вопросы:

1. Сколько команд содержит система команд микропроцессора К1810ВМ86?

2. Можно ли переслать данные из одной ячейки памяти в другую с помощью команды MOV?

3. На какие группы по функциональному признаку можно разбить систему команд микропроцессора К1810ВМ86?

4. Какие команды используются для работы со стеком?

5. Какое действие выполняет команда CBW?

6. В чем состоит особенность работы команд LEA, LDS и LES по сравнению с другими командами пересылки данных?

7. Для каких целей можно использовать команду XLAT?

Время выполнения работы – 4 часа


12. ВВОД-ВЫВОД И ПРЕОБРАЗОВАНИЕ ЧИСЛОВЫХ ДАННЫХ

Цель работы: изучение средств ввода и вывода данных в символьной форме, а также приемов преобразования числовых данных из символь­ной формы в двоичную и обратно.

Задание:

1. Ввести исходные данные с клавиатуры в символьном виде;

2. Произвести вычисления согласно варианту задания

3. Вывести результат на экран.

Контрольные вопросы:

1. Какое программное прерывание используется для обращения к подсистеме ввода/вывода операционной системы MS-DOS?

2. Каким образом происходит задание номера функции?

3. В каком виде должна хранится символьная строка для вывода на экран?

4. Можно ли при вводе с клавиатуры ввести служебный символ?

5. Сколько байт памяти должен зарезервировать программист при организации ввода с клавиатуры n символов?

6. Что такое ASCII-строка?

7. Что такое нуль-терминатор для символьной строки?


Время выполнения работы – 4 часа

13. ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЕНИЙ

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

Задание:

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

<знак числа> <старшая цифра> <младшая цифра>

Перевод чисел из символьной формы в числовую и обратно вы­полнить с помощью подпрограмм PSN и PNS соответственно.

Контрольные вопросы:

1. Что такое безусловный переход и чем он отличается от условного перехода?

2. С помощью какой команды условного перехода можно организовать программный цикл?

3. При каком условии происходит переход по команде JLE m?

4. Какой способ адресации используется в командах условного перехода?

5. Возможен ли условный переход на адрес в другом сегменте?


Время выполнения работы – 4 часа


14. КОМАНДЫ ОБРАБОТКИ ЦЕПОЧЕК ДАННЫХ

Цель работы: изучение команд обработки цепочек данных микропроцессора К1810ВМ86.

Задания:

1. Ввести строку символов и вывести ее в обратной последова­тельности.

2. Ввести строку символов "номерфамилиягруппа", дополнить ее побелами и вывести "номер фамилия группа".

3. Ввести строку латинских букв и заменить их русскими после­довательно. Вывести полученную строку.

4. Ввести строку латинских и русских букв вперемешку. Заме­нить все русские буквы латинскими. Вывести полученную строку.

5. Ввести две символьные строки одинаковой длины. Сравнить их символ за символом до первого отличного. Вывести номер символа.

6. Ввести строку символов. Подсчитать сколько раз в ней встре­тится символ 'A'. Полученное количество преобразовать в сим­вольную форму и вывести.

7. Ввести строку символов из русских и латинских букв. Заме­нить русские буквы пробелами. Вывести полученную строку.

8. Ввести строку символов. Сформировать и вывести строку вдвое большей длины, где каждый символ предваряется пробелом.

9. Ввести строку символов. Сформировать и вывести строку вдвое большей длины, где каждый символ повторяется дважды.

10. Ввести четное число символов. Вывести вторую половину сим­волов в обратной последовательности.

11. Ввести символы цифр от '0' до '9'. Преобразовать каждый сим­вол в число в диапазоне от 0 до 9. Сложить полученные числа и вывести сумму в символьной форме.

12. Ввести строку с четным количеством символов. Поменять места­ми каждую пару символов. Вывести полученную строку символов.

13. Ввести строку с четным количеством символов. Вторую половину строки забить символом нуля. Вывести полученную строку символов.

14. Ввести строку символов. Каждый четный по порядку следования символ заменить символом '*'. Вывести полученную строку символов.

Контрольные вопросы:

1. Что такое цепочка данных?

2. Какой максимальный размер цепочки ( в байтах)?

3. Зачем нужны префиксы повторения?

4. Чем отличается команда CMPS от команды SCAS?

5. Существует ли различие между префиксами REPE и REPZ?

6. В каких сегментах должны быть расположены цепочка-источник и цепочка-получатель?

7. На какую величину изменяется содержимое индексных регистров приработе с цепочечными командами?

Время выполнения работы – 4 часа


15. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ ЦЕЛЫХ ЧИСЕЛ

Цель работы: изучение приемов работы c табличными целочисленными данными.

Задания:

1. Для массива чисел подсчитать сумму отрицательных чисел и их количество.

2. В массиве целых чисел оставить только четные по значению элементы, заменив остальные нулями.

3. Из каждой группы равных между собой чисел оставить только одну, заменив остальные нулями.

4. В массиве целых чисел подсчитать сумму положительных чисел и их количество.

5. Вычислить и выдать на дисплей количество чисел, для кото­рых выполняется условие: A(i) > 3.

6. Вычислить сумму элементов целых чисел, которые удовлетво­ряют условию: 0  X(i)  5.

7. Найти сумму элементов, имеющих четный номер.

8. Из массива целых чисел: b(1), b(2), b(3), … ,b(n) сформировать массив c(1), c(2), c(3), … , c(n) такой, что b(i) = iXс(i).

9. Из массива целых чисел: b(1), b(2), b(3), … ,b(n) сформировать массив c(1), c(2), c(3), … , c(n) такой, что с(i) = |b(i)|.

10. Вычислить и выдать на дисплей количество элементов масси­ва, не равных нулю.

11. Вычислить и выдать на дисплей значения и номера элементов массива, для которых выполняется условие: 2 < a(i)  8.

12. Составить массив целых чисел такой, что b(i) = 1, если a(i) > 0 и b(i) = 0, если a(i) < 0. Значения b(1), b(2), b(3), … , b(n) вывести на диплей.

13. Составить одномерный массив целых чисел d(1), d(2), d(3), … , d(n) такой, что d(i) = c(1)|c(2)|....|c(n). Значения d(1), d(2), d(3), … , d(n) вывести на диплей.

14. Найти наибольший элемент массива x(1), x(2), x(3), … , x(n).

15. Найти наименьший элемент массива x(1), x(2), x(3), … , x(n).

Контрольные вопросы:

1. Какие функции выполняет команда XLAT?

2. При работе с массивами в каком случае лучше всего использовать индексную адресацию, а в каком – базовую?

3. Можно ли в качестве индексного регистра использовать регистр ВР?

4. Почему при разработке программ предпочитают использовать относительную адресацию?

5. Какими способами можно организовать программный цикл?

6. Что определяет смещение при использовании базово-индексной адресации?

Время выполнения работы – 4 часа


16. КОМАНДЫ ЛОГИЧЕСКИХ ОПЕРАЦИЙ

Цель работы: ознакомление с командами логических операций и получение навыков работы с битами.

Задания:

1. Ввести целое число. Вывести его двоичное представление.

2. Ввести целое число. Вывести его шестнадцатеричное пред­ставление.

3. Вывести шестнадцатеричное предсталение ко­манды MOVSB.

4. Вывести двоичное представление команды SCASB.

5. Ввести два целых числа, произвести над ними логическое сложение и вывести двоичное представление результата.

6. Ввести два целых числа, произвести над ними арифмети­ческое сложение и вывести шестнадцатеричное представление результата.

7. Ввести два целых числа, произвести над ними операцию "иск­лючающее или" и вывести двоичное представление результа­та.

8. Ввести два целых числа, произвести над ними операцию "иск­лючающее или" и вывести шестнадцатеричное представление результата.

9. Ввести целое число, произвести его арифметический сдвиг на один раз­ряд влево. Вывести двоичное представление результата.

10. Ввести двоичное число кратное 4, произвести его арифметический сдвиг на два разря­да вправо. Вывести двоичное предствление результата.

11. Ввести три числа. Заполнить три последовательных байта значениями знакового разряда этих чисел. Вывести шест­надцатеричное представление байтов.

12. Ввести два буквенно-цифровых символа. Произвести над ними операцию "исключающее или". Вывести двоичное представле­ние результата.

13. Выполнить операцию "исключающее или" с кодами команд XCHG AX,BX и XCHG BX,AX. Вывести двоичный результат операции.

14. Ввести целое число, изменить знак и вывести двоичное представление резуль­тата.

15. Ввести целое число, инвертировать и вывести шестнадцатеричное представление ре­зультата.

Контрольные вопросы:

1. Назовите логические команды i8086.

2. Какая логическая команда может использоватся для сброса отдельных бит в байте (слове)?

3. На какие флаги и каким образом влияют логические команды?

4. Для чего служит команда TEST?

5. Какая логическая команда может использоватся для установки отдельных бит в байте (слове)?

6. Корректно ли использование команды JO после какой-либо логической команды?

7. На какие флаги влияет команда NOT?


Время выполнения работы – 4 часа


17. ОРГАНИЗАЦИЯ ПОДПРОГРАММ

Цель работы: изучение базовых принципов организации подпрограмм.

Задания:

1. Составить подпрограмму обнуления произвольного столбца двумерного массива. Обнулить три столбца произвольного массива.

2. Составить подпрограмму взаимной перестановки каждой па­ры символов массива с четным количеством элементов. Об­работать три массива.

3. Составить подпрограмму поэлементного суммирования двух столбцов двумерного массива в один. Найти сумму двух пар столбцов.

4. Составить подпрограмму, позволяющую менять местами два произвольных столбца двумерного массива.

5. Составить подпрограмму выделения произвольного столбца двумерного массива в одномерный. Выделить два произвольных столбца.

6. Составить подпрограмму поэлементного сложения двух мас­сивов в третий. Сложить два раза по два массива.

7. Составить подпрограмму выделения произвольной строки из двумерного массива. Выделить две строки.

8. Составить подпрограмму перевода двоичного представления целого числа в двоичное символьное. Вывести двоичные представления трех чисел.

9. Составить подпрограмму перевода двоичного представления целого числа в шестнадцатеричное символьное. Вывести шестнадцатеричные представления трех чисел.

10. Составить подпрограмму нахождения минимального значения среди элементов массива целых чисел. Найти минимальные значения двух массивов разной длины.

11. Составить подпрограмму нахождения максимального значения среди элементов массива целых чисел. Найти максимальные значения двух массивов разной длины.

12. Составить подпрограмму, позволяющую раздвинуть каждую пару символов пробелом. Раздвинуть элементы двух массивов разной длины.

13. Составить подпрограмму сжатия строки символов путем удаления пробелов. Сжать три строки символов.

14. Составить подпрограмму инвертирования строки символов. Проинвертировать две строки.

15. Составить подпрограмму замены всех русских символов пробелами. Обработать две строки символов, содержащие русские и латинские буквы.

Контрольные вопросы:

1. Можно ли заменить команду CALL набором других команд?

2. Что заносится в стек при переходе на подпрограмму?

3. Что должна выполнить подпрограмма в самом начале, до того как перейти к выполнению своей основной функции?

4. Какие действия выполняет микропроцессор при выполнении команды RET disp?

5. Что такое стек?

6. Всегда ли в стек сохраняется регистр CS?

Время выполнения работы – 4 часа


18. ПРОГРАММИРОВАНИЕ МАКРООПРЕДЕЛЕНИЙ

Цель работы: ознакомление с принципами написания и использования макрокоманд.

Задания:

1. Составить макрокоманду записи N пробелов, начиная с про­извольного номера элемента M символьной строки. Выполнить запись N1 пробелов с M1 элемента и N2 пробелов с M2 эле­мента.

2. Составить макрокоманду сравнения двух символьных строк до первого несовпадения. Вывести номер не совпавшего символа.

3. Составить макрокоманду сравнения двух символьных строк до первого сравнения с выводом номера сравнившегося элемента. Выполнить сравнение два раза по две строки.

4. Составить макрокоманду вычисления количества вхождений произвольного символа в символьную строку. Определить количество вхождений двух произвольных символов в две строки.

5. Составить макрокоманду формирования массива символов из двух исходных. Сформировать два массива из двух пар исходных массивов.

6. Составить макрокоманду обнуления фрагмента массива чисел из N элементов, начиная с i-го элемента. Обнулить два фрагмента массива чисел по N1 и N2 элемента, начиная с i1-го и i2-го элемента соответственно.

7. Составить макрокоманду нахождения максимального числа в массиве целых чисел. Найти максимальное число из двух массивов разной длины.

8. Составить макрокоманду нахождения минимального числа в массиве целых чисел. Найти минимальное число из двух массивов разной длины.

9. Составить макрокоманду суммирования элементов одномерного массива произвольной длины. Найти суммы двух массивов.

10. Составить макрокоманду перевода внутреннего двоичного представления целого числа в двоичное символьное. Вы­вести двоичное представление трех чисел.

11. Составить макрокоманду перевода внутреннего двоичного представления целого числа в шестнадцатеричное символь­ное. Вывести шестнадцатеричное представление трех чисел.

12. Составить макрокоманду выделения произвольной строки из двумерного массива. Вывести две строки двумерного мас­сива.

Контрольные вопросы:

1. Что такое макрокоманда?

2. Что такое формальный параметр?

3. Для каких целей используются макроопределения?

4. Что заностися в стек при выполнении макроопределения?

5. Чем ограничено число формальных параметров в макроопределениях?

Время выполнения работы – 4 часа


Таблица 3 – Лабораторный практикум и его взаимосвязь с содержанием лекционного курса


№ п/п

№ раздела
Наименование лабораторной работы

1

1

Изучение учебного комплекса УМК

2

2

Команды перемещения данных (часть 1)

3

2

Команды перемещения данных (часть 2)

4

2

Арифметические команды

5

6

Организация параллельного порта ввода вывода

6

6

Программируемый интервальный таймер К580ВИ53

7

6

Генератор аналоговых сигналов

8

6

Организация динамической индикации в линейных дисплеях

9

6

Аппаратно-программная реализация аналого-цифрового преобразования

10

7

Технология подготовки и выполнения программ на макроассемблере ASM-86

11

10

Программирование простейших арифметических выражений с целочисленными переменными

12

10

Ввод-вывод и преобразование числовых данных

13

10

Программирование разветвлений

14

10

Команды обработки цепочек данных

15

10

Обработка одномерных массивов целых чисел

16

10

Команды логических операций

17

10

Организация подпрограмм

18

10

Программирование макроопределений



  1. Курсовое проектирование


Целью курсового проекта является получение и закрепление навыков проектирования, развитие способностей анализа и разработки технических средств.

Основными задачами курсового проектирования являются:
  • ознакомление с основными стадиями проектирования;
  • закрепление навыков разработки структурных, функциональных и принципиальных схем;
  • закрепление навыков составления документации.

Задание на проектирование:

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

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

Перечень примерных тем:
  • Разработать микропроцессорный блок многопроцессорной системы;
  • Разработать схему арбитража многопроцессорной системы;
  • Разработать устройство контроля за доступом к элементам микропроцессорной системы.

Объем проекта составляет 40 страниц текста и 2 чертежа формата А1. Время на выполнение проекта составляет 51 час.

  1. Контроль знаний студентов