- •А.В. Шарапов
- •Часть 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
- •Моделирование работы устройства с помощью симулятора
- •Литература
Моделирование работы устройства с помощью vmlab
Ниже приведен файл проекта для симулятора. Для моделирования работы измерителя частоты сети к входу INT0 подключается генератор прямоугольных импульсов, период которого можно задавать программно. К порту РА подключен LCD-дисплей (две строки по 16 символов).
; файл z10_vm.prj
.MICRO "ATmega16"
.TOOLCHAIN "GENERIC"
.TARGET "z.hex"
.COFF "z.cof"
.SOURCE "z__.c"
.CLOCK 8meg
.POWER VDD = 5 VSS = 0
;V[inst_name] node VSS PULSE(v_initial v_final t_delay t_rise ;t_fall t_width ;t_period)
V1 PD2 VSS PULSE(0 5 0 0 0 5m 21m)
;X[inst_name] LCD(chars lines oscil_freq) RS RW E D7 D6 D5 D4 D3 D2 D1D0
Xdisp LCD(16 2 250K) PA0 PA1 PA2 PA7 PA6 PA5 PA4 nc3 nc2 nc1 nc0
Цель моделирования – проверка работоспособности выбранного алгоритма и оценка времени, которое микроконтроллер затрачивает на обработку информации. При проведении эксперимента раскрываем рабочие окна: Peripherals (окно периферийных устройств, чтобы пронаблюдать значение таймера Т1), I/O Ports (окно портов ввода/вывода, чтобы увидеть подачу импульсов на линию PD2), Control Panel (экран жидкокристаллического индикатора).
При моделировании подключался файл Z10.hex, сформированный при трансляции программы, подготовленной на языке Си, с выводом информации на русском языке (частота сети 47.6 Гц).
Рисунок 11.2 – Рабочие окна симулятора VMLAB
В окне Code (текст программы на языке Си) ставим точки останова перед открывающей и закрывающей скобкой подпрограммы прерывания и, проведя цикл измерения частоты (для этого дважды нажимаем зеленую кнопку светофора), определяем по данным окна Messages время выполнения подпрограммы прерывания. Оно составило 3,81 мс, что говорит о работоспособности выбранного алгоритма определения частоты. Практически каждый период сетевого напряжения обновляется значение рассчитываемой частоты.
В окне Program Memory можно увидеть машинные коды выполняемых команд и соответствующие им команды на языке ассемблера микроконтроллера. Можно реализовать пошаговое выполнение команд, нажимая кнопочку правее светофора.
Моделирование работы устройства с помощью симулятора
PROTEUS VSM
При моделировании на вход прерывания INT0 подавался сигнал с генератора прямоугольных импульсов, частоту колебаний которого можно задавать с помощью соответствующих регулировок (сигнал униполярный амплитудой 5 В). Убеждаемся, что сразу после изменения частоты в диапазоне 17-120 Гц аналогичные изменения происходят на табло LCD-дисплея. При моделировании не требуется подключение кварцевого резонатора и источников питания микроконтроллера и LCD-дисплея.
Рисунок 11.3 – Рабочие окна симулятора ProteusVSM
При моделировании подключался файл Z10.hex, сформированный при трансляции программы, подготовленной на языке Си, с выводом информации на английском языке (power circuit frequency 49.0 Hz).
Литература
1. Шарапов А.В. Цифровые и микропроцессорные устройства: Учебное пособие. - Томск: ТМЦ ДО, 2003. - 166 с.
2. Кривченко И.В. Микроконтроллеры общего назначения для встраиваемых приложений производства Atmel Corp. // Электронные компоненты. - 2002. - №5. - С. 69–73.
3. Кривченко И.В. Преобразование двоичных чисел в двоично-десятичные // ООО «ЭФО». - 1999.
4. Гребнев В.В. Микроконтроллеры семейства АТ89 фирмы Atmel // ООО «ЭФО». - 2000.
5. Гребнев В.В. Микроконтроллеры семейства АVR фирмы Atmel. - М.: ИП Радиософт, 2002.
6. Кривченко И.В. Система команд и программная модель AVR // ООО «ЭФО». - 1999.
7. www.atmel.com.
8. Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. - М.: Издательский дом «Додэка-ХХI», 2005. -560 с.
9. http://avr123.nm.ru. Краткий курс. Микроконтроллеры AVR. Начинающим "с нуля".