avr--TWI(I2C)

发布者:czm721002最新更新时间:2017-11-24 来源: eefocus关键字:avr  TWI  I2C 手机看文章 扫描二维码
随时随地手机看文章

TWI: 是一种全双工的串行通讯协议,与I2C工作方式相同,由一条数据传输线SDL,一条时钟线SCL组成,对应单片机的外部引脚PC1,PC0。

             由于只有两条总线,简化了系统设计。

特点:   • 简单,但是强大而灵活的通讯接口,只需要两根线
              • 支持主机和从机操作
              • 器件可以工作于发送器模式或接收器模式
              • 7 位地址空间允许有128 个从机
              • 支持多主机仲裁
              • 高达400 kHz 的数据传输率
              • 斜率受控的输出驱动器
              • 可以抑制总线尖峰的噪声抑制器
              • 完全可编程的从机地址以及公共地址
              • 睡眠时地址匹配可以唤醒AVR

主机:      控制启动和停止传输的设备。主机同时要产生SCL 时钟
从机:     被主机寻址的设备
发送器: 将数据放到总线上的设备
接收器: 从总线读取数据的设备

TWI工作模式:  主机发送模式(MT)

                        主机接收模式(MR)

                        从机发送模式(ST)

                        从机接收器模式(SR)

例如, TWI 可用MT 模式给TWIEEPROM 写入数据,用MR 模式从EEPROM 读取数据。如果系统中有其它主机存在 ,它们可能给TWI 发送数据,此时就可以用SR 模式。应用程序决定采用何种模式。

模式状态缩写:

S: START 状态
Rs:REPEATED START 状态
R:读一个比特(SDA 为高电平)
W:写一个比特(SDA 为低电平)
A:应答位(SDA 为低电平)
A: 无应答位(SDA 为高电平)
Data:8 位数据
P: STOP 状态
SLA:从机地址

 


