I2C总线是由串行数据线SDA和串行时钟线SCL构成的,可发送和接收数据。它允许若干兼容器件共享总线。所有挂接在I2C总线上的器件和接口电路都应具有I2C总线接口,且所有的SDA/SCL同名端相连。总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选线。
I2C总线最主要的优点是其简单性和有效性。占用的空间小,降低了互连成本。总线的长度可高达7.6m,并且能够以10kbps的最大传输速率支持40个组件。支持多主控器件,其中,任何能够进行发送和接收的设备都可以成为主器件。主控能够控制信号的传输和时钟频率。当然,在某时刻只能有一个主控器件。
在单片机控制系统中,广泛使用I2C器件。如果单片机自带I2C总线接口,则所有I2C器件对应连接到该总线上即可;若无I2C总线接口,则可以使用I/O口模拟I2C总线。
使用单片机I/O口模拟I2C总线时,硬件连接非常简单,只需两条I/O口线即可,在软件中分别定义成SCL和SDA。MCS-51单片机实现I2C总线接口电路如图所示。
电路中单片机的P1.0引脚作为串行时钟线SCL,P1.1引脚作为串行数据线SDA,通过程序模拟I2C串行总线的通信方式。I2C总线适用于通信速度要求不高而体积要求较高的应用系统。
图 题硬件连接电路图
关键字:I2C总线 单片机
引用地址:
说明I2C总线的特点,以及在单片机中实现该总线的方法
推荐阅读最新更新时间:2024-03-16 15:41
单片机测交流电流
电流传感器的4-20ma输出如何转换? 两线制电流传感器的输出为4~20 ma,通过250ω的精密电阻转换成1~5v或2-10v的模拟电压信号.转换成数字信号有多种方法,如果系统是在环境较为恶劣的工业现场长期使用,因此需考虑硬件系统工作的安全性和可靠性。系统的输入模块采用压频转换器件lm231将模拟电压信号转换成频率信号,用光电耦合器件tl117进行模拟量与数字量的隔离。 同时模拟信号处理电路与数字信号处理电路分别使用两组独立的电源,模拟地与数字地相互分开,这样可提高系统工作的安全性。利用压频转换器件lm231也有一定的抗高频干扰的作用。 电流输出型与电压输出型有哪些优劣比较? 在单片机控制的许多应用场合,都要
[单片机]
STM32系列单片机在进入main函数前都在干些什么?
在刚开始学习单片机的时候,一直以为程序启动后就直接进入到了main函数,但是随着学习的深入才发现,程序在进入main函数前其实还要干好多事情。现在就来分析一下,STM32系列单片机程序在进入main函数前都在干些什么? 单片机上电后,程序首先跳转到地址0处,此时主堆栈指针MSP的初值也为0。然后单片机产生了复位信号,主堆栈指针加1,由于单片机内核为32位,所以地址增加一位,实际上是增加了32位,也就是增加了4个字节。此时MSP指针就指向了复位向量。而Cortex-M内核处理器的向量表可以重新定位,所以此时程序就会跳转到复位向量重新映射的地址处。 通过上面的两个图可以看到,通过复位向量的重映射后,MSP指针就会跳转到复位
[单片机]
MSP430单片机低功耗结构原理
当系统时钟发生器基本功能建立之后,CPU内状态寄存器SR的SCG1,SCG0,CPUOFF,OSCOFF位是重要的低功耗控制位。只要任意中断被响应,上述控制位就被压入堆栈保存,中断处理之后,又可恢复先前的工作方式。在中断处理子程序执行期间,通过间接访问堆栈数据,可以操作这些控制位;这样允许程序在中断返回(RETI) 后,以另一种功耗方式继续运行。 各控制位的作用如下: SCG1: 复位,使能SMCLK;置位,禁止SMCLK。 SCG0: 复位,激活直流发生器,只有SCG0置位,并且DCOCLK没有被用作MCLK或SMCLK时,直流发生器才能被禁止。 OSCOFF:复位,激活LFXT1,只有当OSCOFF被置位并且L
[单片机]
嵌入式学习笔记7——51单片机之独立键盘
1. 51单片机的P1、P2、P3口自有上拉电阻,P0口要想当做I/O口使用,必须也加个上拉电阻。 2. 如果用51单片机的I/O口用于输入,必须先将I/O口输出1,即置1。 3. 单片机组成的系统中,用的最多的是非编码键盘,其又分为独立式非编码键盘和行列式非编码键盘。 4. 数字电路中线与、线或的概念: 如上图,线与两端电平做与运算,即当一端为高电平,另一端为低电平时,开关闭合,整个电路为低电平。 线或,Z为高阻态,当另一端为高电平时,开关闭后,整个电路为高电平;若另一端为低电平,开关闭后,整个电路为低电平。 5. 按键消抖(软件方法和物理方法),本文只介绍软件方法:按键按下的实际波形如下图 整个
[单片机]
STM32单片机/485通信详解
在了解485通信之前,需要先了解几个概念,以免一会儿晕头转向。我们在 【通信专栏】一:STM32串口通信(usart) 这篇文章中介绍了一点关于 通信分类 的内容: 串行通信与并行通信 串行通信 是指一比特一比特的收发数据,相对于 并行通信 可一次性收发N比特而言。所以串行或者并行通信都是一种概念,是理论层面的。 并行接口: 串行接口:串行接口必须的为GND,RXD,TXD三条线,其余几条作为握手用,可有可无。 串行接口 串口 ,全称 串行接口 ,也称串行通信接口(通常指COM接口),是 采用串行通信方式的扩展接口 ,乃是物理层面的,常见的有一般电脑应用的RS-232(使用 25 针或 9 针连接器)和工业电脑
[单片机]
基于MODEM的单片机与PC机间的远程通信研究
随着计算机技术、通信技术的发展和成熟,数据通信已经成为一种广泛应用的通信方式,它是利用通信系统将数字、字母及字符等以二进制形成在计算机之间进行传输、交换和处理。数据通信可以在两台及以上PC 机之间、PC机与单片机之间以及单片机之间进行,通过通信通道如公用电话网、载波通道、光绺通道、微波通道、卫星通道将两机联结。目前,单片机以其高性能价格比、高可靠性广泛用于自动监视、测量、控制等技术领域。单片机主要用作从机,安装在监视、测量和控制现场,而PC机则用作主机,安装在条件优越的环境(如温度和温度适合、几乎无干扰源)中。单片机与PC机之间利用公共电话网通过调制解调器MODEM实现远程数字通信,其原理框图如图1所示。在实际中,PC机和单片机
[单片机]
51单片机LED流星雨拖尾灯程序
流星雨就是几个亮度不同的灯一起滚动,亮度依次更暗,像流星雨拖着尾巴。 控制全彩(三色)led也可以用同样的概念编程。 用的是51的单片机pwm实现的拖尾效果 程序的解说以及视频演示请打开http://www.51hei.com/bbs/dpj-22524-1.html 里面有详细的说明. 程序源码: #include reg52.h #define uint unsigned int #define uchar unsigned char uchar abit=16; //流到哪位 uchar atimer0_n; uchar code abit8 ={1,2,4,8,16,32,64,128,0}; uchar nn; c
[单片机]
意法推出STM32WBA5系列微控制器:强化物联网连接与安全
意法半导体(ST)近日宣布推出全新的STM32WBA5系列微控制器,该系列不仅继承了STM32家族在性能、能效及易用性方面的优良传统,更在无线连接与安全性方面进行了显著的提升,以满足日益增长的物联网设备需求。 STM32WBA5系列微控制器内置了Arm Cortex-M33内核,运行频率高达100MHz,配备了丰富的外设接口和高达1MB的闪存、128kB的静态RAM(SRAM)。此外,该系列还支持Arm TrustZone安全隔离架构,为物联网设备提供了硬件级别的安全保障。 在无线连接方面,STM32WBA5系列整合了蓝牙5.4低功耗(BLE)、Zigbee、Thread和Matter等多种网络协议,实现了与各类物联网设备
[物联网]