Прочитал статью «Модуль светодиодного индикатора на ATtiny13» в февральском номере журнала, и у меня невольно возникли некоторые вопросы:
1) Чем обусловлен такой странный алгоритм работы модуля индикатора, когда он инициирует "прерывания программы источника информации", а последний "должен обеспечивать постоянную готовность к этому". Не было бы более логичным предположить, что у "источника информации" могут найтись дела и поважнее, и именно он должен инициировать передачу данных на модуль индикатора, когда посчитает нужным, а задача модуля – смиренно следить за обновлением информации и поддерживать ее отображение. Таким образом это разгрузит "программу источника информации" от лишних телодвижений.
2) Не логичнее ли заменить DD3 (PCF8574T/3) и DD2 (74HC164D) на две 74HC595D. Во первых, это как минимум в три раза дешевле, во вторых – на порядок доступнее, в третьих – управлять регистрами по SPI намного проще и быстрее, чем расширителем портов ввода/вывода по I2C.
3) Если уж решили построить модуль индикатора с применением отдельного МК, то не логичнее ли было заменить ATtiny13A-SU на МК с большим количеством выводов, например ATtiny2313A-SU, который сразу заменит все три микросхемы: DD1, DD2 и DD3. При этом получим выигрыш по цене, более простую разводку печатной платы и ее меньшие размеры, а также больший запас мощности на случай возможного автономного применения.