fl
МИКРОКОНТРОЛЛЕРЫ
[}
Александр Черномырдин
г. Магнитогорск
E-mail: chav1961 @ radioliga.com
Часы“тер!\ло
1
\летр
н а A T T IN Y 15
Из описания архитектуры микроконт-
роллера АТПпу15 может сложиться
впечатление, что данный микроконт-
роллер является всего-навсего малень-
кой экзотической игрушкой, годной для
решения разве что самых простых за-
дач. На самом деле это далеко не так,
в чем мы сейчас убедимся.
Попытаемся вместе с читателями
реализовать следующую конструкцию.
На рис. 1 изображены малогабаритные
часы-термометр с питанием от шины
USB персонального компьютера-дос-
тойное продолжение USB-фонариков,
USB-вентиляторов и USB-грелок для
пупка. На “странные” показания не об-
ращайте внимания - динамическая ин-
дикация на фото практически никогда
не получается. Устройство поочередно,
с интервалом около 2 сек, индицирует
текущее время и температуру в поме-
щении. В нем также имеется кнопка, с
помощью которой можно изменять по-
казания часов. При нажатии на кнопку
устройство переводится в режим кор-
ректировки показаний часов, при этом
на экране выдается текущее показание
часов (причем либо часы, либо минуты
подсвечены десятичной точкой). При
повторных нажатиях на кнопку десятич-
ная точка перемещается от часов к ми-
нутам и обратно. При нажатии и удер-
жании кнопки показания часов либо
минут (в зависимости от того, где в дан-
ный момент расположена десятичная
точка) начинают циклически изменять-
ся. Когда они достигнут нужного значе-
ния, кнопку следует отпустить. Двойной
щелчок на кнопку приводит к сохране-
нию нового времени в часы и перево-
дит устройство обратно в режим пооче-
редной индикации. Управление устрой-
ством осуществляется с помощью мик-
роконтроллера АТПпу 15, хотя и на пре-
деле его возможностей - достаточно
сказать, что не используемых в про-
грамме регистров в микроконтроллере
нет вовсе, а флеш-памяти, не занятой
программой, - всего 6 слов. На рис. 2
приведена схема этого устройства в
том объеме, который требуется для
понимания принципа его работы и на-
писания управляющей программы.
Полное описание устройства мы давать
не будем, поскольку целью статьи яв-
ляется рассмотрение вопросов про-
граммирования АТПпу 15, а не описа-
ние конструкции часов-термометра.
Острый дефицит линий ввода-вы-
вода АТПпу 15 вынуждает нас разде-
лять одни и те же линии между несколь-
кими различными устройствами. В дан-
ном случае линия порта В[3] использу-
ется для передачи данных как на драй-
вер светодиодной матрицы, так и на
часы реального времени, а линия пор-
та В[0] используется как для выдачи
синхроимпульса на часы, так и для “за-
щелкивания” информации при обме-
не с драйвером светодиодной матри-
цы. Такое совместное использование
линий порта возможно, если соблю-
дать определенный порядок работы с
ними. Остановимся на этом чуть-чуть
подробнее.
Часы реального времени М41Т56
управляются всего двумя сигналами -
сигналом ЭОА (данные) и сигналом
ЭСИ (синхроимпульсы). В исходном со-
стоянии на линиях ЭОА и ЭСТ должна
присутствовать лог.1. Начало обмена
данными между контроллером и часа-
ми реального времени отмечается с
помощью специальной стартовой пос-
ледовательности, а именно - вначале
сигнал на линии ЭРА должен изменить
свое значение с лог.1 налог.О, а затем
сигнал на линии ЭСЬ также должен из-
менить свое значение с лог.1 на лог.О.
Если нам при обмене данными с драй-
вером светодиодной матрицы удастся
избежать такой последовательности
сигналов, то обмен данными с драй-
вером не вызовет каких-либо нежела-
тельных эффектов при работе с ча-
сами. Обратно, если при обмене дан-
ными с часами “показания" светодио-
дов не будут “скакать”, то в этом слу-
чае также будет возможен обмен дан-
ными с часами без нежелательных
для драйвера эффектов. Достичь это-
го возможно следующим простым
способом:
- в начале работы сигнал и на ли-
нии В[0], и на линии В[3] должны быть
установлен в лог.1;
- при обмене данными с драйвером
светодиодной матрицы вначале на ли-
нию В[0] выдается лог.О. Для драйвера
это - сигнал Latch, блокирующий пря-
мую передачу данных на светодиоды.
Для часов перевод линии В[0] в лог.О
означает выдачу лог.О на линию SCL,
исключая тем самым возможность по-
явления на входах микросхемы часов
комбинации сигналов, которая может
быть распознана ею как стартовая пос-
ледовательность;
- после окончания передачи данных
в драйвер необходимо перевести ли-
нию В[3] в лог. 1, а затем в это же состо-
яние необходимо перевести и линию
В[0]. Порядок перевода в данном слу-
чае важен - необходимо избежать
комбинации сигналов, которая может
быть распознана часами как стоповая
последовательность (таковая тоже
есть);
- при обмене данными с часами,
какая бы комбинация сигналов не при-
шла на вход драйвера, она не вызовет
каких-либо изменений на светодиод-
ном “экране”, потому что прием данных
в регистр сдвига драйвера тактирует-
ся отдельным сигналом CLK, который
подсоединен к линии В[1] и никак не
Рис. 1
М41Т56
DM135
Рис. 2
Радиолюбитель - 0 9 /2 0 0 7 [|
33
предыдущая страница 33 Радиолюбитель 2007-09 читать онлайн следующая страница 35 Радиолюбитель 2007-09 читать онлайн Домой Выключить/включить текст