[an error occurred while processing this directive]
Дело в том, что память программ там то 16-битная. (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено sinelogic 23 января 2004 г. 23:04
В ответ на: Вопрос по команде LPM в ATtiny26 отправлено Oldmanoff 23 января 2004 г. 22:11

; извлечение символа из знакогенератора
ldi zl, low(_0*2) ; получить начало знакогенератора
ldi zh, high(_0*2) ; Адресс начала таблицы надо умножать на 2
; бит 0 ZL указывает младший байт или старший
;брать из памяти.
clr acc1 ; аккумулятор1
clc
add ZL, acc0 ; получение адреса символа
adc ZH, acc1 ; в знакогенераторе (в асс0 - смещение
; адреса символа от начала закоген).
lpm ; Load symbol code from program into R0
mov acc0, r0
.........

_0: .db 0b11101110
_1: .db 0b01100000
_2: .db 0b00101101
_3: .db 0b01101101
_4: .db 0b11100001
_5: .db 0b11001101
_6: .db 0b11001111
_7: .db 0b01101000
_8: .db 0b11101111
_9: .db 0b11101101

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru