Для модели AT90S1200, что не возможно "похвастаться" подобный же пышной палитрой аппаратных ингредиентов точно другие агенты рода AVR, будет рассмотрена исключительно программная реализация полнодуплексного приемопередатчика UART, позволяющего передавать данные со скоростью 9600 бод, интерфейсов SPI и 12С, автоперезагрузки таймера, напротив, тоже функции широтно-импульсного модулятора на основе таймера/счетчика Т/СО.
Средства двоично-десятичной арифметики. В том случае, ежели быть нужным плотно выводить из программы на дисплей шест-надцатеричные значения точно десятичные в противном случае же непосредственно делать вычисления с
двоично-десятичными числами в обход шестнадцатеричной организации счисления, можно иначе долговременно осуществлять преобразования, иначе же (то что предпочтительнее) прибегнуть какой-то немногочисленный библиотекой подпрограмм, содержащей средства двоично-десятичной (BCD - Binary Coded Decimal) арифметики. Рекомендуем на очереди набор подпрограмм, что в силах
пригодиться читателю в его собственных проектах. Преобразование шестнадцатеричного числа в BCD-число. Подпрограмма HexBCD проводит преобразовывание 16-разрядного шестнадцатеричного числа, хранимого в регистровой паре hexH:hexL, в пятиразрядное упакованное BCD-число, сохраняемое в регистрах BCD2:BCD1 :BCD0.
Преобразование заключается в некоторых действиях делениях с остатком. Численность в шестнадцатеричной системе счисления способна быть переведено в двоично-десятичный эквивалент путем его последовательного деления на повод новой организации счисления. Личное от текущего деления составляет делимым для следующей действия деления, напротив, соответствующие фрагменты вырабатывают некоторые цифры BCD-числа. Преобразование кончается, ежели исход деления равен нулю.
