Hi, has someone tried implmenting I2C in AT89C51? Did it work? If yes, can you give me some tips in order to get a succesful communication,please?
Thanks for your help
No , I2C is not essential , we had try using Serial communication but for some reason is not working , the microcontrollee does not recognize serial inputs. I have simulated in proteus and is working fine , but in real life it does not work. So I have to try another way
Go on.
Serial comms is the standard beginners project on any microcontroller. It has been for decades.
http://www.keil.com/forum/63136/
a classic beginner mistake, can not make something work, so try something completely different
another classic beginner mistake indicated by the above is trying to run the TTL outputs from the processor as RS232 - do you ned to add a MAX232(equivalent)?
Appatently no , because what max does is convert voltaje lvl specially from serial port of computers ( 13 V) to 5V . The arduino, raspberry pi give 5 V do I think that it is not neccesary to add extra components ( I have read that , maybe Im wrong)
No, it doesn't - it gives 3V.
If you have been applying 5V signals to your Raspberry Pi, you may have damaged it.
If you have been applying RS323 signals to your Raspberry Pi, you may well have damaged it.
I havent apply 5V signals, because i do not trandmit data from tx of the mic to the rx of the rasp. I know that it gives 3V but I think that 3V is enough to produce high lvl in the mic. Dont know if I need exactly 5V
The microcontroller behaves as specified in its datasheet - not according to what you think.
So look in the datasheet to confirm whether what you think is correct or not...
I said "think" because it is what I read or understand for ttl levels. The datasheet said that the ports are ttl , so 3V I think is enough.
Did it?
There will be a section where it specifically defines the threshold voltage levels for logic "High" and "Low". That's the bit you need to read!