|
Кто-нибудь на этой конференции реально использовал в своих проектах ЖКМ WX1602 (или другие, c чипом PCF2119 - BO1602, BT21605, etc)? Никак не получаеться установить соединение с WX1602 через совтверный I2C. Схема подключения ЖКИ к микроконтроллеру ATmega128 такая:
вывод 1 (Vlcd) - соединен с землей через кондер 100 nF
вывод 2 (Vss) - заземлен
вывод 3 (Vdd) - +5V
вывод 4 (SDA) - соединен с двунаправленным портом ATmega
вывод 5 (POR) - соединен с выходным портом ATmega
вывод 6 (SCL) - соединен с выходным портом ATmega
После подачи питания, пытаюсь сделать так:
- генерация положительного импульса power-on reset на ноге 5 (POR)
- жду 3 mS
- генерация START condition (начало передачи I2C)
- передача байта 0x74 (адреса слейва)
- чтение бита ACK
- передача байта 0x00 (управляющий байт)
- чтение бита ACK
- передача байта 0x34 (установить режим 8bit, 2 линии, итд)
- чтение бита ACK
- генерация STOP condition (завершение передачи I2C)
- генерация START condition (начало передачи I2C)
- передача байта 0x74 (адреса слейва)
- чтение бита ACK
- передача байта 0x00 (управляющий байт)
- чтение бита ACK
- передача байта 0x0c (включить дисплей, выключить курсор)
- чтение бита ACK
- генерация STOP condition (завершение передачи I2C)
ну и т.д....
В результате ощущение такое, что никакой передачи/приема данных не происходит вообще, т.е. I2C контроллер мертв. Вместо битов ACK и данных (при чтении с адреса 0x75) - одни нули. Тоже самое было бы, если бы ноги SDA и SCL микроконтроллера висели в воздухе. Пробовал с несколькими ЖКМ, так что порча ЖКМ от статического электричества и т.д. исключена. Со стороны управляющего микроконтроллера тоже все ровно - смотрел на осциллографе.
Кто в курсе в чем может быть баг? Может неможет WX1602 все-таки от 5 вольт работать?
E-mail: info@telesys.ru