W poście pokażę jak obsłużyć sprzętową magistralę I2C na mikrokontrolerze ATmega8. Procesor będzie komunikował się z ekspanderem PCF8574P. Wybrałem to urządzenie ponieważ akurat był pod ręką i uważam, że będzie najłatwiejszy w obsłudze.
Całość połączyłem na płytce stykowej. Schemat myślę, że nie jest potrzebny. Należy połączyć piny SDA i SCL urządzeń. Ważne by obie linie podciągnąć do zasilania rezystorem np. 4k7. Aby były widoczne efekty naszej pracy do portów P0-P7 ekspandera należy podłączyć diody z dobranym rezystorem. Zwracam też uwagę, że diody zapalamy stanem niskim na pinie ekspandera. Wiąże się to z wydajnością prądową portów ekspandera. Dla stanu niskiego jest to 20mA, a dla stanu wysokiego 200uA. W moim przypadku zapalam diody mimo wszystko stanem wysokim ponieważ użyłem wyświetlacza siedmio-segmentowego ze wspólną katodą . Do testów wystarcza ;)
Zaczynamy od ustawienia adresu ekspandera. W nocie katalogowej mamy taką informację:
Zaczynamy od ustawienia adresu ekspandera. W nocie katalogowej mamy taką informację: