[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