Пытаюсь разобраться с АЦП на AVR. Взял за исходник вот эту программу
http://easyelectronics.ru/tretya-programma...cp-na-uart.html (AVR. Учебный Курс. Выдача данных с АЦП на UART. Мультиплексирование каналов АЦП). Вроде бы с алгоритмом разобрался, решил добавить еще вывод на семисегментный индикатор. И у меня встал вопрос о том, как преобразовать значение ацп для отправки его на индикатор. Нашел вот такой проект
http://www.arhimed.info/circuits/atmega8_voltmetr.html(ВОЛЬТМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATmega8). Там есть такая подпрограмма
Код
;;=========================================================================
;; преобразование 10-разрядного двоичного числа
;; в 3-разрядное двоично-десятичное неупакованное число
;; resH:resL - двоичное число
;; r18:r17:r16 - десятичное
bin_to_dec:
ser r18
bin_to_dec1: inc r18
subi resL, 100
sbci resH, 0
brcc bin_to_dec1; вычитаем еще раз (нет заема)
subi resL, -100
sbci resH, 0
ser r17
bin_to_dec2: inc r17
subi resL, 10
brcc bin_to_dec2
subi resL, -10
ser r16
bin_to_dec3: inc r16
subi resL, 1
brcc bin_to_dec3
ret
Я так понял она и выполняет такое преобразование.
Написал програмку, но у нее даже пропала выдача значения в uart.
Буду благодарен, если кто нибудь подскажет ошибку или хотя бы подскажет как правильно реализовать мой проект