6
6
0
Рекомендации по выполнению лабораторной работы:
Модуль отображения
Так как в стенде применен шестиразрядный индикатор, а
индицировать необходимо две величины: заданное и измерен-
ное выходное напряжение ИСН, то целесообразно три старших
разряда индикатора выделить для отображения заданного значе-
ния, а три младших – выходного. Исходной информацией для
отображения являются выходные коды АЦП
для аналоговых
сигналов, поступающих на PA0 и PA1 микроконтроллера, эти
коды используются в исходной программе. Для правильного
отображения чисел на индикаторе, двоичные значения, полу-
ченные от АЦП, должны быть преобразованы в двоично-
десятичные коды, а затем – в коды управления семисегментного
индикатора.
Преобразование двухбайтового двоичного числа в упако-
ванный двоично-десятичный код (BCD)
можно выполнить про-
граммой "bin16bcd5", приведенной в приложении 3. Упакован-
ный BCD-код – это такое представление десятичного числа,
когда каждая десятичная цифра представляется 4 – битным
двоичным позиционным кодом 8-4-2-1. При этом байт содержит
две десятичные цифры. Младшая десятичная цифра занимает
правую тетраду (биты 3 – 0), старшая – левую тетраду (биты 7 –
4). Многоразрядные BCD-числа занимают несколько смежных
байт. Если число
является знаковым, то для представления знака
в BCD-формате отводится старшая тетрада старшего байта. Для
кодирования знака можно использовать шесть двоичных кодо-
вых комбинаций, которые не используются для представления
десятичных цифр. Это коды 1010-1111 (A-F в шестнадцатерич-
ном представлении). Обычно для кодирования знака "плюс"
применяют код 1100 (С), а для знака "минус" – 1101 (D).
Алгоритм программы "bin16bcd5"
заключается в следую-
щем. Предположим, что имеется целое 16-битовое число без
знака (диапазон от 0 до 65535). Очевидно, что необходимо най-
ти 5 десятичных цифр. Способ преобразования заключается в