实验八 系列单片机IIC_第1页
实验八 系列单片机IIC_第2页
实验八 系列单片机IIC_第3页
实验八 系列单片机IIC_第4页
实验八 系列单片机IIC_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验八51系列单片机读写I2C总线I2C总线是Philips公司推出的一种双向二线制总线,全称为芯片间总线(InterIntegrateCircuitBUS)。其在芯片间使用两根连线实现全双工同步数据传送,一条数据线(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.0I2C总线工作原理典型的I2C总线系统结构,如图28.1所示。其采用两线制,由数据线SDA和时钟线SCL构成。总线上挂接的单片机(主器件)或外围器件(从器件),其接口电路都应具有I2C总线通信能力。8.1I2C总线的电气结构和负载能力I2C总线的SCL和SDA端口输出为漏极开路,因此使用时上必须连接上拉电阻。不同型号的器件对上拉电阻的要求不同,可参考具体器件的数据手册。上拉电阻的大小与电源电压、传输速率等有关系。I2C总线的传输速率可以支持100kHz和400kHz两种,对于100kHz的速率一般采用10KΩ的上拉电阻,对于400kHz的速率一般采用2KΩ的上拉电阻。I2C总线上的外围扩展器件都是属于电压型负载的CMOS器件,因此总线上的器件数量不是由电流负载能力决定,而是由电容负载能力确定。I2C总线上每一个节点器件的接口都有一定的等效电容,这会造成信号传输的延迟。通常I2C总线的负载能力为400pF(通过驱动扩展可达4000pF),据此可计算出总线长度及连接器件的数量。8.3I2C总线器件的寻址方式I2C总线上的所有器件连接在一个公共的总线上,因此,主器件在进行数据传输前选择需要通信的从器件,即进行总线寻址。I2C总线上所有外围器件都需要有惟一的地址,由器件地址和引脚地址两部分组成,共7位。器件地址是I2C器件固有的地址编码,器件出厂时就已经给定,不可更改。引脚地址是由I2C总线外围器件的地址引脚(A2,A1,A0)决定,根据其在电路中接电源正极、接地或悬空的不同,形成不同的地址代码。引脚地址数也决定了同一种器件可接入总线的最大数目。地址位与一个方向位共同构成I2C总线器件寻址字节。寻址字节的格式如表所示。方向位(R/)规定了总线上的主器件与外围器件(从器件)的数据传输送方向。当方向位R/=1,表示主器件读取从器件中的数据;R/=0,表示主器件向从器件发送数据。8.3I2C总线数据传输协议及其程序详解I2C总线规定了严格的数据通信格式,所有具有I2C总线接口的器件都必须遵守。另外,对于应用最广的51系列单片机,却没有提供I2C总线接口。实际上,利用这些单片机的普通I/O口,采用软件模拟I2C总线SCL和SDA上的数据传送时序,完全可以实现对I2C总线器件的读、写操作。下面就分别介绍数据传输过程中的格式以及如何使用8051单片机来实现。这里假设51系列单片机的外接晶振频率为6MHz,单片机的机器周期为2µs,采用P1.0作为时钟线SCL,P1.1作为数据线SDA。8.3.1起始信号起始信号用于开始I2C总线通信。在时钟线SCL为高电平期间,数据线SDA上出现由高电平向低电平变化的下降沿时,被认为是起始信号。起始信号出现以后,才可以进行寻址或数据传输等。如果采用C语言进行程序设计,则其程序示例如下:voidI_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语言进行程序设计,则其程序示例如下:voidI_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语言进行程序设计,则发送应答位子程序示例如下:voidI_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语言炒进行意程序侵设计画,则猫检查伙应答绩位子伍程序时示例葵如下醋:bi斯t美I_鲁Te产st奸Ac册k(虎){bi逢t伞Er齐ro些rB摄it每;SD虫A=啄HI屑GH民;I_钻De税la热y(薪10罚0)咸;SC著L=静HI洗GH植;I_宽De串la辟y(郑10铸0)醉;Er喝ro锤rB蕉it须=S辰DA巷;SC追L=那LO脏W;I_踢De意la振y(须10衰0)淡;re者tu态rn咸(E饼rr招or霞Bi魔t)阔;}8.准3.除6总线个数据阔位在I2C总线愿启动弊后或势应答突信号钉后的哨第1~钉8个时蜓钟脉窜冲,差对应荷于要贸传送少字节驱的8位数秃据,法数据杏位由时低到板高传杜送。I2C总线蜓上的扒数据想是伴可随着吴时钟延脉冲到,一关位一虹位地饱传送色的,麻每位搁数据鞭占一件个时宝钟脉讽冲。均在时孕钟线SC引L高电嘱平期拾间,漂数据笼线SD简A的状组态就喘表示顺要传榴送的纺数据题,高授电平廊为数戒据1,低宝电平其为数剪据0。在慌数据怀传送边时,赛数据秃线上松数据幻玉的改绢变在诉时钟喝线为蛛低电般平时旧完成扰,而恭时钟暴线为箭高电午平时者,数蜂据线换必须伙保持挖稳定殊,否汪则数畏据线咏上的正任何余变化蔑都会辟被当寸作起港始或命终止挪信号匀,而县致使勾数据京传输叶停止坐。8.衔3.店7写数躁据I2C总线迹协议巨规定划了完奔整的勤数据返传送检格式姜。按俗照协及议规消定,跃数据叮传输爹的开蛮始以铺主器佣件发贤出起吉始信拜号为岭准,杨然后芦发送惨寻址韵字节引。寻梅址字莲节共8位,台高7位是火被寻杠址的宫从器伸件地绒址,治最低竹一位匪是方礼向位婶,方扛向位毁表示股主器故件与著从器眠件之傅间的谨数据疑传送记方向朗,方厅向位费为“0”时表理示主呢器件床向从齐器件伞发送钞数据棕(写膝)。店在寻叉址字各节后挎是将吉要传哄送的画数据盆字节斩与应城答位距,数帝据可栏以多异字节艘连续怕发送过。在够数据求传送艰完毕花后,铸主器须件必帐须发随送终劲止信恒号已漠释放日总线金控制抱权。摘如果易主器晕件希黎望继阶续占府用总筐线,享则可稼以不义产生注终止走信号乓,马密上再调次发栽送起贱始信庙号,楼并对风另一挠从器钉件进典行寻着址,配便可饼进行愿新的域数据筐传送瘦。写入8位I_宪Wr妙it费e8些Bi盗t(主IN化T8涝U摊in毁pu巾t){IN煌T8盘U悦i;fo醒r(稀i=殿0;半i<准8;慈i+雁+){S司DA雅=(午bi倒t)唉(i自np先ut茎&0子x8浩0)狱;SC划L=击HI哪GH喇;I_常De欢la仪y(勿10踢0)圆;SC已L=啦LO葱W;I_鞭De荣la闭y(柿10毕0)厚;in纵pu场t=滩in律pu弄t<阻<1贯;}}向指绑定的卵地址我中写拖入一延个字荷节的酬数据vo而id脂w闷ri胳te住_b供yt摘e(愁IN烦T8假U慰Ro字mA壁dd泻re绞ss埋,I次NT畅8U哑W蓄da芹ta学){I_常St仿ar羞t(触);I_楚Wr勇it等e8暑Bi糖t(均Wr肾it艇eD姜ev简ic炊eA悟dd敌re兽ss劈燕);I_熊Te证st左Ac斗k(脂);I_远Wr畏it交e8征Bi次t(倡Ro妇mA沟dd押re孟ss盲);I_砌Te北st凉Ac浪k(串);I_鸦Wr凤it震e8业Bi朵t(湖Wd忆at舰a)灯;I_颈Te残st劲Ac幅k(率);I_纳St定op膝()咸;I_焦Wa怒it继(2鸦0)遇;}8.隶3.踢8读数芦据I2C总线罩进行举读数品据时共,数格据传螺输的辰开始治以主刚器件句发出貌起始任信号姜为准通,然秋后发穴送寻慰址字列节。走寻址依字节音共8位,针高7位是闹被寻迟址的仁从器奖件地筑址,撕最低壳一位全是方鄙向位绘,方碌向位止表示砖主器舌件与除从器侄件之贷间的芒数据诵传送须方向正,方卫向位质为“1”时表嗽示主泪器件皇从从如器件床中接吼收数佣据(疏读)今。在匪寻址奔字节惹后是今将要滑传送柔的数件据字贡节与夕应答倾位,衰数据坏可以教多字之节连斗续发善送。嫩在数乘据传所送完没毕后待,主部器件店必须佣发送盒终止辉信号注已释滋放总崇线控伯制权席。如创果主踪蝶器件益希望文继续倾占用乞总线捧,则美可以遵不产荷生终喇止信兼号,预马上硬再次各发送来起始饲信号按,并秆对另枝一从疲器件罩进行绘寻址突,便蜘可进撤行新度的数者据传仅送。读取8位IN顿T8围U坝I_舟Re撑ad路8B浅it孤(){IN糠T8达U档i,勒rb顺yt慢e=至0;fo拨r(魂i=杰0;薪i<间8;岁i+践+){S渗CL趋=H斩IG俊H;rb起yt茄e=酒rb锡yt傲e<荷<1咐;rb捷yt婶e=骄rb类yt收e|差((拴IN矮T8挪U)青(S场DA副))趁;SC巩L=估LO忆W;}re辉tu乱rn柴(r武by描te备);}从地再址中唇读取刻一个督字节和的数扮据IN蜡T8捆U筛r道ea挂d_灶ra骑nd育om貌(I定NT后8U丹R奔om辱Ad谷dr冻es皂s){IN序T8刊U汇R吼ea选d_昆da胃ta漏;I_倘St仍ar波t(糖);I_化Wr遮it双e8秀Bi粱t(击Wr番it击eD贼ev疼ic尸eA变dd轨re饰ss扫);I_膨Te哥st蔑Ac最k(网);I_草Wr津it坚e8班Bi券t(庄Ro暮mA孩dd馆re恩ss扁);I_君Te图st挑Ac涂k(交);I_乡丰St穗ar鼓t(侮);I_右Wr而it雕e8顿Bi相t(逆Re占ad辟De佳vi筒ce塘Ad斥dr腾es件s)付;I_歪Te葡st破Ac详k(萝);Re沸ad哪_d蛋at妥a=疫I_笨Re利ad须8B渐it无()鹿;I_口No延Ac选k(壶);I_裙St浊op尖()敌;re猎tu棍rn绞(放Re皇ad虏_d网at纤a)洒;}8.悦451单片跳机读将写EE迹PR脉OMI2C总线矩接口舱器件患以体绍积小贡、接愤口简劣单、份读写兵操作震方便爷等优督点,偶使其锈在单尖片机字系统炕中有仁着广素泛的灶应用教。目罩前常某用于京存储聋系统痕必要毛的参买数,迟如密宵码、到启动和代码朋、设腹备标批识等僵。例棒如,刚计算攀机主显板中们的BI疫OS就使剧用的刚是一摸个带印有I2C总线宋的EE反PR刑OM,其袍中保感存了笛系统职得重属要信迁息和汗系统瞎参数忌的设完置程拢序。目前US径B接口祝及其赤设备番越来帽越被谦广泛墨使用荒,大速有取昆代其势他老宋式接艰口的警趋势鲜。然标而,抹如何折区分傻计算献机上篮连接嫂的众价多US环B外围挠设备沟呢?挺其实卸绝大聚部分驶的US侮B接口毒芯片锯都通匆过上问电读俱一个横带有I2C总线阁的串炼行EE费PR笨OM,来扯载入括该设砌备的ID(包着括Ve需nd赢or病I足D、Pr逮od况uc训t亏ID和De丘vi杆ce江I禁D),火根据阻这些ID来区格分各绿个US晋B设备驶,并仙加载煮相应衣的驱处动程具序。8.贿4.晓1串行EE柄PR碍OM存储体器简鬼介串行EE胃PR睡OM存储坏器是雕一种孕采用挨串行俘总线列的存慨储器众,这忍类存需储器督具有压体积挠小、闻功耗谣低、朽允许漆工作乔电压崇范围熟宽等亲特点够。目泉前,温单片雹机系下统中监使用厦较多钩的EE率PR艇OM芯片猴是24系列盐串行EE英PR刑OM。其河具有静型号翻多、捉容量芝大、锤支持I2C总线拳协议证、占掉用单丑片机I/籍O端口伍少,在芯片摇扩展班方便身、读拖写简道单等寨优点简。目前剪,At妄me弯l、Mi痛cr掀oC艳hi粪p、Na恳ti面on层al等公犬司均垒提供谜各种坡型号居的I2C总线悠接口碑的串戏行EE柏PR雄OM存储咬器。掩下面鄙以At梳me汤l公司乓的产酸品为直例进翼行介掉绍。AT券24轧C0拿1/御02逮/0型4/弃08系列蠢是At娃me皮l公司锅典型烂的I2C串行笨总线锯的EE萌PR杂OM。这巷里以AT蜡24渠C0狼8为例豆介绍嘉。AT治24拳C0截8具有10踩24忆×8位的帜存储第容量讲,工晚作于句从器将件模恒式,因可重灭复擦陆写10道

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论