求教:两个51单片机之间的IIC通讯网!

求教:两个51单片机之间的IIC通讯网

趋势迷

求教:两个51单片机之间的IIC通讯

2024-08-12 05:17:46 来源:网络

求教:两个51单片机之间的IIC通讯

求教:两个51单片机之间的IIC通讯 -
这个要看你选的51单片机有没有IIC功能,如果有的话,按要求设置就可以通信,没有就要自己模拟一个IIC通信了,一个单片机发送,一个单片机接收,一般8位数据一条线,时钟脉冲一条线,
一般情况下,要进行I2C通讯,你最起码其中有一个芯片要本身就带有I2C通讯接口,用这个带有I2C接口的芯片来作从器件,这样就相对好处理一点。你要是两个都不带这个接口,来模拟的话,很有难度。除非你对I2C协议很清楚,不过从楼主的提问来看,估计就不怎么熟悉这种协议。所以建议还是用别的通讯方式吧,比是什么。

求教:两个51单片机之间的IIC通讯

51单片机的iic通信问题,求助啊 -
IIC总线的时序,好像是:最高频率在400KHz。单片机指令的执行时间,速度快,所以要加延时。停止函数,是在SCL=1期间,SDA出现上升,那么SDA先要为0,这个0,要在SCL=0实现。
在yajuntiantian 基础之上修改的,你看看吧,
如何实现双单片机模拟iic通信? -
那是因为当scl=1;sda=1;这是终止信号。对吧,这样写的话IIC将会停止工作。对于疑问2:加这几句也一样,是芯片现已规定:无论是写数据还是读数据,写完读完之后需释放总线,for循环语句的意思是:for(i=0;i<8;i++){ scl=1; //拉高时钟总线,开始读数据delay();k=(k<<1)|sda; // 后面会介绍。
I2C是串行通信,通信方式大都通过读写寄存器的值进行操作,2个程序都用到I2C,只要两个程序对寄存器访问的入口地址不同,就不会产生冲突,具体你可以百度下I2C的操作时序!这么快给你回复,还请采纳啊,
51单片机模拟IIC总线问题 -
假设你有两台或者以上的S3C2410,单片机作为主机,然后单片机发送数据,所有S3C接收(接收的前提是他的接收端口上获得IIC的开始信号,你可以选择利用中断进行检测),然后你在软件里可以预先设置好每台S3C的地址,即接收单片机的前8BIT,然后对照地址,一样的话就开始接收接下来的信息,没有就放弃这个通信,这是什么。
1、数据位的变化是否有效的输出到输出端引脚,可用示波器测量。2、时钟线的电平是否有效变化,同样要用示波器测量。3、S52端在响应INT0中断后,中断标志位是否清零。4、数据发送与接收逻辑是否一致。你可以查证一下试一试。个人感觉可能是你中断处理的问题。另:建议采用标准的串口通讯吧!如果是串口被164后面会介绍。
2个单片机间以IIC进行通信,它们各自的电压为3.3v和5v,请问这是否有问题...
当然有问题,电压不匹配,
电路图很简单,只用连上2条上,上拉个电阻就可以啦。IIC通信的原理参考飞利浦的标准,两线特定的状态实现数据传输开始,应答,结束等等,多看看时序图就了解啦。但是大多数的51单片机不带硬件IIC模块,我们可以用软件来模拟。我只写过主机的模拟IIC程序,从机的没写过。从机程序51实现难度很大,也不实用是什么。