www.chms.ru - вывоз мусора в Балашихе |
Динамо-машины Однокристальные микроконтроллеры
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [ 34 ] 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
Таблица 3.35. Назначение выводов PCF8574
Символ | Вывод | Описание |
Адресный вход 0 | ||
Адресный вход 1 | ||
Адресный вход 2 | ||
Квази-двунаправленный I/O порт 0 | ||
Квази-двунаправленный I/O порт 1 | ||
Квази-двунаправленный I/O порт 2 | ||
Квази-двунаправленный I/O порт 3 | ||
Общий провод микросхемы | ||
Квази-двунаправленный 1/0 порт 4 | ||
Квази-двунаправленный I/O порт 5 | ||
Квази-двунаправленный I/O порт 6 | ||
Квази-двунаправленный I/O порт 7 | ||
Вывод сигнала прерывания (LOW) | ||
Линия SCL шины PC | ||
Линия SDA шины RC | ||
Питание laquo;+ |
В чем состоит laquo;изюмиика raquo; данной микросхемы? Как известно, прием и передача данных посредством стробирования не вызывает сложностей. Достаточно помещать данные в сдвиговый регистр, а потом осуществлять их движение подачей стробирующих импульсов. Все это так, но главная сложность работы с шиной 1С заключается в том, что затруднительно фиксировать условие Start, свидетельствующее об активизации шины. Если вы помните, в протоколе шины был оставлен служебный адрес 0000 0001, называемый laquo;программный Start raquo;. Работать в условиях программного отслеживания Start-условия достаточно трудно и далеко не всегда оправданно, поэтому в состав микросхемы PCF8574 была введена laquo;изюминка raquo; в виде вывода генерации прерывания (interrupt, INT). Сигнал прерывания сообщит микроконтроллеру о начале активации шины. Таким образом, сторона микросхемы P(F8574, относящаяся к интерфейсу ГС, представляет собой обычное slave-ycтройство (рис. 3.56).
АО А1 А2
SDA
Vdd Vss
Прерывание
LP фильтр
Входной фильтр
Контроллер IC
Сброс по питанию
Регистр-защелка
I/O порт
импульс WRITE
импульс READ
* РО -* Р1 -* Р2 - РЗ - raquo; Р4 - Р5 ~* Р6 -* Р7
Рис. 3.56. Внутреннее устройство микросхемы PCF8574
Управляющая схема интерфейса параллельного ввода-вывода показана на рис. 3.57. Обратите внимание: интерфейсные выводы защищены от перегрузки диодами VD1 и VD2.
Импульс WRHE
Данные с регистра-защелки
Р0...Р7
Прерывание
Рис. 3.57. Упрощенная схема параллельного интерфейса микросхемы P(:F8.574
Поговорим теперь о программных способах работы с данной микросхемой. Традиционно начнем с определения slave-адреса (рис. 3.58).
т-1-1-г-1-1-г
S О 1 О 0А2А1А0 0 А
PCF8574
so 1 1 1 А2 А1 АО о А J-1-1-1-1-1-L
PCF8574A Рис. 3.58. Slave-адреса микросхем
Вам могут встретиться две разновидности микросхемы PCF8574 - с буквой laquo;А raquo; и без буквы. Отличаются они только четырьмя старшими битами slave-адреса. Таким образом, если на одной шине будет присутствовать 8 микросхем PCF8574 и 8 микросхем PCF8574A, конфликта это не вызовет. Биты А2...А0 задаются с помощью внешних выводов микросхем.
Запись в порт осуществляется но схеме, представленной на рис. 3.59. laquo;Запись raquo; в данном случае означает, что данные с шины IC появятся на параллельном порте Р0...Р7.
Обратите внимание: данные появляются на выходе порта спустя время после возникновения сигнала АСК (а также заниси в порт). Микроконтроллер должен успеть считать предыдущие данные на ли-пнях Р0...Р7 до появления следующего байта данных.
SCL ЛUUзUU\JAIЛJAГdЛJЛГln
Slave-адрес
SDA S о
Условие START
Запись в порт
Данные выходят с порта
Данные в порт
АСК от slave
Данные в порт
АСК от slave
iACK от jsiave
~)( DATA1 )(~DATA2
Рис. 3.59. Запись данных в порт
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [ 34 ] 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |