Методичка MK Proteus ЛР1
.pdf2. Порядок выполнения лабораторной работы
1)Запустить программу ISIS 7 Professional (Пуск – Программы –
Proteus 7 Professional - ISIS 7 Professional).
2)Собрать схему, показанную на рис. 2, для чего в основное поле редактора из библиотеки добавить следующие элементы:
- микроконтроллер AT90S8515; - 8 светодиодов LED-RED;
-8 резисторов
|
|
|
(значение |
|
|
|
сопротивления |
||
|
резисторов рассчитать); |
|||
|
- |
один |
питающий |
|
|
вывод +5V (в свойствах |
|||
|
вывода |
|
выбрать |
|
|
«VCC»). |
|
|
|
|
Соединить |
и |
||
|
настроить элементы в |
|||
|
соответствии |
|
со |
|
|
схемой рис.2. |
|
||
|
3) |
|
|
Открыть |
|
текстовый |
|
блокнот |
|
|
(Пуск – Программы – |
|||
|
Стандартные – Блокнот) |
|||
|
и |
набрать |
текст |
|
|
программы |
|
на |
|
Рис. 2. Моделируемая схема на базе МК |
Ассемблере |
AVR, как |
показано ниже. При наборе теста программы внимательно следите за всеми знаками. ;*************************************************************
;В реализуемой программе светодиоды мигают один раз в секунду.
;*************************************************************
.include "8515def.inc" ; Подключение внешней библиотеки с
|
|
; описанием символических имен и |
|
|
; определением адресов регистров МК. |
cseg |
|
|
.org |
0 |
|
.def |
temp = r16 |
; Назначение имѐн временным регистрам. |
.def |
temp1= r17 |
|
.def |
temp2= r18 |
|
rjmp init ; Вектор прерывания по включению питания.
.org 20
****** Подпрограмма формирования задержки 1сек ***************
delay1:
|
ldi |
temp2, 25 |
d0: |
ser |
temp1 |
d1: |
ldi |
temp, 209 |
d2: |
dec |
temp |
|
brne |
d2 |
|
dec |
temp1 |
|
brne |
d1 |
|
dec |
temp2 |
|
brne |
d0 |
|
ret |
|
;****Инициализация МК выполняется при включении питания, а также ; при сбросе кнопкой «RESET» или от сторожевого таймера *******
init |
|
|
ldi |
temp, low(RAMEND) ; Инициализация указателя стека |
|
out |
spl, temp |
; в конце внутреннего ОЗУ |
ldi |
temp, high(RAMEND) ; |
|
out |
sph, temp |
|
ser |
temp |
; temp = 0xFF. Команда устанавливает |
|
|
; все разряды регистра temp в единицу. |
out |
DDRA, 0xFF |
; Конфигурируем порт A на вывод данных. |
;******Основная программа *************************************
main: |
|
|
ser |
temp |
|
out |
porta, temp ; Выключить светодиоды. |
|
rcall delay |
; Вызов подпрограммы формирования |
|
|
|
; задержки 1с. |
clr |
temp |
; temp = 0x00. Команда устанавливает |
|
|
; все разряды регистра temp в ноль. |
out |
porta, 0x00 |
; Включить светодиоды. |
rcall delay1 |
;Вызов подпрограммы формирования задержки1с. |
|
rjmp main |
|
;*************************************************************
Сохранить текстовый файл под названием «Miganie.txt» и заменить расширение .txt на .asm, в результате получим файл, содержащий код программы, написанный на Ассемблере микроконтроллера AVR, с
названием «Miganie.asm». В программе имеются синтаксические
ошибки и неверно используемые команды, которые необходимо исправить при отладке программы.
4)Подключить файл с исходным кодом программы к проекту (выбрав вкладку «Исходник» – Добавить/Удалить файлы исходника. В появившемся окне установить: целевой процессор U1 – AT90S8515, инструмент генерации кода - AVRASM2; имя файла исходника установить с помощью кнопки «Новый», где в появившемся окне выбрать созданный ранее файл «Miganie.asm».
5)Запустить программу, нажав кнопку «Пуск».
6)Отладить программу при наличии ошибок.
7)Проверить, как изменится работа программы при изменении частоты работы МК (в режиме моделирования нажать правой кнопкой мыши на МК AT90S8515 – Правка свойств, параметр «Clock Frequency»
–по умолчанию 4 MHz).
8)Запустить симуляцию работы программы «по шагам», нажав на кнопку «шаг». Для просмотра кода строки, выполняемого МК необходимо выбрать вкладку «Отладка» – AVR Source Code – U1. Для
управления пошаговой работы программы используйте кнопки «шаг
с заходом» (или F11) и «шаг с выходом» (или Ctrl-F11, для пропуска работы цикла или подпрограммы). Разобраться с работой стековой
памяти и счётчика команд.
9) Изменить программу работы таким образом, чтобы светодиоды зажигались в последовательности бегущего огонька.
4.Контрольные вопросы
1)Назначение ССМ PROTEUS.
2)Назначение симулятора.
3)Последовательность создания модели в PROTEUS.
4)Порядок подключения исходной программы к проекту.
5)Назначение пошагового режима работы МК.
5.Содержание отчѐта по лабораторной работе
1)Цель работы.
2)Текст и алгоритм исходной и изменѐнной программы с комментариями по отладке программы.
3)Ответы на контрольные вопросы.
4)Заключение по выполненной работе.