Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
;***************************************************************************
;* Работа с внутренней памятью.
;* Обеспечивает копирование блока внутренней памяти программ во внутреннюю SRAM
;* Затем выполняет перезапись участка внутренней памяти во внешнюю
;* Затем выполняет считывание из внешней памяти и сравнение с внутренней
;* Если сравнение проходит успешно то зажигает светодиод (постоянное свечение)
;* Если сравнения нет (хотя бы одна ошибка), то светодиод переходит в мигающий режим
;* Z-pointer: Используется для задания стартового адреса Flash-блока (start address x 2, тип слово)
;* Y-pointer: Используется для задания стартового адреса памяти SRAM
;* X-pointer: Используется для задания стартового адреса памяти XRAM (внешней расширенной памяти)
;* romsize: Размер блока внешней памяти
;*
;***************************************************************************
;***** Подпрограмма копирования блока из ФЛЕШ в SRAM
.def flashsize=r16;размер блока для копирования
.def temp =r18;
.def temp1 =r19;
.def temp2 =r20;
.def ramtemp =r1;
.def ramsize =r17;
;****************************************************************************
;*
;* Попрограмма копирования size байт из PM в SRAM, из SRAM в XRAM
;*
;****************************************************************************
.equ SIZE = 20
.equ BLOCK1 =$100;начальный адрес области в SRAM
.equ BLOCK2 =$7010;начальный адрес области в XRAM
.equ SRAMEND = 4096-2
;***** Main Program Register variables
.org $30
begin_:
;Организуем программный стек в конце сегмента SRAM
Ldi r21,1
Ldi temp,low(SRAMEND)
Out SPL,temp
Ldi temp,high(SRAMEND)
Out SPH,temp
In temp,PORTB;read PORTB latch
sbr temp,(1<<PB4);set PB4
Дата публикования: 2015-09-18; Прочитано: 210 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!