ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1011019 Топик полностью
fk0, легенда (09.06.2020 21:28, просмотров: 797) ответил RxTx на Интересный взгляд, но не в этом дело. Необходимо было правильно считать время. Для этого использовали прямые аппаратные счетчики - на 10, на 6 итд. Прямой доступ к регистрам-счетчикам принимают за "BCD". Схематика двоично-десятичных счетчиков довольно проста.
Для "правильного подсчёта времени" достаточно единственного бинарного счётчика секунд. Схемотехника BCD-регистров сложнее, чем бинарный сумматор (нужный для инкремента раз в секунду): нужен не один, а аж два сумматора на регистр (для "двоично-десятичной коррекции") и логика вычисления (полу)переноса. 
1. При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110 (= 610 = 1610 — 1010: разница количеств комбинаций полубайта и используемых значений).

2. При сложении двоично-десятичных чисел каждый раз, когда встречается недопустимая для полубайта комбинация (число, большее 9), необходимо к каждой недопустимой комбинации добавить корректирующее значение 0110 с разрешением переноса в старшие полубайты.
[ZX]