Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
358 Часть 111. Практическое программирование микроконтроллеров АVR это примерно по 1 00 мкс плюс необходимые операции в начале, итого где-то 1 миллисекунда на 7 байтов данных. Само выполнение команд добавляет к дли тельности совсем немного. В рассматриваемом случае время дополнительно за тягивается необходимостью посылки через UARТ каждого следующего байта, который может быть послан не ранее окончания передачи предыдущего. При ско рости 9600 это добавляет примерно по миллисекунде на каждое значение, кроме последнего, т. е. общая длительность составит примерно 7 мс. Но UART - не показатель, тем более что его легко ускорить в несколько раз (см. главу 15), а в ос тальных случаях такая длительность чтения вполне приемлема - она даже не со бьет динамическую индикацию так, чтобы было заметно для глаза. То есть у нас все готово для построения вполне достойных настольных часов. В главе 15, как мы уже говорили, будет показано, как устанавливать часы через по следовательный порт. Из вариантов индикации у нас пока только обычная динами ческая (см . главу 9), которая при всех ее неудобствах позволяет зато использовать семисегментные цифры любого желаемого размера. В главе 16 мы покажем, как для той же цели использовать готовый 4-разрядный семисегментный светодиодный ин дикатор, а также рассмотрим вывод значений часов и других величин на строчные (знакосинтезирующие) индикаторы. Использовать для этой цели описываемый да лее дисплей MT- l OT l 1 можно только в каких-то сугубо утилитарных целях, т. к. в нем невозможно вывести разделительное двоеточие. Особенности записи и чтения внешней памяти с 12С-интерфейсом Энергонезависимая память типа АТ24Сххх с 1 2 С-интерфейсом имеет структуру на стоящей EEPROM т. е. с индивидуальной адресацией каждого байта. Потому про цедуры обращения с этой памятью существенно отличаются от обычной flash � памяти, которую мы рассматривали в предыдущей главе. Последнее число в обо значении микросхемы означает объем памяти в килобитах - например, АТ24С256 имеет емкость 256 кбит или 32 768 байтовых ячеек (32 кбайт) . Объем памяти в 32 кбайт кажется смешным в сравнении с современными разновидностями flаsh памяти, которые достигают гигабайтных объемов, но для наших целей, как вы уви дите, этого будет достаточно. Максимальная емкость памяти серии АТ24 составля ет 1 Мбит ( 1 28 кбайт), но удобно применять кристаллы от 2 до 5 1 2 кбит включи тельно, т. к. они имеют двухбайтовую адресацию и не требуют лишней траты вре мени на посылку еще одной составляющей адреса. Память принципиально больших объемов с интерфейсом I 2 c не выпускают - слишком он медленный. Заметим, что современные типы АТ24 (с буквой «С» и выше) допускают скорость обмена по I 2 c до 1 МГц при питании 2,7+5 В и 400 кГц при питании 1 ,7 В. В режиме записи это не имеет особого значения : как и положе но энергонезависимой памяти, процедура записи медленная, и сигнал АСК после посылки очередного байта следует ожидать не ранее, чем через 5 мс, т. е. общая скорость записи ограничена величиной примерно 200 байт/с, и быстродействие ин терфейса перестает играть тут решающую роль. Иное дело при чтении - в режиме
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==