基于51单片机I〈sup〉2〈/sup〉C总线串行通信的应用

来源 :硅谷 | 被引量 : 0次 | 上传用户:doublexiu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]介绍I2C总线技术及其技术标准。结合ATMEL公司具有I2C总线的AT24LCO4,给出AT89S51单片机虚拟I2C总线的硬件设计及软件实现。
  [关键词]I2C 单片机 AT24LC04
  中图分类号:TN91 文献标识码:A 文章编号:1671-7597(2009)0210034-02
  
  一、引言
  
  I2C总线是PHILIPS公司推出的一种双向二线制总线,它包括一条串行数据线(SDA)和一条串行时钟线(SCL)。总线中每个器件都有唯一的地址识别,而且都可以作为一个发送器或接收器。I2C总线是目前常见的一种智能化仪器仪表组成方案,但在很多小型仪表中,使用带有12C总线接口的高档单片机在经济上则是不合算的。51系列的单片机是我国目前流行的性价比高的微控制器之一,而大多数51系列单片机不具备与I2C总线的接口功能。本文以AT89S51单片机为例探究如何在51系列的单片机中实现I2C总线的串行通信和控制外围I2C总线的器件。
  
  二、I2C总线系统结构及时序
  
  (一)I2C总线组成
  一个典型的I2C总线系统组成结构如图一所示,假设系统中器件均具有I2C总线接口,通过两根线SDA(串行数据线)和SCL(串线时钟线)连接到I2C总线,并通过总线行识别。
  I2C总线的器件分为主器件和从器件。主器件的功能是启动在总线上传送数据,并产生时钟脉冲,以允许与被寻址的器件进行数据传送。任何器件均能成为从器件,只有微控制器才能成为主器件。I2C总线允许连接多个微控制器,先控制总线的器件成为主器件。数据在主、从器件间传送,结束后,主、从器件将释放总线,退出主、从器件角色。总线上存在主、从器件时,总线处于忙的状态,反之,总线处于空闲状态。
  


  
  (二)I2C总线时序
  所有主机在SCL线上产生自己的时钟来传输I2C总线上的数据,数据只在时钟的高电平周期有效,每传输一个数据位就产生一个时钟脉冲,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变,当SCL为高电平时,SDA的改变表示“开始”和“停止”状态,即SDA由高电平转入低电平表示开始,该命令必须在其它命令前执行;SDA由低电平转入高电平表示停止状态,该命令可终止所有通讯。在开始条件后,SCL低电平期间,SDA允许变化,每位数据需一个时钟脉冲,当SCL为高时,SDA必须稳定,主控器在应答时钟脉冲高电平期间释放SDA线,转由接收器控制。相同总线上的设备在收到数据后,以置SDA为低电平的方式对其确认。总线不忙时,数据线和时钟线保持为高电平。I2C总线的时序如图二所示。
  
  三、51单片机系统中I2C总线的实现
  
  51系列单片机上并不带I2C总线,因此必须根据I2C总线的时序用单片机上的I/O口模拟I2C总线时序实现其功能。现以单片机应用系统中较为常见的E2PROM中AT24LC04为例,介绍在51系列单片机上利用普通I/O口实现I2C串行总线的方法和软件设计。
  外围I2C器件选用AT24LC04是EEPROM。其具有512×8位的存储容量,工作从器件方式,其引脚排列如图三所示。
  


  其中AO、A1和A2为地址选择输入端。单片机与AT24LCO4间进行数据传递时,首先传送器件的从地址SLA,START为起始信号,1010为AT24LCO4的器件地址,AO和A1由芯片的AO、A1引脚上的电平决定。
  图四所示为AT89S51单片机和AT24LCO4的接口图,分别用I/O口P1.6、P1.7连接SCL和SDA总线。通过控制P1.6口的高低电平得到I2C的虚拟时钟,P1.7口作为数据传输的双向端口,作为单片机和AT24LCO4之间的数据线。
  
  四、虚拟I2C总线软件结构
  
  对于虚拟I2C总线来说要实现其功能主要是注意I2C器件的操作时序,总线的运行由主机控制。所谓主机即启动数据的传送即发出启动信号,发出时钟信号,传送结束时发出停止信号的设备,通常主机是微处理器。被主机寻访的设备都称为从机。这里AT89S51是I2C串行总线中的主器件;AT24LCO4是I2C串行总线的从器件。为了进行通讯,每个接到I2C总线的设备都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以是从机发到主机。凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。表一为程序中所使用的变量及功能。
  为了保证严格的时序,需要采用汇编程序模拟12C串行时序。程序代码如下:
  SCL EQU P1.6:定义端口
  SDA EQU P1.7:
  START:CLR SCL;开始信号的传递
  SETB SDA;
  ACALL DELAY;
  SETB SCL;
  ACALL DELAY;
  CLR SDA;
  ACALL DELAY;
  CLR SCL;
  RET;
  STOP:CLR SCL;停止信号的传递
  CLR SDA;
  ACALL DELAY;
  SETB SCL;
  ACALL DELAY;
  SETB SDA
  ACALL DELAY;
  RET;
  SEND:MOV R0,#08H;发送一个字节
  SENDO:RLC A:
  MOV C SDA;
  SETB SCL;
  ACALL DELAY;
  CLR SCL;
  DJNZ R0.SENDO;
  SETB SDA:
  PET;
  REV:MOV R0,#08H;接收一个字节
  REVO:SETB SCL;
  MOV C SDA;
  RLC A:
  CLR SCL;
  DJNZ R7.REV0;
  PET;
  ACKC:SETB SCL;接收一个应答位
  ACALL DELAY;
  MOV C,SDA;
  CLR SCL;
  RET;
  ACKS:SETB SCL;发送一个应答位
  ACALL DELAY;
  MOV C SDA;
  CLR SCL;
  PET;
  DELAY:NOP;延时程序
  NOP:
  NOP;
  RET;
  
  五、结论
  
  本文介绍了I2C总线的组成及时序,并以ATMEL公司的AT24LC04为例模拟I2C总线的时序的起始、停止及CPU向I2C总线的发送和接收数据。
  基金項目:南校教研字(2007)第003号 南宁师范高等专科学校科研项目经费资助。
  
  作者简介:
  黄灿胜,男,广西扶绥人,南宁师范高等专科学校,工程师,研究方向是单片机应用技术教学与研究。
