- •А.В. Шарапов
- •Часть 1. Микроконтроллеры мк51
- •Предисловие
- •1 Принципы построения цифровых устройств управления
- •2 Общая характеристика микроконтроллеров семейства мк51
- •3 Программная модель и система команд мк51 ( лабораторная работа №1)
- •Программная модель микроконтроллера мк51
- •Система команд микроконтроллера
- •Команды микроконтроллера семейства мк51
- •Команды, влияющие на флаги результата
- •Запись программы на языке ассемблера и ее трансляция
- •Загрузка программы в эмулятор и управление его работой
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •4 Таймеры и система прерываний mк51 (лабораторная работа №2)
- •Таймеры/счетчики событий mcs-51
- •Система прерываний mк51
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •Машинные коды команд mк51
- •5 Упражнения по решению задач
- •6 Примеры программ обработки данных
- •7 Последовательный порт мк51
- •8 Организация линий портов мк51. Подключение внешних устройств
- •9 Направление развития элементной базы 8-разрядных микроконтроллеров Отличительные признаки современной элементной базы
- •Направления развития 8-разрядных мк
- •Модульный принцип построения
- •Резидентная память мк
- •Таймеры и процессоры событий
- •Сторожевой таймер
- •Контроллеры последовательного ввода/вывода
- •Минимизация потребления энергии в системах с мк
- •10 Микроконтроллеры семейства ат89 фирмы Atmel
- •Микроконтроллер at89c4051
- •Микроконтроллер at89s51
- •11 Примеры вопросов компьютерной контрольной работы
- •Литература
- •Часть 2. Микроконтроллеры avr
- •Предисловие
- •1 Общая характеристика микроконтроллеров avr, программная модель и система команд
- •2 Директивы ассемблера
- •Include — Вложить другой файл
- •Форматы представления чисел
- •3 Программный пакет avrStudio
- •4 Микроконтроллер aTtiny15l(лабораторная работа №3)
- •Таймеры aTtiny15l
- •Энергонезависимая память данных еeprom
- •Аналоговый компаратор
- •Аналого-цифровой преобразователь
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •Перечень команд микроконтроллера aTtiny15l
- •5 Микроконтроллер aTmega8 (лабораторная работа № 4)
- •Порты ввода-вывода
- •Регистры таймера т1
- •Режимы работы таймера т1
- •Нормальный режим работы (Normal)
- •Режим сброса таймера при совпадении (стс)
- •Режим быстрой шим (Fast pwm)
- •Режим шим с фазовой коррекцией
- •Режим шим с фазовой и частотной коррекцией
- •Прерывания от таймеров /счетчиков
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •6 Средства разработки программы на языке си, компиляторы и симуляторы
- •7 Язык си для микроконтроллеров
- •Структура программы на языке Си
- •Пункт 4. Объявление переменных
- •8 Загрузка программы в микроконтроллер
- •9 Моделирование работы микроконтроллера avrс помощью симулятораvmlab (лабораторная работа №5)
- •Программа работы
- •Содержание отчета
- •10 Моделирование работы микроконтроллера avr с помощью симулятора proteus vsm
- •11 Измеритель частоты сети
- •Обоснование алгоритма решения задачи
- •Разработка прикладной программы
- •Моделирование работы устройства с помощью vmlab
- •Моделирование работы устройства с помощью симулятора
- •Литература
3 Программная модель и система команд мк51 ( лабораторная работа №1)
Цель работы. Целью лабораторной работы является приобретение навыков использования ассемблера, редактора связей и эмулятора при формировании и отладке прикладных программ для однокристальных микроконтроллеров семейства MCS-51.
Программная модель микроконтроллера мк51
C точки зрения программиста микроконтроллер представляет набор регистров и ячеек памяти с конкретными адресами и обозначениями (рис. 3.1). Резидентную память данных (РПД) составляют четыре банка регистров общего назначения, выбор которых осуществляется установкой и сбросом битов RS1 и RS0 в PSW, 128 программно управляемых флагов пользователя (регистры с адресами 20H-2FH) и регистры с адресами 30H-7FH, которые можно использовать как ОЗУ пользователя или стек. Стек — специально организованная область ОЗУ, предназначенная для временного хранения данных или адресов. Число, записанное в стек последним, извлекается из него первым. Указатель стека SP хранит адрес последней ячейки стека, в которой записана информация. При вызове подпрограммы в стеке автоматически сохраняется адрес возврата в основную программу. Как правило, в начале каждой подпрограммы сохраняют в стеке содержимое всех задействованных при ее выполнении регистров, а в конце подпрограммы восстанавливают их из стека. К адресному пространству РПД непосредственно примыкают адреса регистров специальных функций РСФ (знаком * отмечены регистры, допускающие адресацию отдельных бит, их адреса делятся на 8).
К полному адресному пространству ячеек внешнего ОЗУ данных обращение производится косвенно через 16-битовый регистр-указатель данных DPTR. Для чтения данных из таблиц, зашитых в памяти программ, используется косвенно-регистровая адресация. Любой байт из таблицы может быть выбран по адресу, определяемому суммой содержимого DPTR или РС (программный счетчик) и содержимого аккумулятора.
Результатом выполнения некоторых команд является не только изменение содержимого аккумулятора или РОН, но и формирование признаков (флагов) в специальном регистре слова состояния программы PSW (рис. 3.2).
Слово состояния программы PSW включает в себя четыре флага: С — перенос, АС — вспомогательный перенос, OV — переполнение и Р — паритет. Флаг OV устанавливается, если результат операции сложения/вычитания не укладывается в семи битах и старший бит результата не может интерпретироваться как знаковый. При выполнении операции деления флаг OV сбрасывается, а в случае деления на нуль — устанавливается. При умножении флаг OV устанавливается, если результат больше 255. Флаг Р равен 0, если число единиц аккумулятора четное.
В памяти программ есть пять адресов, которым соответствуют векторы прерываний от пяти источников. Стрелка на рисунке показывает порядок убывания их приоритетов.
Доступ к внешней памяти данных возможен с использованием 16-битного адреса (MOVX A,@DPTR) или 8-битного адреса (MOVX A,@Ri). В любых случаях использования 16-разрядного адреса старший байт адреса фиксируется (и сохраняется неизменным в течение одного цикла записи или чтения) в регистре-защелке порта P2.
Расширенная система команд обеспечивает побайтовую и побитовую адресацию. Отдельные программно доступные биты могут быть установлены, сброшены, могут пересылаться, проверяться и использоваться в логических вычислениях.