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

UptoLike

268
пользоваться для программирования AT89C2051 каким-либо программатором,
реализующим параллельное программирование этого микроконтроллера.
При нажатии на кнопку «0» производится выбор байта данных для пере-
дачи в «ведомое» устройство I
2
C. ASCII-код последнего выбранного байта ин-
дицируется по адресу 0 ОЗУ ЖКИ. При нажатии на кнопку «1» производится
передача выбранного ранее байта в «ведомое» устройство I
2
C. ASCII-код пере-
данного байта индицируется по адресу 4 ОЗУ ЖКИ. При нажатии на кнопку
«2» производится прием байта данных из «ведомого» устройства I
2
C. ASCII-код
последнего принятого байта индицируется по адресу 8 ОЗУ ЖКИ.
Как можно видеть из текста файла i2c_mast.asm, для реализации режима
«мастер» I
2
C центрального процессора использованы подпрограммы описанно-
го выше программного интерфейса i2c_eep.asm с поправками на то, что в этом
случае между «ведущим» и «ведомым» устройствами происходит обмен дан-
ными без выдачи на шину I
2
C адресов ячеек памяти, ввиду отсутствия послед-
ней. Соответственно, подпрограммы Pod_WRITE_I2C и Pod_READ_I2C во
встроенном программном обеспечении центрального процессора модифициро-
ваны таким образом, чтобы производить передачу только байта «адрес устрой-
ства и признак операции» и передачу или прием одного байта данных. Времен-
ные диаграммы, иллюстрирующие процесс передачи одного байта данных из
центрального процессора в ADuC824 и прием одного байта данных централь-
ным процессором из ADuC824, приведены соответственно на рис. 3.17, а и рис.
3.17, в. Временные диаграммы, показанные на рис. 3.17, б и рис. 3.17, г, иллю-
стрируют соответственно порядок передачи и приема последовательности из N
байтов данных. Программное обеспечение для этих диаграмм легко разрабо-
тать, пользуясь подпрограммами из файлов i2c_slav.asm и i2c_mast.asm. Заин-
тересованным лицам предлагается сделать это самостоятельно.