Микроконверторы фирмы Analog Devices в микропроцессорных приборных комплексах. Виноградов А.Б - 241 стр.

UptoLike

241
Рис. 3.13. Запись и чтение байта по интерфейсу I
2
C
Адресация Slave-устройства 7-битовая, а адрес ячейки I2C EEPROM пе-
редается двумя байтами, тат как микросхема имеет емкость больше 256 байт.
Первые четыре бита в 7-битовом адресе Slave-устройства являются маской, ус-
тановленной разработчиками стандарта для микросхем EEPROM I
2
C, 1010, а
оставшиеся три бита образуют собственный адрес Slave-устройства на шине
111. Этот адрес задается подачей на адресные входы DD2 A0, A1, A2 (рис. 3.12)
соответствующих (высоких) логических уровней.
При нажатии на кнопку «0» производится перебор адресов ячеек для за-
писи данных в I
2
C EEPROM. Выбранное значение адреса ячейки в десятичном
виде отображается на ЖКИ с адреса 0 ОЗУ ЖКИ. При нажатии на кнопку «1»
производится выбор байта данных для записи в I2C EEPROM. Выбранный байт
данных в ASCII-коде индицируется по адресу 64 ОЗУ ЖКИ. При нажатии на
кнопку «2» производится запись выбранного байта данных в EEPROM по вы-
бранному ранее адресу. Записанный байт данных индицируется по адресу 70
ОЗУ ЖКИ. При нажатии на кнопку «3» производится чтение байта данных из
I
2
C EEPROM по выбранному ранее адресу. Прочитанный байт данных в ASCII-
коде индицируется по адресу 72 ОЗУ ЖКИ.
Для обеспечения возможности записи и чтения по произвольным адресам
программа производит процедуру так называемой фиктивной записи обраще-
ние к ячейке памяти без собственно записи или чтения (указание на ячейку для
последующих записи или чтения). Эта процедура реализована в подпрограмме
Pod_PWRITE_I2C. В случае осуществления записи после этой процедуры
Master-устройство выдает на шину байт данных записи, дожидается от Slave-
устройства подтверждения и завершает всю процедуру обмен условием «Stop».
Запись байта данных в I
2
C EEPROM по произвольному адресу реализуется
подпрограммой Pod_WRITE_I2C. В случае осуществления чтения после проце-
дуры фиктивной записи Master-устройство повторно генерирует условие
«Start», повторно выдает на шину адрес Slave-устройства уже с признаком чте-
ния, дожидается подтверждения, а затем принимает байт данных чтения, пере-
даваемых Slave-устройством. По завершении приема Master-устройство выдает
на шину бит неподтверждения и завершает всю процедуру чтения выдачей ус-