欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    实验八51系列单片机II.ppt

    • 资源ID:6270912       资源大小:316.32KB        全文页数:22页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验八51系列单片机II.ppt

    实验八 51系列单片机读写I2C总线,I2C总线是Philips公司推出的一种双向二线制总线,全称为芯片间总线(Inter Integrate Circuit BUS)。其在芯片间使用两根连线实现全双工同步数据传送,一条数据线(SDA)和一条串行时钟线(SCL),可以很方便地构成外围器件扩展系统。I2C总线是很简单方便的芯片间串行扩展总线。使用I2C总线可以直接和具有I2C总线接口的单片机通信,也可以和各种类型的外围器件进行通信,如存储器、A/D、D/A、键盘、LCD等。目前Philips、Atmel、Maxim以及其他集成电路制造商推出了很多基于I2C总线的单片机和外围器件,如24系列E2PROM、串行实时时钟芯片DS1302、USB2.0芯片CY7C68013A等。本章主要介绍了I2C总线的工作原理、结构以及寻址方式,并重点介绍了数据传输协议以及程序实现。这些程序均以子程序的形式提供,便于读者调用。最后通过具体的实例,介绍如何使用单片机读写具有I2C总线接口的E2PROM。,I2C总线概述,I2C总线对数据通信进行了严格的定义,要进行I2C总线的接口设计,就需要首先了解I2C总线的工作原理图、寻址方式和数据传输协议等。,8.0 I2C总线工作原理,典型的I2C总线系统结构,如图28.1所示。其采用两线制,由数据线SDA和时钟线SCL构成。总线上挂接的单片机(主器件)或外围器件(从器件),其接口电路都应具有I2C总线通信能力。,8.1 I2C总线的电气结构和负载能力,I2C总线的SCL和SDA端口输出为漏极开路,因此使用时上必须连接上拉电阻。不同型号的器件对上拉电阻的要求不同,可参考具体器件的数据手册。上拉电阻的大小与电源电压、传输速率等有关系。I2C总线的传输速率可以支持100kHz和400kHz两种,对于100kHz的速率一般采用10K的上拉电阻,对于400kHz的速率一般采用2K的上拉电阻。I2C总线上的外围扩展器件都是属于电压型负载的CMOS器件,因此总线上的器件数量不是由电流负载能力决定,而是由电容负载能力确定。I2C总线上每一个节点器件的接口都有一定的等效电容,这会造成信号传输的延迟。通常I2C总线的负载能力为400pF(通过驱动扩展可达4000pF),据此可计算出总线长度及连接器件的数量。,8.3 I2C总线器件的寻址方式,I2C总线上的所有器件连接在一个公共的总线上,因此,主器件在进行数据传输前选择需要通信的从器件,即进行总线寻址。I2C总线上所有外围器件都需要有惟一的地址,由器件地址和引脚地址两部分组成,共7位。器件地址是I2C器件固有的地址编码,器件出厂时就已经给定,不可更改。引脚地址是由I2C总线外围器件的地址引脚(A2,A1,A0)决定,根据其在电路中接电源正极、接地或悬空的不同,形成不同的地址代码。引脚地址数也决定了同一种器件可接入总线的最大数目。地址位与一个方向位共同构成I2C总线器件寻址字节。寻址字节的格式如表所示。方向位(R/)规定了总线上的主器件与外围器件(从器件)的数据传输送方向。当方向位R/=1,表示主器件读取从器件中的数据;R/=0,表示主器件向从器件发送数据。,8.3 I2C总线数据传输协议及其程序详解,I2C总线规定了严格的数据通信格式,所有具有I2C总线接口的器件都必须遵守。另外,对于应用最广的51系列单片机,却没有提供I2C总线接口。实际上,利用这些单片机的普通I/O口,采用软件模拟I2C总线SCL和SDA上的数据传送时序,完全可以实现对I2C总线器件的读、写操作。下面就分别介绍数据传输过程中的格式以及如何使用8051单片机来实现。这里假设51系列单片机的外接晶振频率为6MHz,单片机的机器周期为2s,采用P1.0作为时钟线SCL,P1.1作为数据线SDA。,8.3.1 起始信号,起始信号用于开始I2C总线通信。在时钟线SCL为高电平期间,数据线SDA上出现由高电平向低电平变化的下降沿时,被认为是起始信号。起始信号出现以后,才可以进行寻址或数据传输等。如果采用C语言进行程序设计,则其程序示例如下:void I_Start()SDA=HIGH;I_Delay(100);SCL=HIGH;I_Delay(100);SDA=LOW;I_Delay(100);SCL=LOW;I_Delay(100);,8.3.2 终止信号,终止信号用于终止I2C总线通信。在时钟线SCL为高电平期间,数据线SDA上出现由低电平到高电平变化的上升沿时,被认为是终止信号。终止信号一出现,所有总线操作都结束,主从器件释放总线控制权。如果采用C语言进行程序设计,则其程序示例如下:void I_Stop()SDA=LOW;I_Delay(100);SCL=HIGH;I_Delay(100);SDA=HIGH;I_Delay(100);SCL=LOW;I_Delay(100);,8.3.3 应答信号,应答信号用于表明数据传输的结束。I2C总线数据传送时,每传送一个字节数据后都必须有应答信号。应答信号从主器件产生。主器件在第9个时钟位上释放数据总线,使其处于高电平状态,此时从器件输出低电平拉低数据总线为应答信号。如果采用C语言进行程序设计,则发送应答位子程序示例如下:void I_Ack()SDA=LOW;I_Delay(100);SCL=HIGH;I_Delay(100);SCL=LOW;I_Delay(100);SDA=HIGH;I_Delay(100);,8.3.4 非应答信号,非应答信号用于数据传输出现异常而无法完成时。在传送完一个字节数据后,在第9个时钟位上从器件输出高电平为非应答信号。非应答信号的产生有两种情况。当从器件正在进行其他处理而无法接收总线上的数据时,从器件不产生应答,此时从器件释放总线,将数据线置为高电平。这样,主器件可产生一个停止信号来终止总线数据传输。当主器件接收来自从器件的数据时,接收到最后一个数据字节后,必须给从器件发送一个非应答信号,使从器件释放数据总线。这样,主器件才可以发送停止信号,从而终止数据传送。,8.3.5 应答位检查,应答位检查用于检测接收的是否为正常的应答信号,以便于判断数据接收是否正常,方便后期处理。如果采用C语言进行程序设计,则检查应答位子程序示例如下:bit I_TestAck()bit ErrorBit;SDA=HIGH;I_Delay(100);SCL=HIGH;I_Delay(100);ErrorBit=SDA;SCL=LOW;I_Delay(100);return(ErrorBit);,8.3.6 总线数据位,在I2C总线启动后或应答信号后的第18个时钟脉冲,对应于要传送字节的8位数据,数据位由低到高传送。I2C总线上的数据是伴随着时钟脉冲,一位一位地传送的,每位数据占一个时钟脉冲。在时钟线SCL高电平期间,数据线SDA的状态就表示要传送的数据,高电平为数据1,低电平为数据0。在数据传送时,数据线上数据的改变在时钟线为低电平时完成,而时钟线为高电平时,数据线必须保持稳定,否则数据线上的任何变化都会被当作起始或终止信号,而致使数据传输停止。,8.3.7 写数据,I2C总线协议规定了完整的数据传送格式。按照协议规定,数据传输的开始以主器件发出起始信号为准,然后发送寻址字节。寻址字节共8位,高7位是被寻址的从器件地址,最低一位是方向位,方向位表示主器件与从器件之间的数据传送方向,方向位为“0”时表示主器件向从器件发送数据(写)。在寻址字节后是将要传送的数据字节与应答位,数据可以多字节连续发送。在数据传送完毕后,主器件必须发送终止信号已释放总线控制权。如果主器件希望继续占用总线,则可以不产生终止信号,马上再次发送起始信号,并对另一从器件进行寻址,便可进行新的数据传送。,写入8位,I_Write8Bit(INT8U input)INT8U i;for(i=0;i8;i+)SDA=(bit)(input,向指定的地址中写入一个字节的数据,void write_byte(INT8U RomAddress,INT8U Wdata)I_Start();I_Write8Bit(WriteDeviceAddress);I_TestAck();I_Write8Bit(RomAddress);I_TestAck();I_Write8Bit(Wdata);I_TestAck();I_Stop();I_Wait(20);,8.3.8 读数据,I2C总线进行读数据时,数据传输的开始以主器件发出起始信号为准,然后发送寻址字节。寻址字节共8位,高7位是被寻址的从器件地址,最低一位是方向位,方向位表示主器件与从器件之间的数据传送方向,方向位为“1”时表示主器件从从器件中接收数据(读)。在寻址字节后是将要传送的数据字节与应答位,数据可以多字节连续发送。在数据传送完毕后,主器件必须发送终止信号已释放总线控制权。如果主器件希望继续占用总线,则可以不产生终止信号,马上再次发送起始信号,并对另一从器件进行寻址,便可进行新的数据传送。,读取8位,INT8U I_Read8Bit()INT8U i,rbyte=0;for(i=0;i8;i+)SCL=HIGH;rbyte=rbyte1;rbyte=rbyte|(INT8U)(SDA);SCL=LOW;return(rbyte);,从地址中读取一个字节的数据,INT8U read_random(INT8U RomAddress)INT8U Read_data;I_Start();I_Write8Bit(WriteDeviceAddress);I_TestAck();I_Write8Bit(RomAddress);I_TestAck();I_Start();I_Write8Bit(ReadDeviceAddress);I_TestAck();Read_data=I_Read8Bit();I_NoAck();I_Stop();return(Read_data);,8.4 51单片机读写EEPROM,I2C总线接口器件以体积小、接口简单、读写操作方便等优点,使其在单片机系统中有着广泛的应用。目前常用于存储系统必要的参数,如密码、启动代码、设备标识等。例如,计算机主板中的BIOS就使用的是一个带有I2C总线的EEPROM,其中保存了系统得重要信息和系统参数的设置程序。目前USB接口及其设备越来越被广泛使用,大有取代其他老式接口的趋势。然而,如何区分计算机上连接的众多USB外围设备呢?其实绝大部分的USB接口芯片都通过上电读一个带有I2C总线的串行EEPROM,来载入该设备的ID(包括Vendor ID、Product ID和Device ID),根据这些ID来区分各个USB设备,并加载相应的驱动程序。,8.4.1 串行EEPROM存储器简介,串行EEPROM存储器是一种采用串行总线的存储器,这类存储器具有体积小、功耗低、允许工作电压范围宽等特点。目前,单片机系统中使用较多的EEPROM芯片是24系列串行EEPROM。其具有型号多、容量大、支持I2C总线协议、占用单片机I/O端口少,芯片扩展方便、读写简单等优点。目前,Atmel、MicroChip、National等公司均提供各种型号的I2C总线接口的串行EEPROM存储器。下面以Atmel公司的产品为例进行介绍。AT24C01/02/04/08系列是Atmel公司典型的I2C串行总线的EEPROM。这里以AT24C08为例介绍。AT24C08具有10248位的存储容量,工作于从器件模式,可重复擦写100万次,数据可以掉电保存100年。8引脚DIP封装的AT24C08的封装结构,如图所示。,函数的调用,main()INT8U iic_dat;clr_scr(0);clr_scr(1);/write_byte(1,13);iic_dat=read_random(1);disp_zf(iic_dat/10,0,0,0);disp_zf(iic_dat%10,8,0,0);while(1);,8.5 小结,本章详细介绍了I2C串行总线的工作原理、结构以及寻址方式等,并对I2C串行总线的数据传输进行了详细的介绍。本章还给出了采用普通的51系列单片机模拟读写I2C串行总线的汇编语言和C语言的代码。最后通过一个具体的实例,讲解了单片机读写I2C总线外围器件的电路设计以及程序设计。I2C串行总线具有接口简单,体积小等优点,在实际电路设计中经常使用。熟练掌握本章,可以控制大部分的I2C总线外围器件,大大扩展了51系列单片机的使用范围。,

    注意事项

    本文(实验八51系列单片机II.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开