ВУЗ:
Составители:
233
ADuC824 вниманию читателей предлагается несколько различных программ,
каждая из которых позволяет реализовать взаимодействие по шине, совмести-
мой с I
2
C, с некоторыми специфическими особенностями.
В качестве примера внешнего устройства, подключаемого к ADuC824 по
интерфейсу I
2
C, выбрана микросхема энергонезависимой многократно про-
граммируемой памяти с последовательным доступом 24LС64 производства
фирмы Microchip [14]. Микросхемы указанного типа широко распространены и
поставляются на рынок несколькими фирмами-производителями (Atmel,
Microchip, STM и т. д.). 24LC64 организована в виде массива памяти, состояще-
го из 8192 8-разрядных ячеек хранения данных. В реальных проектах на основе
ADuC824 такое устройство памяти можно использовать, например, для хране-
ния калибровочных констант, табулированных функций, архивации собранных
результатов измерений, линеаризации характеристик измерительных датчиков
и т. д. Обмен ADuC824 с 24LС64 с использованием аппаратного модуля интер-
фейса, совместимого с I
2
C, в режиме «программный ведущий» иллюстрируется
демонстрационной программой, исходный текст которой находится в файле
i2c_eep1.asm (листинг 3.15). Для экспериментов с этой программой необходимо
собрать макет, принципиальная схема которого приведена на рис. 3.12.
Листинг 3.15. Исследование интерфейса I
2
C
;------------------------------------------------------------------------------
;Демонстрационная программа организации обмена между микросхемой EEPROM
;24LC64 и ADuC824 по шине I2C.
;ADuC824 является мастер-устройством I2C.
;Протокол обмена по шине I2C реализован программно-аппаратно
;(Используется аппаратный модуль в режиме "программный ведущий").
;Программное слежение за состоянием линии SCL не производится.
;
;При нажатии на кнопку 0 производится перебор адресов ячеек для записи данных в
;EEPROM. Выбранное значение адреса ячейки в десятичном виде отображается на ЖКИ
;начиная с адреса 0 ОЗУ ЖКИ.
;
;При нажатии на кнопку 1 производится выбор байта данных для записи в EEPROM.
;Выбранный байт данных в ASCII коде выводится на ЖКИ по адресу 64 ОЗУ ЖКИ.
;
;При нажатии на кнопку 2 производится запись выбранного байта данных в EEPROM
;по выбранному ранее адресу. Записанный байт данных выводится на ЖКИ по
;адресу 70 ОЗУ ЖКИ.
;
;При нажатии на кнопку 3 производится чтение байта данных из EEPROM по
;выбранному ранее адресу. Прочитанный байт данных в ASCII коде отображается на
;ЖКИ по адресу 72 ОЗУ ЖКИ.
;------------------------------------------------------------------------------
$INCLUDE (C:\ADuC\mod824)
$INCLUDE (C:\PR_ADUC\I2C_EEP1\824.inc)
;-----------------------------------------------------------------------------
;Описание битов, регистров и констант
;-----------------------------------------------------------------------------
;Порты и линии ввода-вывода
PORT_KNOP EQU P0 ;порт кнопок
PORT_IND EQU P2 ;порт индикации
_IN_KNOP0 EQU P0_0 ;-----------------------------
_IN_KNOP1 EQU P0_1 ;
_IN_KNOP2 EQU P0_2 ; входы кнопок
_IN_KNOP3 EQU P0_3 ;
Страницы
- « первая
- ‹ предыдущая
- …
- 231
- 232
- 233
- 234
- 235
- …
- следующая ›
- последняя »
