Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПСМПС (лаб)

.pdf
Скачиваний:
20
Добавлен:
10.06.2015
Размер:
1.42 Mб
Скачать

151

_KEY BIT P1.4 _LED BIT P1.3 _CS BIT P1.2 _RD BIT P1.1 _CONVST BIT P1.0 DATAPORT EQU P2 counter EQU R5

main SEGMENT CODE mdata SEGMENT DATA stack SEGMENT IDATA

CSEG AT 0 USING 0 org 0000h ljmp init

RSEG main

init:

;инициализация стека mov SP, #stack - 1

/*Семейство mcs51 имеет 'квазидвунаправленные' выводы пор-

тов.

Т.е. вниз они тянут более-менее прилично, а вверх тянет несильный pull-up. Для конфигурирования ноги на ввод в

соответствующий бит порта просто выводится единичка, наружный сигнал ее пересиливает.*/

;инициализайция портов и линий в/в clr _CONVST

setb _CS setb _RD

mov DATAPORT, #0FFh

;настроим адрес таблицы, куда записываем значения из АЦП mov R0, #table

152

;настройка счетчика mov counter, #31

;гасим светодиод setb _LED

setb _KEY

;ОБЛАСТЬ ФОНОВЫХ ЗАДАЧ forever:

;цикл чтения из АЦП

__rr:

;строб CONVST

clr _CONVST setb _CONVST

;ожидаем время преобразования mov delay, #5

call wait

;активируем сигналы выборки и чтения clr _CS

clr _RD

;защелкиваем результаты преобразования mov A, DATAPORT

;и записываем их в таблицу mov @R0, A

;увеличиваем адрес (след. элемент таблицы) inc R0

;деактивируем сигналы выборки и чтения setb _RD

setb _CS

;уменьшаем счетчик и переходим в начало если не нуль djnz counter, __rr

;если уже считали 32 значения

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

mov counter, #31 mov R0, #table

;зажигаем светодиод clr _LED

;и в бесконечном цикле ожидаем нажатия кнопки

;(появления "0" на линии _KEY)

__kk: jb _KEY, __kk

153

;гасим светодиод setb _LED

;переходим в начало и все повторяем sjmp forever

;ПРОГРАММНАЯ ЗАДЕРЖКА

wait:

ww2:

mov R7, delay ww1: djnz R7, ww1

djnz delay, ww2 ret

RSEG mdata

table: DS 20h delay: DS 1

RSEG stack DS 10h

END

2.Выполните сборку проекта и перейдите в режим отладки. При пошаговой отладке наблюдайте за состоянием РОН и рабочих линий порта P1. Для симуляции работы АЦП используйте ручную или автоматическую, с помощью отладочной функции, установку состояния порта Р2.

3.2.Задания

1.Изучите материал раздела 2.

2.Реализуйте в виде программы микроконтроллера управление АЦП с возможностью инициализации преобразования по сигналу переполнения таймера/счетчика. В данном случае начало серии из 32 преобразований должно начинаться по сигналу от таймера/счетчика.

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

1.Какую функцию выполняет сигнал на выходе BUSY в АЦП AD7819?

2.Какие преимущества дает использование внешнего АЦП по сравнению со встроенным АЦП микроконтроллера?

154

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Юров В. Ассемблер. – С.- Пб.: Питер, 2001. – 624 с.

2.Зубков С.В. Ассемблер: язык неограниченных возможностей. – М.: ДМК Пресс, 1999.

2.Энри К. Программирование на языке ассемблера для микроконтроллеров семейства i8051. – М.: Горячая линия-Телеком, 2004. – 191 с..

3.Фрунзе А.В. Микроконтроллеры – это просто. Т.1. – М.: ИД-Скимен, 2002. – 336 с.

3.Евстифеев А.В. Микроконтроллеры AVR семейства Classic фирмы

Atmel. – М.: Додэка, 2002. – 288 с.

4.Тавернью К. PIC-контроллеры. Практика применения. – М.: ДМК, 2003.

272 с.

155

ОГЛАВЛЕНИЕ

ЧАСТЬ I. ОСНОВЫ АРХИТЕКТУРЫ И ПРОГРАММИРОВАНИЯ УНИ-

