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