实训项目十二串口通讯.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实训项目十二串口通讯

项目十二:串口通讯 一、项目描述 加深对I2C总线通信工作方式及原理的理解; 掌握24C02芯片的功能以及所起的作用; 理解对24C02进行写和读控制的软件编制方法; 二、知识链接 在家用电器、实时工控、仪器仪表等以单片机为核心的微处理系统中,经常要求数据或状态参数不仅能够在线改写,而且在断电后能够保持,以便在下次开机的时候,系统能恢复到上次退出时的状态,在系统中配置EEPROM是一种简便的选择。常见的EEPROM有两种:并行EEPROM和串行EEPROM。并行EEPROM的容量很大,例如2864(或28C64),有8K×8bit(64Kbit)。但是在很多应用系统中,并不需要这么大的容量,这时可以选用串行EEPROM。 串行EEPROM的容量一般较小。例如24C02的容量为256×8bit(2Kbit),完全可以满足中小规模的应用需要。它最显著的特点是只占用CPU的两根I/O线,就可以实现与CPU之间的数据交换,而不像并行EEPROM,需要数据、地址、控制等多组总线,占用大量的I/O口,这些优点对于小型、紧凑的单片机应用系统来说非常重要。 另外,串行EEPROM的体积小(均提供DIP8 的封装)、价格低(24C02的价格不到2864的1/10),也是不可忽略的成本优势。24系列的EEPROM采用I2C总线与CPU之间进行数据交换。 上图给出了24C02的实物和引脚分配图。24C02是2Kbit的IIC总线EEPROM,其内部有256个字节,每个字节为8位数据。由于24C02的地址、数据信息都在同一条线路上传送,当串行总线上挂有多个芯片时,每个芯片必须具有唯一的器件地址。 24C02的器件地址由7位数据位和一位读写位组成,即1010E2E1E0R/W,其中,高4位的1010为24系列的协议格式,是I2C总线分配给串行EEPROM器件的地址;之后的3位E2、E1、E0为可编程地址位,供在总线上连接多片同一型号器件时分配器件地址用。 片地址有8个选项,表示在一个I2C总线上,可以接8 片24C02,容量最多可达到16Kbit(256×8bit×8片)。最后一位是读写控制位R/W,当该位为1时,表示当前的操作是读操作;该位为0时,表示当前的操作是写操作。 I2C总线器件只有两根信号线,一根是双向的数据/地址线SDA,另一根是串行时钟总线SCL,所有连到I2C总线上的设备的串行数据线都接到总显得SDA上,而设备的串行时钟线都连接到总线的SCL上。 在实际使用中,由于SDA和SCL是漏极开路端口,所以两根总线必须接有5-10K的上拉电阻。 I2C总线的传输协议与数据传送 1)起始和停止条件 在数据传送过程中,必须确认数据传送的开始和结束。 开始和结束信号都是有主器件产生的,在开始信号后,总线被认为处于忙状态,其它器件不能再产生开始信号。主器件在结束信号后退出主器件角色,经过一段时间,总线才被认为是空闲的。 2)数据格式 在I2C总线开始信号后,送出的第一个字节数据是用来选择从器件地址的。其中前7位为地址码,第8位为方向位,方向位为0,表示写操作,记住器件把信息写到所选的从器件中,方向位为1,表示读操作,即主器件从从器件读信息。开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果两者一直,则该器件为被主器件寻址的器件。 I2C总线的数据传输采用时钟脉冲逐位串行传送方式,在SCL低电平期间,SDA上的数据允许变化,SCL高电平期间,SDA上的数据必须保持稳定,不能发生变化,因为此时SDA状态的改变已被用来表示起始和停止条件,以便接收器件的采样接收。 3) I2C总线协议规定,每传送一个字节数据(焊地址及命令字)后,都要有一个应答信号,以确定数据传送是否正确,应答位的时钟脉冲由主机产生,发送器件需在应答时钟脉冲的高电平期间释放(送高电平)数据/地址线SDA,转由接收器件控制,通常接收器件在这个时钟脉冲内必须向SDA传送低电平,以产生有效的应答信号。此时,主机残生一个停止信号,表示接受异常,使传送异常结束。 当主机为接收器件时,主机对最后一个季节不应答,以向发送器件表示数据传送结束。此时器件应释放SDA,以便主机产生一个停止信号。 实验目的 加深对I2C总线通信工作方式及原理的理解; 掌握24C02芯片的功能以及所起的作用; 理解对24C02进行写和读控制的软件编制方法; 任务一:I2C存储器的读取 1.实验内容 本例利用单片机将数据0x0f”写入AT24C02,然后将其读出并送P1口的8位LED显示。 //将数据0x0f写入AT24C02再读出送P1口显示 #include reg51.h // 包含51单片机寄存器定义的头文件 #include intrins.h //包含_nop_()函数定义的头文件 #

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档