Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОМПТ Шарапов. А.В.doc
Скачиваний:
221
Добавлен:
10.05.2015
Размер:
3.94 Mб
Скачать

Моделирование работы устройства с помощью 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. Начинающим "с нуля".