Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦМПУ / Новая папка (1) / ЦИМПУ(atmega 128).doc
Скачиваний:
102
Добавлен:
16.04.2015
Размер:
4.2 Mб
Скачать

Порядок выполнения

  1. Запустить среду разработки VMLAB.

  2. Создать новый проект с именем “Project.prj”.

  3. В окно кодов ввести листинг программы.

  4. Отладить программу командой Project/Build (F9).

  5. Перейти в окно Память данных через меню View/Data Memory (Alt+Shift+G).

  6. Выполнить программу в пошаговом режиме командой Run/Step into (F7).

  7. Просмотреть изменение состояния регистров (Alt+Shift+R).

  8. В соответствии с предложенными вариантами выполнить задание (см. таблицу).

  9. После выполнения задания для самостоятельной работы, предлагается выполнить одно из заданий для индивидуальной работы (табл.)

  10. Для сохранения проекта выполнить команду File/Save all.

  11. Для выхода из среды разработки VMLAB выполнить команды File/Exit (Alt+F4).

Листинг программы:

; BASIC .ASM template file for AVR

; ******************************************************

; Define here the variables

;

.include "C:\VMLAB\include\m128def.inc""; определение библиотеки МК ;ATmega128, при условии ;расположения программы VMLAB на ;локальном диске С

.DSEG ; Начало сегмента данных

var1:

.BYTE 1 ;Резервируем 1 байт для переменной var1

.CSEG

reset: ; начальная метка

rjmp Start ;Переход на метку Start основной программы

reti ; Addr $01

reti ; Addr $02

reti ; Addr $03 ;Вектора прерываний МК ATmega128.

reti ; Addr $04 ;Приведены вектора с адреса $01 по адрес $10.

reti ; Addr $05 ;Полностью вектора прерываний представлены

reti ; Addr $06 ;в приложении с назначением прерываний

reti ; Addr $07 ;(внешних и внутренних).

reti ; Addr $08

reti ; Addr $09

reti ; Addr $0A

reti ; Addr $0B

reti ; Addr $0C

reti ; Addr $0D

reti ; Addr $0E

reti ; Addr $0F

reti ; Addr $10

start:

ldi r26,01 ;Загружаем младший байт X-регистра

ldi r27,00 ;Загружаем старший байт X-регистра

ldi r17,25 ;Запись числа 25 в РОН r17

st x,r17 ;Пересылка значения из РОН r17 в X-регистр

ld r18,x ; Пересылка значения из X-регистра в РОН r18

.exit

Рис. 7.9. Память данных

Порядок выполнения

  1. Запустить среду разработки VMLAB.

  2. Создать новый проект с именем “Project.prj”.

  3. В окно кодов ввести листинг программы.

  4. Отладить программу командой Project/Build (F9).

  5. Выполнить программу в пошаговом режиме командой Run/Step into (F7).

  6. Просмотреть изменение состояния регистров (Alt+Shift+R).

  7. В соответствии с предложенными вариантами выполнить задание (см. таблицу).

  8. После выполнения задания для самостоятельной работы, предлагается выполнить одно из заданий для индивидуальной работы (табл.)

  9. Для сохранения проекта выполнить команду File/Save all.

  10. Для выхода из среды разработки VMLAB выполнить команды File/Exit (Alt+F4).

Листинг программы:

; BASIC .ASM template file for AVR

; ******************************************************

; Define here the variables

;

.include "C:\VMLAB\include\m128def.inc""; определение библиотеки МК ;ATmega128, при условии ;расположения программы VMLAB на ;локальном диске С

reset: ; начальная метка

rjmp Start ;Переход на метку Start основной программы

reti ; Addr $01

reti ; Addr $02

reti ; Addr $03 ;Вектора прерываний МК ATmega128.

reti ; Addr $04 ;Приведены вектора с адреса $01 по адрес $10.

reti ; Addr $05 ;Полностью вектора прерываний представлены

reti ; Addr $06 ;в приложении с назначением прерываний

reti ; Addr $07 ;(внешних и внутренних).

reti ; Addr $08

reti ; Addr $09

reti ; Addr $0A

reti ; Addr $0B

reti ; Addr $0C

reti ; Addr $0D

reti ; Addr $0E

reti ; Addr $0F

reti ; Addr $10

start:

ldi r17,25 ;Запись числа 255 в РОН r17

sts $40,r17 ; Непосредственная запись в ОЗУ значения из РОНr17 по адресу $40

lds r18,$40 ; Непосредственное чтение из адреса $40 ОЗУ в РОН r18

.exit

Рис. 7.10. Регистры

Соседние файлы в папке Новая папка (1)