Jag tänkte fixa ett kodlås med hjälp av en PIC16F84A och en MatrixOrbital display (LCD2041) och ett tangentbord.
Min tanke var att använda I2C för att skicka data till displayen, men hur skall man göra det.
Jag använder MicroCode Studio för att programera PicBasic.
Komandot som används är "I2CWRITE DataPin,ClockPin,Control,{Address,}[Value{,Value...}]{,Label}"
DataPin och ClockPin förstår jag men det övriga (Control, Address,Value)
"Value" bör väl vara datan som jag skall skicka till displayen och "Address" skall väl vara den I2C adress som displayen har, men vad används då "Controll" till?
Så här ser ett kodexempel ut från MicroCode:
Kod: Markera allt
addr VAR byte
cont CON %10100000
addr = 17 ' Set address to 17
' Send the byte 6 to address 17
I2CWRITE PORTA.0,PORTA.1,cont,addr,[6]
PAUSE 10 ' Wait 10ms for write to complete
addr = 1 ' Set address to 1
' Send the byte in B2 to address 1
I2CWRITE PORTA.0,PORTA.1,cont,addr,[B2]
PAUSE 10 ' Wait 10ms for write to complete
// Fredrik