其他文献
[摘要]计算机程序设计类课程的教学需要新思路来提高学生编程实践能力差的问题。以VC++课程教学为例,介绍在提高学生编程实践水平方面应用试验法的教学探索。  [关键词]试验法 VC++ 案例教学  中图分类号:G43文献标识码:A文章编号:1671-7597(2009)0910178-01    一、试验法教学的优越性    《Visual C++(简称VC++)程序设计》这门课程抽象复杂,学生难以
期刊
[摘要]通过多种教学手段,激发学生的学习兴趣,恰当运用多媒体教学,优化课堂教学,精心设计课堂内容,培养学生的斯文应变能力。  [关键词]AutoCAD教学手段 学习兴趣 信息技术 课堂教学艺术  中图分类号:G71文献标识码:A文章编号:1671-7597(2009)0910189-01    AutoCAD是美国Autodesk公司开发的计算机辅助设计CAD(Computer Aided Des
期刊
[摘要]针对医学类高等院校的专业特点,从培养学生兴趣、引入电影相关知识入手,采用案例教学法进行教学,并对如何开展的Flash教学实践活动、优化教学结构进行探讨。  [关键词]Flash 电影 医学 案例教学  中图分类号:G43文献标识码:A文章编号:1671-7597(2009)0910167-01    伴随人们对视觉影视艺术的热爱及计算机技术的发展,Flash动画孕育而生。通过几年的教学,笔
期刊
[摘要]引入MATLAB工具进行电路分析教学探索与实践,有利于使复杂电路的分析和计算变得非常快捷、方便,从而为电路分析提供一个有效的辅助工具。  [关键词]MATLAB 电路分析 仿真  中图分类号:G71文献标识码:A文章编号:1671-7597(2009)0910193-02    在电路分析中,随着电路规模的加大,微分方程阶数以及联立方程的个数增多,给解题运算带来一定困难。而MATLABA提
期刊
[摘要]吉林省广播电影电视局在基层单位全面开展的创新立业活动(以下简称活动),实质上是目标管理与绩效考核的管理工作。而目标与管理则是活动的两个重要方面,在相等重要又相互和谐作用的同时,实践证明只有管理的过程大于绩效的考评结果,绩效的产生才是真实的、科学的、富有可持续发展的。作为活动的参与者仅从活动的管理方面陈一己之见。  [关键词]基层单位 目标管理与绩效考核 管理工作  中图分类号:G22文献标
期刊
[摘要]高校引领地方经济发展的关键在于集中力量建立与地方经济发展密切相关的卓绝尖顶学科,这一学科要有如下特点:一是学术根基深厚,二是技术平台宽广。  [关键词]高校 地方经济 斯坦福大学 硅谷  中图分类号:G53/57文献标识码:A文章编号:1671-7597(2009)0910219-01    一、斯坦福大学与硅谷的兴起    众所周知,美国新经济发源于20世纪的硅谷。硅谷的产生与斯坦福大学
期刊
[摘要]在对基于USB 2.0的数据采集系统的总体结构进行综述的基础上,对系统的固件程序、基于WDM~USB驱动程序及应用程序等部分的设计进行较详细的讨论。  [关键词]USB 数据采集 固件程序 Driverstudio驱动程序  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0210032-01    通用串行总线USB(Universal Serial Bus)
期刊
[摘要]采用分光光度法研究模拟生理条件下2,7-二氯荧光素与牛血清白蛋白的相互作用。结果表明:两者相互作用形成稳定的复合物,最大吸收波长为509n=,与2,7-二氯荧光素的最大吸收波长502nm比较,红移了7nm;二者之间主要通过静电引力结合,但不排除疏水作用力和氢键:二者之间的结合数为32。  [关键词]2,7-二氯荧光素 牛血清白蛋白 分光光度法  中图分类号:041 文献标识码:A 文章编
期刊
[摘要]以煤沥青为原料、三聚甲醛为交联剂、对甲苯磺酸为催化剂,在一定反应条件下合成缩合多环多核芳香烃(COPNA)树脂。采用FT—IR和H—NMR等分析方法研究其反应机理;采用TG分析方法研究COPNA树脂的热行为。研究表明,煤沥青在酸性催化剂条件下能与交联剂三聚甲醛合成COPNA树脂,其反应机理为酸催化作用下的阳离子型缩聚反应;相对于原料煤沥青,COPNA树脂具有较高的耐热性、炭收率和B树脂含量
期刊
[摘要]干扰是影响GSM系统通话质量以及掉话率、接通串等网络指标的重要因素。对移动通信GSM系统的上行干扰进行讨论,结合华为公司在GSMM络干扰定位的经验,对上行干扰的种类,产生原因,定位流程进行分析,通过对网络中由2G系统,直放站等引起的干扰案例进行阐述分析和解决,介绍在日常网络优化中常见的上行干扰的处理办法。  [关键词]GSM 网络优化 上行干扰  中图分类号:TP3 文献标识码:A 文章编
期刊