[an error occurred while processing this directive]
Вопрос по команде LPM в ATtiny26
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Oldmanoff 23 января 2004 г. 22:11

Народ, подскажите, где лажа?
Требуется реализовать программный знакогенератор для ЖКИ.
В конце программы (см ниже)вставлен блок .db, описывающий символы (метки)и их коды для ЖКИ (по одному байту).
В самой программе для извлечения символа используется подпрограмма:

outsymbol: ; вывод символа с кодом в асс0 в текущ. позицию

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


а теперь сам знакогенератор (в самом конце программы):

; Знакогенератор для МТ10Т7-7 от МЭЛТ
;

_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