导航:首页 > 操作系统 > 单片机如何共用iic

单片机如何共用iic

发布时间:2022-11-22 14:42:39

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

这个要看你选的51单片机有没有IIC功能,如果有的话,按要求设置就可以通信,没有就要自己模拟一个IIC通信了,一个单片机发送,一个单片机接收,一般8位数据一条线,时钟脉冲一条线

㈡ 两个51单片机如何通过i2c通讯

一般情况下,要进行I2C通讯,你最起码其中有一个芯片要本身就带有I2C通讯接口,用这个带有I2C接口的芯片来作从器件,这样就相对好处理一点。你要是两个都不带这个接口,来模拟的话,很有难度。除非你对I2C协议很清楚,不过从楼主的提问来看,估计就不怎么熟悉这种协议。
所以建议还是用别的通讯方式吧,比如用SPI,相对会好处理一点,用其中一个芯片的INTx来模拟CS接口,作为从器件在中断中来处理,另外一个就模拟主器件来控制从器件,这样或许会好弄点。如果楼主确实需要通讯,还是赶快换个思路吧,要是卡在一个地方动不了,会耽误你的进程的,祝你好运!

㈢ 两个STM8S103单片机如何用iic总线通讯

STM8是st公司的8位单片机。 1、STM8的程序是直接从flash中读出并执行的,所以是Nor Flash。 2、STM8的指令集是自己的,可以到ST的官网上找到指令集的详细解释。 3、STM8的RAM是SRAM,不是DRAM,具体多大要看是哪颗芯片,不同的芯片是不一样的,你还是到官网上找芯片的数据手册看看吧,或者给个邮箱我发给你几个。 这种8位机启动比较简单,直接从flash的起始地址读代码执行,没有boot之类的东西。

㈣ 如何实现双单片机模拟iic通信

对于疑问1:for循环已经把数据从主器件发送到从器件,没错,后面加那几句是为了释放数据总线,这是芯片协议已经规定了的,为什么是scl=0;而sda=1呢,应该总线SCL与SDA都是线与关系,任意一个器件输出低电平,都使该总线的信号变低,你可能会这么想:为什么不是scl=1;delay();sda=1;delay();呢?那是因为当scl=1;sda=1;这是终止信号。对吧,这样写的话IIC将会停止工作。
对于疑问2:加这几句也一样,是芯片现已规定:无论是写数据还是读数据,写完读完之后需释放总线,for循环语句的意思是:
for(i=0;i<8;i++)
{
scl=1; //拉高时钟总线,开始读数据
delay();
k=(k<<1)|sda; // 将读取到的sda数据存放到k中,这里你可能有点无法理解,我举个例子:刚开始k=0x00(系统默认),当读取到的sda数据为1时,k=0x01;对吧,反之当读取到的sda数据为0时,k=0x00;
scl=0;// 读取完一个数据,拉低时钟总线
delay();
}
就这样循环8次,这样一个字节的数据就从主器件读到了从器件了。对吧。
如果那个释放总线你理解不了,你就记住,这是芯片协议规定,读完或写完都必须释放总线。iic协议都是如此。
希望能帮助到你。

㈤ 单片机程序中SPI总线和IIC总线可以同时存在吗

首先,单片机程序 和SPI总线I2C总线不是一个范畴的概念
SPI总线和I2C总线是硬件总线,其存在性只能在硬件范畴中体现,
一些型号的单片机本身就同时具有以上两种总线,有的存在其中一种,有的则没有。对于有硬件总线的,可通过寄存器直接操作,没有的,可以通过IO模拟。
你可以在程序中操作相关总线,甚至可以同时操作,这和他们的存在性是两码事儿。

“我想问的是我有两个传感器一个用SPI写,一个用IIC写这样行不行”
互不影响,完全可以!

㈥ 单片机如何一个I2C总线连接2个I2C器件

从地址一般是固化的(有些芯片可以通过硬件设定,但不可随意更改为你说的0或者11) 相同的从地址器件在同一I2C里面只能挂一个

㈦ 单片机iic总线问题

I2C总线理解上的难点就是在于
ACK和NACK的使用上,估计你就没看明白I2C协议。简要的给你说下:ACK的时候,SCL=1,表示时钟拉高,增加Delay是为了等待SDA的数据回传(这时master的SDA是输入态,slave的SDA是输出态,SDA==0
即表示Slave响应正确)。ACK主要出现在Command、Address、Data数据传输时。
而NACK主要是在读数据后,结束位前出现,这时Master的SDA为输出,Slave的SDA为输入,SDA需要输出‘1’,告知Slave即将读操作结束。
反观你的代码,ACK中强加Delay不是不行,但很难做的通用兼容。建议考虑判断Sda状态,同时需要有错误退出机制。
最后,你还是再看下I2C
Specification
吧,另外,I2C总线是OC门,注意这个特点,应用很灵活。

㈧ 请问I2C总线如何实现与单片机的应用

IIC只是一个通信协议,只要两个终端符合这个协议就可以实现数据的交换,有的单片机已经集成了IIC的外设,用起来比较简单,还有一部分并没有这样的外设,就要用IO口来模拟出IIC的两条线,一样可以实现通信,祝成功~

阅读全文

与单片机如何共用iic相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163