Лабораторная работа №2. Симулятор VMLab
Цель работы:
1) получить основные навыки работы с симулятором VMLAB;
2) ознакомиться со способом текстового описания схемы симулируемого устройства;
3) проверить работу файла «прошивки» z1.hex, полученного в лабораторной работе №1.
Ход выполнения работы:
1) Создаём новый файл z2_wm, копируем текст программы и сохраняем в формате.prj;
Листинг файла z2_wm
; Файл-проект для симуляции по задаче 2
; МК "прошит" файлом - z1.hex ; полученным в задаче 1 ; ; После включения МК - НЕгорящие ; светодиоды показывают в двоичном ; виде числа от 0 до 255. ; (практически начиная с "1"), и далее ; опять с нуля и так по кругу ; ; светодиоды подключены к порту_А МК
.MICRO "ATmega16"; симулируемый МК .TOOLCHAIN "GENERIC" .TARGET "z1.hex"; .COFF "z1.cof"; .SOURCE "z1__.c";
.POWER VDD=5 VSS=0; Питание +5 вольт ; VSS это GND МК - "общий" провод схемы ; относительно него измеряются напряжения.
.CLOCK 4meg; частота кварца 4 МГц
; ////// =================== /////// ; Ввод схемы устройства по задаче 1
; пункт ж)
; 8 светодиодов подключаются "черточками" ; на изображении диодов на схемах ; к ножкам МК с 33 до 40.
; остальные пункты схемы считаются ; симулятором существующими.
; === Первый светодиод D1 VDD D1_NODE ; Св. диод D1 подключить к VDD (это +5 в) ; и к узлу D1_NODE (я дал произвольное ; но осмысленное название)
R1 D1_NODE PA0 560 ; резистор R1 подключить к узлу D1_NODE ; и к выводу PA0 МК ; номинал резистора 560 Ом
; ========================================= ; остальные 7 светодиодов подкл. аналогично
D2 VDD D2_NODE R2 D2_NODE PA1 560
D3 VDD D3_NODE R3 D3_NODE PA2 560
D4 VDD D4_NODE R4 D4_NODE PA3 560
D5 VDD D5_NODE R5 D5_NODE PA4 560
D6 VDD D6_NODE R6 D6_NODE PA5 560
D7 VDD D7_NODE R7 D7_NODE PA6 560
D8 VDD D8_NODE R8 D8_NODE PA7 560
; ========================================= ; Сигналы на ножках PA0 PA1 PA2 ; будем наблюдать ; в окне виртуального ; осцилографа - "Scope"
.PLOT V(PA0) V(PA1) V(PA2) ; Рисовать графики напряжения ; в перечисленных узлах схемы
2) Запускаем VMLAB, открываем созданный файл;

Рисунок 2.1 – рабочий экран программы VMLAB
3) Через меню View - откройте два компонента:
SCOPE - это виртуальный запоминающий осциллограф симулятора
Control Panel - это панель на которой содержатся нужные нам светодиоды;

Рисунок 2.2 – Необходимые компоненты для выполнения лабораторной работы
4) В меню Project запускаем Re-Build all, в окне messages появляется сообщение об успехе и что все готово к запуску;

Рисунок 2.3 – окно Messages
5) Два раза нажимаем на кнопку Go, наблюдаем за работой программы, замечаем следующее: не горит светодиод D1.

Рисунок 2.4 – симуляция проекта
6) Останавливаем программу, Осциллограф Scope и посмотреть каковы были напряжения в начале ее работы. Для измерения временного промежутка в окне Scope симулятора VMLab нужно установить вертикальные курсоры 1 и 2 на границах измеряемого интервала и в поле Cursor Delta Time появится значение времени между двумя курсорами.

Рисунок 2.5 – окно Scope
7) Необходимо изменить программу на Си так, чтобы двоичный код показывали горящие светодиоды, а видимый счет начинался с нуля - т.е. при запуске программы все светодиоды были бы выключены 65 мс. Для этого надо изменить PORTA++ на PORTA--;

Рисунок 2.6 – обновленная программа
Date: 2016-01-20; view: 1037; Нарушение авторских прав Понравилась страница? Лайкни для друзей: |
|
|