ПСМПС (лаб)
.pdf151
_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