ВЕРСАЛЬНЫХ МИКРОПРОЦЕССОРОВ ........................................................

Лабораторная работа № 1. ОСНОВЫ И СИНТАКСИС ЯЗЫКА АССЕМБЛЕРА. ПРОГРАММНАЯ МОДЕЛЬ INTEL-СОВМЕСТИМОГО МИК-

РОПРОЦЕССОРА.................................................................................................

1.Цель работы ............................................................................................

2.Основные теоретические сведения ......................................................

2.1.Назначение и функции ассемблера....................................................

2.2.Программная модель Intel-совместимого микропроцессора..........

2.3.Синтаксис языка ассемблера ..............................................................

2.4.Жизненный цикл программы на ассемблере ....................................

3.Практическая часть.................................................................................

3.1.Пример простейшей программы на ассемблере

3.2.Задания..................................................................................................

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

Лабораторная работа № 2. ИСПОЛЬЗОВАНИЕ ИНТЕРАКТИВНОГО ОТЛАДЧИКА РЕАЛЬНОГО РЕЖИМА MICROSOFT CODEVIEW. КОМАНДЫ ПЕРЕСЫЛКИ ДАННЫХ И АРИФМЕТИКО-ЛОГИЧЕСКИЕ КОМАНДЫ INTEL-СОВМЕСТИМОГО ПРОЦЕССОРА...............................

1.Цель работы ............................................................................................

2.Основные теоретические сведения ......................................................

2.1.Приемы использования интерактивного отладчика.........................

2.2.Команды пересылки данных...............................................................

2.3.Логические команды и команды двоичной арифметики.................

3.Практическая часть.................................................................................

3.1.Исследование простейшей программы на ассемблере с помощью отладчика CodeView .............................................................................................

3.2.Программирование арифметико-логических операций

3.3.Задания..................................................................................................

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

Лабораторная работа № 3. КОМАНДЫ ПЕРЕДАЧИ УПРАВЛЕНИЯ И ЦИКЛИЧЕСКИЕ КОМАНДЫ. ПРОГРАММИРОВАНИЕ НЕЛИНЕЙНЫХ АЛГОРИТМОВ НА АССЕМБЛЕРЕ

1.Цель работы ............................................................................................

2.Основные теоретические сведения ......................................................

2.1.Классификация команд передачи управления

2.2.Инструкция безусловного перехода

2.3.Инструкции условных переходов и команда сравнения СМР

156

2.4. Инструкции организации циклов.......................................................

3. Практическая часть.................................................................................

3.1. Организация циклической структуры с использованием инструк-

ций условных переходов......................................................................................

3.2. Условные переходы и анализ данных................................................

3.3. Использование инструкции цикла .....................................................

3.4. Задания..................................................................................................

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

Лабораторная работа № 4. СТРУКТУРНОЕ И МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ. ПРОЦЕДУРЫ И МАКРОСРЕДСТВА

1.Цель работы ............................................................................................

2.Основные теоретические сведения ......................................................

2.1. Введение в процедурное программирование в ассемблере.............

2.1.1.Общие сведения о подпрограммах. Процедуры в ассемблере.....

2.1.2.Прохождение параметров в процедуры. Локальные переменные процедуры..............................................................................................................

2.2. Макросредства ассемблера .................................................................

3. Практическая часть.................................................................................

3.1. Техника использования стека для передачи параметров.................

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

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

ЧАСТЬ II. ОСНОВЫ АРХИТЕКТУРЫ И ПРОГРАММИРОВАНИЯ СОВРЕ-

МЕННЫХ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS-51 .......................

Лабораторная работа № 5. АРХИТЕКТУРА И ПРОГРАММНАЯ МОДЕЛЬ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS-51. СРЕДА РАЗРА-

БОТКИ KEIL MVISION2 B АССЕМБЛЕР А251/51..........................................

1.Цель работы ............................................................................................

2.Основные теоретические сведения.......................................................

2.1.Понятие архитектуры микроконтроллера. Назначение выводов микроконтроллеров MCS-51................................................................................

