首页 IIC总线协议-基于at24c64

IIC总线协议-基于at24c64

举报
开通vip

IIC总线协议-基于at24c64 IIC 总线协议---以存储芯片 at24c64为例 邮箱:zhzhchang@126.com ------------------------------------------------------------------------------------------------------------------------------------------ ----------------------------------------------------------------------...

IIC总线协议-基于at24c64
IIC 总线 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ---以存储芯片 at24c64为例 邮箱:zhzhchang@126.com ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ 小瓶盖整理 技术博客:http://blog.csdn.net/zhzht19861011 Page 1 of 13 源于魏老师的产品:红外抄表器器 IIC 总线协议 前言: 1.只有在总线空闲时才允许启动数据传送. 2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变.时 钟线为高电平时,数据线的任何电平变化将被看做总线的起始或停止信号. 3. 任何将数据传送到总线的器件作为发送器任何从总线接收数据的器件为接收器, 主 器件和从器件都可以作为发送器或接收器但由主器件控制传送数据. 4.有两根数据线: SDA : IIC 数据传送位 SCL : IIC 时钟控制位 下面对 IIC 的底层驱动加以说明,并给出汇编和 C 语言的代码,以 AT24C64 为例.在这之 前先定义一些常量和公共代码: 汇编: SDA BIT P3.4 ;数据端 SCL BIT P3.5 ;时钟端 DELAY : NOP ;延时子程序,根据单片机的晶振不同,延时长短略有不同 NOP ;12MHZ晶振 NOP NOP NOP NOP RET C语言: sbit SDA = P3.4; sbit SCL = P3.5; void delay(void) //延时子程序 { unsigned char i; for(i=0;i<10;i++); } 起始信号: 时钟线保持高电平期间,数据线电平从高到低的跳变作为 IIC 总线的起始信号. 汇编: IIC_ST: ;IIC 起始代码 LCALL DELAY CLR SCL LCALL DELAY IIC 总线协议---以存储芯片 at24c64为例 邮箱:zhzhchang@126.com ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ 小瓶盖整理 技术博客:http://blog.csdn.net/zhzht19861011 Page 2 of 13 源于魏老师的产品:红外抄表器器 LCALL DELAY SETB SDA LCALL DELAY LCALL DELAY SETB SCL LCALL DELAY LCALL DELAY CLR SDA LCALL DELAY LCALL DELAY CLR SCL LCALL DELAY RET C语言: void iic_start(void) { SCL=0; delay(); SDA=1; delay(); SCL=1; delay(); SDA=0; delay(); SCL=0; delay(); } 停止信号: 时钟线保持高电平期间,数据线电平从低变高. 汇编: IIC_SP: LCALL DELAY CLR SCL LCALL DELAY LCALL DELAY CLR SDA LCALL DELAY LCALL DELAY SETB SCL LCALL DELAY LCALL DELAY IIC 总线协议---以存储芯片 at24c64为例 邮箱:zhzhchang@126.com ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ 小瓶盖整理 技术博客:http://blog.csdn.net/zhzht19861011 Page 3 of 13 源于魏老师的产品:红外抄表器器 SETB SDA LCALL DELAY RET C语言: void iic_stop(void) { delay(); SCL=0; delay(); SDA=0; delay(); SCL=1 delay(); SDA=1; delay(); } 器件寻址: 首先发送一个起始信号,启动发送过程,然后发送它所需要的寻址的从器件的地址.8从位 器件地址的高 4位固定为 1010,接下来的三位为器件的地址位,最低一位作为读写控制位. 1: 表示从器件进行读; 0: 表示对器件进行写. 应答信号: IIC 总线数据传送时,每成功的传送一个字节数据后,接收器都必须产生一个应答信号.应 答的器件在第九个时钟周期时将 SDA拉低,表示收到一个 8位数据. 写操作:(字节模式) 主器件发送起始信号和从器件地址信息(R/W 位清 0)给从器件,在从器件送回应答信号 后,主器件发送两个 8位地址字写入从器件的地址指针,主器件在收到从器件的应答信号后, 再发送数据到到被寻址的从器件存储单元,从器件再次应答,并在主器件产生停止信号后开始 内部数据的擦写. 汇编: ;##############写数据到 at24c64-ATW2############## ;说明:写一字节数据到 at24c64,失败 PSW.5置 1 ;入口参数:A ;出口参数:无 ;############################################### IIC_WB: MOV R2,#8 CLR SCL IIC 总线协议---以存储芯片 at24c64为例 邮箱:zhzhchang@126.com ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ 小瓶盖整理 技术博客:http://blog.csdn.net/zhzht19861011 Page 4 of 13 源于魏老师的产品:红外抄表器器 J4: RLC A LCALL DELAY LCALL DELAY MOV SDA,C LCALL DELAY LCALL DELAY SETB SCL LCALL DELAY LCALL DELAY CLR SCL DJNZ R2,J4 SETB SDA LCALL DELAY LCALL DELAY SETB SCL ;第九个时钟周期 LCALL DELAY LCALL DELAY JB SDA,J1 ;正常情况下,第九个时钟周期收到的 SDA 应为低 CLR SCL ;释放总线 LCALL DELAY LCALL DELAY CLR PSW.5 ;接收成功 LJMP edw J1: CLR SCL ;释放总线 SETB PSW.5 ;接收失败 edw: RET C语言: void iic_write_byte(unsigned char w_byte) { unsigned char i; SCL=0; for(i=0;i<8;i++) { delay(); if((w_byte<
本文档为【IIC总线协议-基于at24c64】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_526989
暂无简介~
格式:pdf
大小:169KB
软件:PDF阅读器
页数:13
分类:互联网
上传时间:2013-03-20
浏览量:55