一、主机模式:可以向从机发送数据,进入主机模式,首先发送一个START信号,接着的从机地址决定了进入MT还是MR模式

                        主机发送(MT):  S+SLA+W,        主机接收(MR):  S+SLA+R

       1、波特率设置:TWBR=100;

        2、分频设置:   TWSR|=(1<

      写过程:

              1)、发送启动信号:  TWCR=(1<

              2)、   等待应答信号:    while ((TWCR&(1<

             3)、 进入主机写模式:   TWDR=0Xa0;// TWDR=SLA+W; //通过在TWDR中写入SLA+W进入主机写模式,SLA+R进入主机读模式

                                                    TWCR=(1<

                                                 while ((TWCR&(1<

    4)、发送要写入的地址:   TWDR=adress;

                                                        TWCR=(1<

                                                          while(!(TWCR&(1<

              5)、 发送要写入的数据: TWDR=data;

                                                        TWCR=(1<

                                                       while(!(TWCR&(1<

             6)、发送停止信号:  TWC(1<

  读过程:

              1)、启动信号:         TWCR=(1<

                                                  while(!(TWCR&(1<

              2)、 进入主机写模式:TWDR=0Xa0; //TWDR=SLA+W;

                                                   TWCR=(1<

                                                     while(!(TWCR&(1<

               3)、写入要读的地址: TWDR=address;

                                                    TWCR=(1<

                                                      while(!(TWCR&(1<

                4)、发送启动信号:  TWCR=(1<

                                                  while(!(TWCR&(1<

                5)、进入主机读模式: TWDR=0Xa1 ;//TWDR=SLA+R;

                                                       TWCR=(1<

                                                        while(!(TWCR&(1<

                6)、 开始读数据:     TWCR=(1<

                                                   while(!(TWCR&(1<

                                                    temp=TWDR; //读取的数据送到变量temp中。

                7)、发送停止信号: TWCR=(1<


关键字:avr  TWI  I2C 引用地址:avr--TWI(I2C)

上一篇:AVR单片机IO使用注意事项及结构全攻略
下一篇:avr--eeprom

推荐阅读最新更新时间:2024-03-16 15:46

基于AVR单片机和组态王的陶瓷检测系统设计
摘要:针对国内的陶瓷性能检测仪自动化程度不高、检测精度低、检测范围比较窄,可视化差等情况,设计开发了一种基于AVR ATmega128单片机和北京亚控公司的组态软件的陶瓷检测实时控制系统。该系统运用虚拟仪器组态王作为上位机,辅以ATmega128单片机为核心的变参数的模糊神经网络PID控制器,对陶瓷性能进行检测。经现场使用表明,该系统检测精度高、范围广、可视化程度高,使用方便。 0 引言 在城市的建设进程中,越来越注重绿色环保理念,然而使用实心砖会造成资源的巨大浪费,因此空心砖的使用量急剧增长。生产空心砖需要大量的生态陶瓷材料,但相应的陶瓷材料的性能检测工具还很不完善。研制高性能生态陶瓷性能检测仪具有重要的现实意义。本文以陶
[单片机]
基于<font color='red'>AVR</font>单片机和组态王的陶瓷检测系统设计
第019课 I2C协议详解及裸机程序分析
第001节_I2C协议与EEPROM I2C协议 I2C在硬件上的接法如下(图19-1)所示,主控芯片引出两条线SCL,SDA线,在一条I2C总线上可以接很多I2C设备,我们还会放一个上拉电阻(放一个上拉电阻的原因以后我们再说)。 我们怎么传输数据,我们需要发数据从主设备发送到从设备上去,也需要把数据从从设备传送到主设备上去,数据涉及到双向传输。 举个例子: 体育老师:可以把球发给学生,也可以把球从学生中接过来。 1.发球:a.老师说:注意了(start) b.老师对A学生说我要球发给你(地址)。 :: c.老师就把球发出去了(传输)。 :: d.A收到球之后,应该告诉老师一声(回应)。 :: e.老师说下
[单片机]
第019课 <font color='red'>I2C</font>协议详解及裸机程序分析
I2C总线驱动在嵌入式系统中的两种实现
1 引 言 I2C总线(Inter-IC Bus)是一种通用的串行总线,是用于IC器件之间连接的二线制总线。他通过串行数据线(Serial Data Lines,SDL)及串行时钟线(Serial ClockLine,SCL)两线在连接到总线上的器件之间传送信息,并根据地址识别每个器件。一个或多个微控制器以及外围器件可以通过I2C总线接口非常方便的连接在一起构成系统。这种总线结构的连线和连接引脚少,器件间总线简单。结构紧凑,因此其构成系统的成本较低;并且在总线上增加器件不会影响系统的正常工作,所有的I。C器件共用一套总线,因此其系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,时间同步机制也能够很方便地确定总线时钟,
[单片机]
<font color='red'>I2C</font>总线驱动在嵌入式系统中的两种实现
I2C总线通讯接口器件的CPLD实现
I2C(IIC)总线是PHILIPS公司开发的一种简单、双向、二线制、同步串行总线。它只需两根线(串行时钟线和串行数据线)即可在连接于总线上的器件之间传送信息。该总线是高性能串行总线,具备多主机系统所需要的裁决和高低速设备同步等功能,应用极为广泛。目前市场上虽然有专用IIC总线接口芯片,但是地址可选范围小、性能指标固定、功能单一、使用不方便。根据IIC总线的电气特性及其通讯协议,采用ALTERA公司的FLEX10K系列CPLD器件EPF10K10LC84-3可以方便地实现I2C(IIC)总线的通讯接口,且具有高速、易调试、可以灵活地实现地在线配置等优点,同时大大地减少了系统的开发周期。 1 IIC总线的数据传输规范 I2C(I
[嵌入式]
基于AVR微控制器的电力机车智能辅保系统的实现
    摘要: 给出了以AVR微控制器为核心的电力机车智能辅保系统的设计方案,并介绍了系统硬件及软件的具体实现方法。     关键词: 智能辅保系统 AVR微控制器 硬件 软件 电气机车辅助系统中有劈相机、空气压缩机、通风机及制动风机等各种类型的电机。运行中为了防止出现短路、过流等异常情况而烧毁电机,通常配置辅助保护系统,起到及时监测电机故障并加以处理的作用。目前电力机车上安装的辅保系统都是模拟电路装置,系统硬件复杂,又不方便司机使用和维修。因此,设计一种实时性高、性能可靠的智能辅保系统替代原有的模拟电路装置势在必行。本文将介绍笔者开发的用于韶山型电力机车的智能辅助保护系统的设计及实现。 1 系统的主要功能
[应用]
I2C接口的数字温度传感器TMP101及其应用
1 TMP101的引脚功能和主要特性 TMP101是TI公司生产的12位低功耗、高精度的数字温度传感器它采用与I2C和SMBus相兼容的2线数字接口,可应用于许多高分辨率和宽量程温度测量场合,如温度控制系统、个 计算机保护、电子测试仪器、办公设备以及生物医学仪器等方面。TMP101采用6脚SOT23封装,其引脚排列如图1所示,引脚功能如下: 1脚SCL:串行总线时钟,CMOS电平; 2脚GND:接地脚; 3脚ALERT:总线报警输出,开路; 4脚 V+:电源; 5脚 ADD0:用户设置的地址输入; 6脚 SDA:串行数据线,CMOS电平,双向,开路; TMP101的供电电压范围为2.7
[传感技术]
嵌入式学习笔记18——AVR单片机之熔丝位设置
1.熔丝位简介: 熔丝位状态为 1 表示未编程,熔丝位状态为 0 表示编程,因为在AVR的器件手册中是使用已编程和未编程定义熔丝位的。 AVR单片机的熔丝位是可以多次编程的。 AVR单片机芯片加密锁定之后(LB2/LB1=1/0,0/0)不能通过任何方式读取芯片内部的Flash和EEPROM的数据。 下载编程的正确步骤是:下载运行代码和数据,配置相关的熔丝位,最后配置芯片的加密位。 2. AVR单片机加密熔丝位的设置 3. 功能熔丝位的设置 4. Bootloader熔丝位简介 5. 系统时钟源选择熔丝位 6. 使用外部晶体时的工作模式设置 7.
[单片机]
嵌入式学习笔记18——<font color='red'>AVR</font>单片机之熔丝位设置
在P87LPC764单片机I2C总线系统中扩展LCD显示器
1 引言    I2C总线是Philips公司推出的芯片间串行传输总线。它仅用串行数据线(SDA)和串行时钟线(SCL)两根连线便实现了完善的全双工同步数据传送,并可很方便地构成多机系统和外围器件扩展系统。    本文介绍在P87LPC764单片机中利用I2C总线系统中典型的LCD驱动控制器件PCF8577C来扩展256段静态LCD的电路设计方法。 2 硬件电路设计 2.1 P87LPC764单片机的I2C总线接口    P87LPC764是Philips公司生产的一种小封装、低成本、高性能的单片机(具体内容见参考文献2)。它采用80C51加速处理器结构,片内带有支持I2C总线的硬件接口。当激活I2C总线时,P87LPC7
[工业控制]
在P87LPC764单片机<font color='red'>I2C</font>总线系统中扩展LCD显示器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved