Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦМПУ / Новая папка / Лаб7ЦМПУ.docx
Скачиваний:
16
Добавлен:
16.04.2015
Размер:
208.94 Кб
Скачать

Код программы:

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

; BASIC .ASM template file for AVR

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

; Define here the variables

;

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

.def temp = r20

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 temp,high(RAMEND) ; Установка указателя стека в конце ОЗУ в старший байт

out SPH,temp

ldi temp,low(RAMEND) ; Установка указателя стека в конце ОЗУ в младший байт

out SPL,temp

.include "New.asm"

.exit

Код подпрограммы:

ldi r16,$14

ldi r17,01

ldi r18,00

EEPROM_write:

; Ожидаем окончание предыдущей записи

sbic EECR,EEWE

rjmp EEPROM_write

; Записываем адрес (r18:r17) в адресный регистр ЭСППЗУ

out EEARH, r18

out EEARL, r17

; Записываем данные (r16) в регистр данных ЭСППЗУ

out EEDR,r16

; Записывает лог. 1 в EEMWE

sbi EECR,EEMWE

; Запуск записи в ЭСППУ установкой EEWE

sbi EECR,EEWE

EEPROM_read:

; Ожидание завершения предыдущей записи

sbic EECR,EEWE

rjmp EEPROM_read

; Установка адреса (r18:r17) в адресном регистре

out EEARH, r18

out EEARL, r17

; Запуск чтения ЭСППЗУ путем установки EERE

sbi EECR,EERE

; Считывание данных из регистра данных ЭСППЗУ

in r20,EEDR

Выполнение программы:

12

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