[elektro] MCP23017

lista at tavir.hu lista at tavir.hu
Sat Jan 10 12:09:40 CET 2009


Sziasztok!

MCP23008 illetve 23017 van nálam LCD vezérelt I/Oként használva
Az I2C gerjedést /fel/lehúzást aktív busz esetén jól bírja.

Az adatlap alapján inicializáld fel a chipet (itt a szívás a 2*8 vagy
1x16 bites init). Én 2*8-ba raktam, az számomra kezelhetőbb volt. Poén,
mert a I/O és regisztercímek máshova kerülnek! Ja és a viselkedése
ugyanaz 8/16 bites módban....
Az adatlapot nyomtasd ki, nagy segítség ha hirtelen kell. Az INT részt
nem használtam, csak ki van vezetve - hátha kell.

A 400kHz-s buszt is bírja, lefele ~10 kHz-s busszal is hajtottam, nem
háklis rá.

Bascom minta / zanzásítva....:
(nálam nyomógomb+LCD kezelés volt)

A http://avr.tavir.hu bascom könyvben ott a library, hogy hogyan csinálj
I2C-s karakteres LCD-t. Az a fejezetben 23008-ra van, míg a file cserebere
alatt MCP23017-l (és ott a nyomógomb kezelés is)

'I2C init kimenet a B port
'Init I2C eszkozok
Const Iocon = &B00001100
Const Iodirki = 0
Const Iodirbe = 255
Const Device = &B01000000
'000-ás cím
Const Address_r = &B01000001
Const Address_w = &B01000000

'MCP23017 init
I2cinit
I2cstart                                                    'Sends start
condition
I2cwbyte Address_w                                          '000 cimu
eszkoz (kimenet)IOCON regiszter beállítása
I2cwbyte &H0A                                               'A es B
I2cwbyte Iocon
I2cstop

I2cstart                                                    '000 - Kimenet
B csatorna beállítás
I2cwbyte Address_w
I2cwbyte 1
I2cwbyte Iodirki
I2cstop




Sub I2cportkiir
   B.bl = Lcd_bl
   I2cstart
   I2cwbyte Address_w
   I2cwbyte &H15
   I2cwbyte B
   I2cstop
End Sub

Sub I2cportolvas
   I2cstart                                                 'PortA
   I2cwbyte Address_w
   I2cwbyte &H12
   I2cstop
   Waitms 25
   I2cstart
   I2cwbyte Address_r
   I2crbyte A , Nack
   I2cstop
End Sub







Robert


--


http://avr.tavir.hu -> Bascom és Processing/Wiring magyarul



More information about the Elektro mailing list