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
Since both I2C and the AT89C51 have been around for decades, I think it's (almost?) inevitable that many people have done this.
They have probably also written about it on the interwebs, too ...
"give me some tips in order to get a succesful communication"
OK:
1. For a start, you will need to understand I2C - so study the I2C Specification: www.nxp.com/.../UM10204.pdf
2. Check for Application Notes from the chip manufacturer.
3. google "bit-bang I2C"; "software I2C"; etc.
But why not simply use a chip which has I2C hardware ... ?
Because it is a project of a subject in my University, so that I cannot changr the microcontroller. Thank you very much for the help, Im gonna check all the tips that yoy said
I'm sorry to inform you that your degree from this "university" will be worthless. The AT80C51 cost more than twice what a modern '51 derivative cost and thus nobody in the real world would use it. Also switching to a modern '51 derivative (e.g. SiLabs) would provide the educational benefit of full debugging capabilities
That is not the case, the teacher ask eaxh group to search for a different microcontroller and work with it in the final project, so we invesrigated and according the our sources and limitations, we chose thid microcontroller. But I think that this is not important xD, the main topic of the thread is I2C in at89c51
well, whatever. anyhow there should be tons of old code for bit-banging I²C on the web. So now you can learn something useless since all modern chips have hardware I²C making bit-banging totally obsolete.
View all questions in Keil forum