Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 9. Программирование таймеров 249 падение напряжения достигает 4-4,5 В . Если учесть еще падение напряжения на транзисторных ключах (порядка 2 В), то напряжение питания всей схемы должно быть не менее 7-8 В, а лучше - больше. В нашем случае мы выберем 1 2 В, на ко торые будут рассчитаны токоограничительные резисторы в схеме управления (см. далее). Отметим, что динамическая индикация не допускает пульсирующего питания индикаторов выпрямленным сетевым напряжением 50 Гц, что нормально для типовых схем на распространенном АЦП 572ПВ2, где управление индикацией статическое . Здесь напряжение питания может быть нестабилизированным, прямо с обмотки трансформатора через выпрямитель, но должно сглаживаться фильтром с конденсаторами достаточной емкости, иначе индикаторы неизбежно будут мер цать из-за возникновения биений между частотой сети и частотой переключения разрядов. Пример схемы управления таким индикатором показан на рис. 9 . 5 . Она сделана на этот раз на основе ATmega853 5 по одной простой причине - в этом контроллере все четыре 8-разрядных порта: А,В,С и D - полные, и есть возможность выбрать нужные разряды подряд, не пересекаясь с другими функциями. Удобнее применять битовую маску цифр к одному регистру порта, чем вразбивку по разным выводам. В общем-то можно сделать такое управление и на ATmega8, и на АТtiny23 1 3 (на последней даже удобнее, чем на Mega8, т. к. на ней есть полный порт В), но лучше всего применять для подобных целей контроллеры в 40-выводных корпусах. Ведь мы здесь показали только индикацию, но даже просто часам понадобятся дополни тельные функции, которые здесь для наглядности опущены - прежде всего это кнопки режима установки часов (для чего нужны свободные выводы прерываний INТ I и INTO) . Кроме того, нужен контроль резервной батарейки (об этом рассказа но в главе 1 1), и, возможно, UART - на случай, если вы соберетесь установку часов делать через компьютер (что, конечно, несравненно удобнее, чем тыкать кнопки зубочисткой) . ПОДРОБНОСТИ Если же вам непременно нужен миниатюрный контроллер (40-выводной DI Р-корпус - еще та «дура» по размерам) , то укажем еще на одну возможность - управление раз рядами с помощью внешних дешифраторов или демультиплексоров 1 • Скажем, 561 ИД5 (CD4056) или 561 КП 1 /2 (CD4052/1 ) позволяют управлять разрядами семисегментного индикатора трех-четырехразрядным двоичным кодом , и это решение при большом числе разрядов может пригодиться даже, если у вас 40-выводной контроллер. Кроме того , демультиплексор - удобный способ осуществлять управление яркостью многих индикаторов через единственный выход ШИМ (о режиме ШИМ рассказано далее) . Есть также многочисленные готовые решения на основе регистра сдвига 74НС595 с воз можностью «защелкивания» данных, что позволяет организовать вполне статическую индикацию для большого количества разрядов с управлением всего по трем выводам. Применение таких модулей ограничено куцым выбором по внешнему виду и фанта стическим разнобоем схемотехнических решений при отсутствии какой-либо внятной документации , потому схему с 74НС595 проще построить самостоятельно, чем разби раться в том , что предлагается в продаже. 1 ни Н е аз вание «мультиплексор» относится к случаю коммутации «много входов -+ один выход», назва «демультиплексор» к случаю «один вход -+ много выходов».
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==