2.2.Программная модель микроконтроллеров MCS-51 .........................

2.3.Форматы и адресация данных микроконтроллеров MCS-51 ..........

2.4.Система команд микроконтроллеров MCS-51..................................

2.4.1.Команды пересылки..........................................................................

2.4.2.Арифметико-логические команды...................................................

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

2.5.Общие представления об интегрированной среде разработки Keil

µVision2 ..................................................................................................................

2.6.Основные положения ассемблера A251/51........................................

157

2.6.1. Представления о сегментации в ассемблере A251/51. Понятие ад-

ресного счетчика..........................................................................................

2.5.2. Директивы символьного определения ............................................

2.6.3.Директивы инициализации и резервирования памяти

2.6.4.Директивы связывания модулей.....................................................

2.6.5.Директивы управления адресом ......................................................

3.Практическая часть ...................................................................................................

3.1.Создание проекта в среде µVision2. Простейшая программа для микроконтроллера MCS-51 ........................................................................

3.2.Задания...................................................................................................

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

Лабораторная работа № 6. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА МИКРОКОНТРОЛЛЕРА MCS-51. ПОРТЫ ВВОДА/ВЫВОДА. ИНТЕГРИРОВАННЫЙ ОТЛАДЧИК СРЕДЫ РАЗРАБОТКИ MVISION2. МАКРОСРЕД-

СТВА АССЕМБЛЕРА А251/51 ...........................................................................

1.Цель работы.............................................................................................

2.Основные теоретические сведения.......................................................

2.1. Порты ввода/вывода MCS-51, их использование и программирова-

ние...........................................................................................................................

2.2.Отладчик среды µVision2....................................................................

2.3.Макрокоманды ассемблера A251/51..................................................

3. Практическая часть.................................................................................

3.1.Управление линейкой светодиодов....................................................

3.2.Управление семисегментным индикатором......................................

3.3.Задания..................................................................................................

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

Лабораторная работа № 7. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА МИКРОКОНТРОЛЛЕРА MCS-51. СИСТЕМА ПРЕРЫВАНИЙ. ТАЙМЕРЫСЧЕТЧИКИ И ИХ ИСПОЛЬЗОВАНИЕ. ОТЛАДОЧНЫЕ ФУНКЦИИ

µVISION2 ...............................................................................................................

1.Цель работы.............................................................................................

2.Основные теоретические сведения.......................................................

2.1.Система прерываний MCS-51.............................................................

2.2.Таймеры-счетчики и их использование.............................................

2.3.Отладочные функции среды µVision2 ...............................................

3.Практическая часть.................................................................................

158

3.1 Использование сигнальных отладочных функций для симуляции

внешнего прерывания.................................................................................

3.2.Использование таймера-счетчика T/C0 для отсчета временных ин-

тервалов........................................................................................................

3.3.Задания..................................................................................................

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

Лабораторная работа № 8. СОПРЯЖЕНИЕ МИКРОКОНТРОЛЛЕРА

MCS-51 С ПАРАЛЛЕЛЬНЫМ АЦП...................................................................

1.Цель работы.............................................................................................

2.Основные теоретические сведения.......................................................

2.1. Сопряжение микроконтроллера с параллельным АЦП...................

 

3. Практическая часть.................................................................................

 

3.1 Программное управление внешним параллельным АЦП AD7819.

 

3.2. Задания..................................................................................................

 

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

 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК ................................................................

51

159

Вячеслав Евгеньевич Леонтьев

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

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

«Программные средства микропроцессорных систем»

(Кафедра информатики и информационных управляющих систем КГЭУ)

Редактор издательского отдела Н.И. Волокитина

_____________________________________________________________

Изд. лиц. № 03480 от 8.12.00

 

 

Подписано к печати

 

Формат 60 х 84/16

Гарнитура «Times»

Вид печати РОМ

Бумага «Business»

Физ. печ. л.

Усл. печ. л.

Уч-изд. л.

Тираж 60

Заказ

 

_____________________________________________________________

Издательский отдел КГЭУ 420066, Казань, Красносельская, 51

_____________________________________________________________

___

Типография КГЭУ 420066, Казань, Красносельская, 51