реклама на сайте
подробности

 
 
> Динамическая индикация
Ich
сообщение Jan 12 2006, 21:15
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 12-05-05
Пользователь №: 4 962



Всем привет, пытаюсь написать прогу для пятиразрядного динамического индикатора на AVR mega16. Задача - в регистровой паре лежит число, его надо вывести на индикатор. Написал дешифратор - выводит на матрицы числа лежащие в соответствующих регистрах, далее от простого к сложному... начал с двух рязрядов, далее три... и тут...все - тупик sad.gif . Не могу перейти через 199, причина ясна - переполнение регистра. Но как перейти к регистровой паре в моем алгоритме не знаю, т. к. я понял что к ней можно прибавлять только константу до 63, а мне надо будет прибавлять 100, затем 1000 (конечно можно 20 раз по 50... но это не красиво). Вот текст программы которая раскладывает число лежащие в регистре r3, по разрядно в регистры r18:r21:r23 (пока только три smile.gif )

L12:ldi r16,100
add r5,r16
cp r3,r5
brlo L11
inc r18
rjmp L12
L11:sub r5,r16
mov r6,r3
sub r6,r5
L9: ldi r16,10
add r4,r16
cp r6,r4
brlo L10
inc r21
rjmp L9
L10:sub r4,r16
mov r23,r6
sub r23,r4

Если кто-то может помочь мне, то я бы был очен признателен... a14.gif Может быть есть более простые способы для того, чтобы разложить число из регистровой пары на пять разрядов и положить соответствующий разряд в свой регистр? Подскажите хотя бы... дальше я уж сам додумаю.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 17:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01349 секунд с 7
ELECTRONIX ©2004-2016