Отключаемые счетчики электроэнергии на пульте. Все с документами пломбами, гарантией и без посредников!

Преобразование рефлексного кода в позиционный двоичный

Преобразование рефлексного кода в позиционный двоичный

Очень редко может возникнуть необходимость в преобразовании чисел, представленных в рефлексном коде (коде Грея) в позиционный код. В приложениях на основе микроконтроллеров данные в  коде Грея могут поступать от некоторых датчиков старого типа.

Для преобразования числа B, представленного в позиционном двоичном коде, в число G записанное в двоичном рефлексном коде необходимо произвести операцию “исключающее ИЛИ” между самим числом B и частным, полученным от деления B/2:

G = B ^ (B/2) = bn-1*2n-1  + (bn-2^bn-1)*2n-2 + … + (b2^b1)*21 + b1^b0

Преобразование из рефлексного кода в позиционный (сводится к последовательному определению разрядов bn двоичного числа). Как видно, старший коэффициент bn-1 в позиционном двоичном и рефлексном кодах всегда совпадают. Для определения bn-2 необходимо произвести битовую операцию bn-1^(bn-2^bn-1). Точно также по известному bn-2 определяется bn-3 = bn-2^(bn-3^bn-2) и т.д. Подпрограмма преобразования 16-разрядного числа в коде Грея в его двоичный эквивалент:

; R17:R16


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 5 + 9

Добавить изображение

Последние статьи