欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机的串行扩展技术PPT讲稿.ppt

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

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

    单片机的串行扩展技术PPT讲稿.ppt

    单片机的串行扩展技术第1页,共49页,编辑于2022年,星期五12.1 12.1 单总线接口简介单总线接口简介 单总线(单总线(1-Wire bus1-Wire bus)是由是由DALLAS DALLAS 公司公司推出的外围串行扩展总推出的外围串行扩展总线。它只有一条数据输入线。它只有一条数据输入/输出线输出线DQDQ,总线上的所有器件都挂在,总线上的所有器件都挂在DQDQ上,上,电源也通过这条信号线供给,这种使用一条信号线的串行扩展技术,电源也通过这条信号线供给,这种使用一条信号线的串行扩展技术,称为称为单总线单总线技术。技术。各种器件,各种器件,由由DALLAS DALLAS 公司提供的专用芯片实现。公司提供的专用芯片实现。每个芯片都有每个芯片都有6464位位ROMROM,厂家对每一个芯片用激光烧写编码,其中存有,厂家对每一个芯片用激光烧写编码,其中存有1616位位十进十进制制编码序列号编码序列号,它是,它是器件的地址编号器件的地址编号,确保它挂在总线上后,可以唯,确保它挂在总线上后,可以唯一被确定。除了器件的地址编码外,芯片内还包含收发控制和电源一被确定。除了器件的地址编码外,芯片内还包含收发控制和电源存储电路,如存储电路,如图图12-112-1所示。所示。第2页,共49页,编辑于2022年,星期五图图12-112-1第3页,共49页,编辑于2022年,星期五这些芯片的这些芯片的耗电量都很小耗电量都很小(空闲时几(空闲时几W W,工作时几,工作时几mWmW),工作时),工作时从总线上从总线上馈送电能到大电容中馈送电能到大电容中就可以工作,故就可以工作,故一般不需另加电源一般不需另加电源。图图12-212-2为一个由单总线构成的为一个由单总线构成的分布式温度监测系统分布式温度监测系统。多个带有单总线。多个带有单总线接口的数字温度计和多个集成电路接口的数字温度计和多个集成电路DS1820DS1820芯片都挂在芯片都挂在DQDQ总线上。单总线上。单片机对每个片机对每个DS1820DS1820通过总线通过总线DQDQ寻址。寻址。DQDQ为漏极开路,须加上拉电阻。为漏极开路,须加上拉电阻。DALLASDALLAS公司为单总线的寻址及数据的传送提供了公司为单总线的寻址及数据的传送提供了严格的时序规范严格的时序规范,具,具体内容读者可体内容读者可查阅相关资料查阅相关资料。第4页,共49页,编辑于2022年,星期五 图图12-212-2第5页,共49页,编辑于2022年,星期五12.2 SPI12.2 SPI总线接口简介总线接口简介SPISPI(Serial Periperal InterfaceSerial Periperal Interface)是是MotorolaMotorola公司公司推出的推出的同步串同步串行外设接口行外设接口,允许单片机与多个厂家生产的带有该接口的设备直接连,允许单片机与多个厂家生产的带有该接口的设备直接连接,以串行方式交换信息。接,以串行方式交换信息。使用使用条线条线:串行时钟:串行时钟SCKSCK,主器件输入,主器件输入/从器件输出数据线从器件输出数据线MISOMISO(简称(简称SOSO),主器件输出),主器件输出/从器件输入数据线从器件输入数据线MOSIMOSI(简称(简称SISI)和)和从器件选从器件选择线择线。SPISPI的典型应用是的典型应用是单主系统单主系统。该系统只有一台主器件,从器件通常。该系统只有一台主器件,从器件通常是外围接口器件,如存储器、是外围接口器件,如存储器、I/OI/O接口、接口、A/DA/D、D/AD/A、键盘、日历、键盘、日历/时钟和显示驱动等。时钟和显示驱动等。图图12-312-3是是SPISPI外围串行扩展结构图。外围串行扩展结构图。第6页,共49页,编辑于2022年,星期五图图12-312-3第7页,共49页,编辑于2022年,星期五单片机与外围器件在时钟线单片机与外围器件在时钟线SCKSCK、数据线、数据线MISOMISO和和MOSIMOSI都是都是同名端相连。同名端相连。扩展多个外围器件时,扩展多个外围器件时,SPISPI无法通过数据线译码选择,故接口的外围无法通过数据线译码选择,故接口的外围器件都有片选端。在器件都有片选端。在扩展单个扩展单个SPISPI器件器件时,外围器件的片选端可时,外围器件的片选端可以接地或通过以接地或通过I/OI/O口控制;在口控制;在扩展多个扩展多个SPISPI器件器件时,单片机应分时,单片机应分别通过别通过I/OI/O口线来分时选通外围器件。口线来分时选通外围器件。在在SPISPI串行扩展系统中,如果某一从器件串行扩展系统中,如果某一从器件只作输入只作输入(如键盘)或(如键盘)或只作输只作输出出(如显示器)时,(如显示器)时,可省去一条数据输出可省去一条数据输出(MISOMISO)或一条数据输)或一条数据输入(入(MOSIMOSI),从而),从而构成双线系统(接地)。构成双线系统(接地)。SPISPI系统中从器件的选通依靠其引脚,数据传送软件十分简单,系统中从器件的选通依靠其引脚,数据传送软件十分简单,省去了传省去了传输时的地址选通字节。输时的地址选通字节。但在扩展器件较多时,连线较多。但在扩展器件较多时,连线较多。第8页,共49页,编辑于2022年,星期五在在SPISPI串行扩展系统中,作为主器件的单片机在启动一次传送时,串行扩展系统中,作为主器件的单片机在启动一次传送时,便便产生产生8 8个时钟个时钟,传送给接口芯片,传送给接口芯片作为同步时钟作为同步时钟,控制数据的输入和,控制数据的输入和输出。数据的传送格式是高位(输出。数据的传送格式是高位(MSBMSB)在前,低位()在前,低位(LSBLSB)在后,如)在后,如图图12-412-4所示。所示。数据线上输出数据的变化以及输入数据时的采样,都取决于数据线上输出数据的变化以及输入数据时的采样,都取决于SCKSCK。但对于。但对于不同的外围芯片,有的可能是不同的外围芯片,有的可能是SCKSCK的上升沿起作用,有的可能是的上升沿起作用,有的可能是SCKSCK的下降沿起作用。的下降沿起作用。图图12-412-4第9页,共49页,编辑于2022年,星期五SPISPI有有较高的数据传输速度较高的数据传输速度,最高,最高可达可达1.05Mb/s1.05Mb/s。MotorolaMotorola公司公司为广大用户提供了一系列具有为广大用户提供了一系列具有SPISPI接口的单片机和外接口的单片机和外围接口芯片,如存储器围接口芯片,如存储器MC2814MC2814,显示驱动器,显示驱动器MC14499MC14499和和MC14489MC14489等芯等芯片。片。SPISPI外围串行扩展系统的外围串行扩展系统的主器件主器件是是单片机单片机,也可以不带,也可以不带SPISPI接口接口,但是,但是从从器件器件一定要有一定要有具有具有SPISPI接口接口。12.3 I12.3 I2 2C C串行总线的组成及工作原理串行总线的组成及工作原理I I2 2C C串行总线只有串行总线只有两条信号线两条信号线,一条是数据线,一条是数据线SDASDA,另一条是时钟线,另一条是时钟线SCLSCL,所有连接到,所有连接到I I2 2C C总线上器件的数据线都接到总线上器件的数据线都接到SDASDA线上,各器件的时钟线线上,各器件的时钟线均接到均接到SCLSCL线上,线上,I I2 2C C总线系统的基本结构如总线系统的基本结构如图图12-512-5所示。所示。第10页,共49页,编辑于2022年,星期五它可以使具有它可以使具有I I2 2C C总线的单片机总线的单片机(如(如PHILIPSPHILIPS公司的公司的8xC552 8xC552)直接与具直接与具有有I I2 2C C总线接口的各种扩展器件总线接口的各种扩展器件(如存储器、(如存储器、I/OI/O口、口、A/DA/D、D/AD/A、键盘、键盘、显示器、日历显示器、日历/时钟)时钟)连接连接。对不带有对不带有I I2 2C C接口的单片机接口的单片机(如(如89C5189C51)可采用普通的)可采用普通的I/OI/O口结合口结合软件模拟软件模拟I I2 2C C串行接口总线时序串行接口总线时序的方法,完成的方法,完成I I2 2C C总线的串行接口功能。总线的串行接口功能。12.3.112.3.1 I I2 2C C串行总线概述串行总线概述只有只有两条两条信号线信号线,一条是,一条是数据线数据线SDASDA,另一条是,另一条是时钟线时钟线SCLSCL,所有连接,所有连接到到I I2 2C C总线上器件的数据线都接到总线上器件的数据线都接到SDASDA线上,各器件的时钟线均接到线上,各器件的时钟线均接到SCLSCL线上,线上,系统的基本结构系统的基本结构如如图图12-512-5所示。所示。第11页,共49页,编辑于2022年,星期五图图12-512-5第12页,共49页,编辑于2022年,星期五I I2 2C C的运行由主器件控制,主器件是指启动数据的发送(发出起始的运行由主器件控制,主器件是指启动数据的发送(发出起始信号)、发出时钟信号、传送结束时发出终止信号的器件。信号)、发出时钟信号、传送结束时发出终止信号的器件。主器件主器件可以具有可以具有I I2 2C C总线接口,也可以不带总线接口,也可以不带I I2 2C C总线接口。总线接口。从器件从器件可以是存储器、可以是存储器、LEDLED或或LCDLCD驱动器、驱动器、A/DA/D或或D/AD/A转换器、时钟转换器、时钟/日历器日历器件等,从器件件等,从器件必须带有必须带有I I2 2C C总线接口总线接口。I I2 2C C串行总线的串行总线的SDASDA和和SCLSCL是双向的,带有是双向的,带有I I2 2C C总线接口的器件的总线接口的器件的输出端为输出端为漏级开路漏级开路,故,故必须通过上拉电阻接正电源必须通过上拉电阻接正电源(见图(见图12-512-5中的两个电中的两个电阻)。阻)。总线空闲时,两条线均为高电平。由于连接到总线上的器件的输出级必总线空闲时,两条线均为高电平。由于连接到总线上的器件的输出级必须是漏级或集电极开路的,只要有一个器件输出低电平,都将使总线须是漏级或集电极开路的,只要有一个器件输出低电平,都将使总线上的信号变低。上的信号变低。SCLSCL线线上的时钟信号对上的时钟信号对SDASDA第13页,共49页,编辑于2022年,星期五线上的各器件间的数据传输起同步控制作用。线上的各器件间的数据传输起同步控制作用。SDASDA线上的数据起始、线上的数据起始、终止及数据的有效性均要根据终止及数据的有效性均要根据SDASDA线上的时钟信号来判断。线上的时钟信号来判断。标准标准I I2 2C C普通模式普通模式,数据的传输速率为,数据的传输速率为100kb/s100kb/s,高速模式高速模式可达可达400kb/s400kb/s。总线上总线上扩展器件的数量扩展器件的数量不是由电流负载决定,而是不是由电流负载决定,而是由电容负载由电容负载确定。确定。I I2 2C C总线上每个节点器件的接口都有一定的等效电容,连接的器总线上每个节点器件的接口都有一定的等效电容,连接的器件越多,电容值越大,这会造成信号传输的延迟。件越多,电容值越大,这会造成信号传输的延迟。总线上允许的总线上允许的器件数以总线上的电容量不超过器件数以总线上的电容量不超过400pF400pF(通过驱动扩展可达通过驱动扩展可达4000pF4000pF),),据此可计算出总线长度及连接器件的数量。每个连到据此可计算出总线长度及连接器件的数量。每个连到I I2 2C C总线上的总线上的器件都有一个唯一的地址,扩展器件时同时也要受器件地址数目的器件都有一个唯一的地址,扩展器件时同时也要受器件地址数目的限制。限制。第14页,共49页,编辑于2022年,星期五I I2 2C C总总线线系系统统允允许许多多主主器器件件,为为避避免免混混乱乱,某某一一时时刻刻究究竟竟由由哪哪一一台台主主器器件件来来控控制制总总线线要要通通过过总总线线仲仲裁裁来来决决定定。读读者者可可查查阅阅I I2 2C C总总线线的的仲仲裁裁协协议议。当当然然,经经常常遇遇到到的的是是以以单单片片机机为为主主器器件件,其其他他外外围围接接口口器器件为从器件的单主器件情况。件为从器件的单主器件情况。12.3.2 I12.3.2 I2 2C C总线的数据传送总线的数据传送1 1数据位的有效性规定数据位的有效性规定在在I I2 2C C总线上,每一数据位的传送都与时钟脉冲相对应,逻辑总线上,每一数据位的传送都与时钟脉冲相对应,逻辑“0”0”和逻辑和逻辑“1”1”的信号电平取决于相应电源的信号电平取决于相应电源V VCCCC的电压。的电压。I I2 2C C总线在总线在进行数据传送进行数据传送时,时,时钟线为高电平时钟线为高电平期间,数据线上的数据期间,数据线上的数据必须保持稳定,只有在必须保持稳定,只有在时钟线为低电平时钟线为低电平期间,数据线上的高电平期间,数据线上的高电平或低电平状态才允许变化,如或低电平状态才允许变化,如图图12-612-6所示。所示。第15页,共49页,编辑于2022年,星期五根据根据I I2 2C C总线协议,总线上总线协议,总线上数据传送的信号由起始信号(数据传送的信号由起始信号(S S)、终止)、终止信号(信号(P P)、应答信号()、应答信号(A A)、非应答信号)、非应答信号(A(A*)以及总线数据位)以及总线数据位组组成成。图图12-612-6第16页,共49页,编辑于2022年,星期五(1 1)起始信号()起始信号(S S)。)。在在SCLSCL线线为高电平期间,为高电平期间,SDASDA线线由高电平向低电由高电平向低电平的变化表示起始信号,只有在起始信号以后,其他命令才有效。平的变化表示起始信号,只有在起始信号以后,其他命令才有效。(2 2)终止信号()终止信号(P P)。)。在在SCLSCL线线为高电平期间,为高电平期间,SDASDA线线由低电平向高由低电平向高电平的变化表示终止信号。随着终止信号的出现,所有外部操作电平的变化表示终止信号。随着终止信号的出现,所有外部操作都结束。都结束。起始和终止信号都是由主器件发出的,在起始信号产生后,总线就起始和终止信号都是由主器件发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号出现后,总线就处于空闲状态。处于被占用的状态;在终止信号出现后,总线就处于空闲状态。起始信号和终止信号如起始信号和终止信号如图图12-712-7所示。所示。第17页,共49页,编辑于2022年,星期五图图12-712-7 若连接到若连接到I I2 2C C总线上的器件总线上的器件具有具有I I2 2C C总线的硬件接口总线的硬件接口,则很容易检,则很容易检测到起始和终止信号。测到起始和终止信号。对于对于不具备不具备I I2 2C C总线硬件接口总线硬件接口的有些单片机(如的有些单片机(如89C5189C51),为了检),为了检测起始和终止信号,必须保证在每个时钟周期内对数据线测起始和终止信号,必须保证在每个时钟周期内对数据线SDASDA取取样两次。样两次。第18页,共49页,编辑于2022年,星期五(3 3)应答信号()应答信号(A A)。)。I I2 2C C总线在每传送一字节数据后都必须有应答信号,总线在每传送一字节数据后都必须有应答信号,与应答信号线对应的时钟信号由主器件产生。这时发送方必须在这一时钟与应答信号线对应的时钟信号由主器件产生。这时发送方必须在这一时钟位上使数据总线处于高电平状态,以便接收方在这一位上送出应答信号,位上使数据总线处于高电平状态,以便接收方在这一位上送出应答信号,如如图图12-812-8所示。所示。应答信号在第应答信号在第9 9个时钟位上出现,接收方输出低电平为应答信号个时钟位上出现,接收方输出低电平为应答信号A A。(4 4)非应答信号()非应答信号(A A*)。)。每传送完一字节数据后,在第每传送完一字节数据后,在第9 9个时钟位上个时钟位上接收方输出高电平为应答信号接收方输出高电平为应答信号第19页,共49页,编辑于2022年,星期五图图12-812-8第20页,共49页,编辑于2022年,星期五2 2I I2 2C C总线上数据字节的传送与应答总线上数据字节的传送与应答数据传送时,数据传送时,传送的字节数(数据帧)没有限制,传送的字节数(数据帧)没有限制,但是每一字节必须是但是每一字节必须是8 8位位长度。长度。先传送最高位先传送最高位(MSBMSB),每一个被传送的字节后面都),每一个被传送的字节后面都必必须跟随须跟随1 1位应答位(即一帧共有位应答位(即一帧共有9 9位),位),见见图图12-812-8。接收器件收到一个完整的数据字节后接收器件收到一个完整的数据字节后,有可能需要完成一些其他工,有可能需要完成一些其他工作(如从器件正在进行实时性的处理工作而无法接收总线上的作(如从器件正在进行实时性的处理工作而无法接收总线上的数据),不需要立刻接收下一字节,这时接收器件可以将数据),不需要立刻接收下一字节,这时接收器件可以将SCLSCL线拉成低电平,从而使主器件处于等待状态。直到接收器件准线拉成低电平,从而使主器件处于等待状态。直到接收器件准备好接收下一个字节时,再释放备好接收下一个字节时,再释放SCLSCL线使之为高电平,从而使数线使之为高电平,从而使数据传送可以继续进行。据传送可以继续进行。第21页,共49页,编辑于2022年,星期五如果主器件对从器件进行了应答,但在数据传送一段时间后无法继续如果主器件对从器件进行了应答,但在数据传送一段时间后无法继续接收更多的数据,从器件可以通过对无法接收的第一个数据字节的接收更多的数据,从器件可以通过对无法接收的第一个数据字节的“非应答非应答”通知主器件,主器件则应发出终止信号以结束数据的继通知主器件,主器件则应发出终止信号以结束数据的继续传送。续传送。当主器件接收数据时,它收到从器件发出的最后一个数据字节后,当主器件接收数据时,它收到从器件发出的最后一个数据字节后,必须向主器件发出一个结束传送的信号。这个信号是由对从必须向主器件发出一个结束传送的信号。这个信号是由对从器件的器件的“非应答非应答”来实现的。然后,从器件释放来实现的。然后,从器件释放SDASDA线,以允许线,以允许主器件产生终止信号。主器件产生终止信号。I I2 2C C总线上应答与非应答信号见总线上应答与非应答信号见图图12-812-8。第22页,共49页,编辑于2022年,星期五12.4 AT89C5112.4 AT89C51单片机扩展单片机扩展I I2 2C C总线器件的接口设计总线器件的接口设计随着微电子技术的发展,许多公司,如随着微电子技术的发展,许多公司,如PHILIPSPHILIPS、MotorolaMotorola、ATMELATMEL和和MAXIMMAXIM等,都推出许多带有等,都推出许多带有I I2 2C C总线接口的单片机及各种外围器件总线接口的单片机及各种外围器件,如如:存储器、存储器、A/DA/D转换器、转换器、D/AD/A转换器、转换器、LEDLED及及LCDLCD驱动器、日历时钟电驱动器、日历时钟电路(且带有路(且带有25682568RAMRAM),如),如PHILIPSPHILIPS公司公司的的PCF8553PCF8553(和(和PCF8570PCF8570(25682568RAMRAM)等。)等。第23页,共49页,编辑于2022年,星期五MAXIMMAXIM公公司司的的MAX127/128MAX127/128(A/DA/D)和和MAX517/518/519MAX517/518/519(D/AD/A),ATMELATMEL公司公司的的AT24CAT24C系列存储器等。系列存储器等。I I2 2C C总总线线系系统统中中的的主主器器件件通通常常由由单单片片机机来来担担当当,它它可可以以具具有有I I2 2C C总总线线接接口口,也也可可以以不不带带I I2 2C C总总线线接接口口。从从器器件件必必须须带带有有I I2 2C C总总线线接接口口。对对于于89C5189C51单单片片机机,没没有有配配置置I I2 2C C总总线线接接口口,这这时时可可以以利利用用通通用用并并行行I/OI/O口口线线模模拟拟I I2 2C C总总线线接接口口的的时时序序,使使89C5189C51单单片片机机不不受受没没带带I I2 2C C总总线线接口的限制。接口的限制。因因此此,在在许许多多单单片片机机应应用用系系统统中中,都都将将I I2 2C C总总线线的的模模拟拟传传送送技技术术作作为为常常规规的设计方法的设计方法。第24页,共49页,编辑于2022年,星期五下面介绍下面介绍89C5189C51单片机扩展单片机扩展I I2 2C C总线器件的硬件接口设计,然后介绍用总线器件的硬件接口设计,然后介绍用89C51 I/O89C51 I/O口结合软件模拟口结合软件模拟I I2 2C C总线数据传送,以及数据传送模拟通总线数据传送,以及数据传送模拟通用子程序的设计。用子程序的设计。12.4.1 I12.4.1 I2 2C C总线器件的扩展接口电路总线器件的扩展接口电路AT89C51AT89C51单片机的单片机的I I2 2C C总线扩展的硬件接口设计比较简单。总线扩展的硬件接口设计比较简单。图图12-912-9为一个为一个89C5189C51单片机与具有单片机与具有I I2 2C C总线接口器件的扩展电路。总线接口器件的扩展电路。图图12-912-9所示为一个所示为一个AT89C51AT89C51单片机与具有单片机与具有I I2 2C C总线接口器件的扩展电路。总线接口器件的扩展电路。图中,图中,AT24C02AT24C02为为E2PROME2PROM芯片,芯片,PCF8570PCF8570为静态为静态256256 8 RAM8 RAM,PCF8574PCF8574为为8 8位位I/OI/O口,口,SAA1064SAA1064为为4 4位位LEDLED驱动器。有关各种器件的具驱动器。有关各种器件的具体工作原理和用法参见有关资料。体工作原理和用法参见有关资料。第25页,共49页,编辑于2022年,星期五图图12-912-9第26页,共49页,编辑于2022年,星期五12.4.2 I12.4.2 I2 2C C总线数据传送的模拟总线数据传送的模拟AT89C51AT89C51单片机为单片机为单主器件单主器件的工作方式下,总线数据的传送控制比较简单,的工作方式下,总线数据的传送控制比较简单,没有总线的竞争与同步,只存在单片机对没有总线的竞争与同步,只存在单片机对I2CI2C总线上各从器件的读(单总线上各从器件的读(单片机接收)、写(单片机发送)操作。通常可利用软件实现片机接收)、写(单片机发送)操作。通常可利用软件实现I I2 2C C总线的总线的数据传送,即数据传送,即软件与硬件结合的信号模拟。软件与硬件结合的信号模拟。1 1典型信号模拟典型信号模拟为保证数据传送的可靠性,标准为保证数据传送的可靠性,标准I I2 2C C总线的数据传送有严格的时序要求。总线的数据传送有严格的时序要求。I I2 2C C总线的起始信号、终止信号、发送总线的起始信号、终止信号、发送“0”0”及发送及发送“1”1”的模拟时的模拟时序如序如图图12-1012-10图图12-1312-13所示。所示。第27页,共49页,编辑于2022年,星期五表表12-112-1所示为所示为I I2 2C C总线的时序特性。表中的数据为程序模拟总线的时序特性。表中的数据为程序模拟I I2 2C C总线信总线信号提供了基础。号提供了基础。由表可知,除了由表可知,除了SDASDA、SCLSCL线的信号下降时间为最大值外,其他参数只线的信号下降时间为最大值外,其他参数只有最小值。这表明在有最小值。这表明在I I2 2C C总线的数据传送中,可以利用时钟同步总线的数据传送中,可以利用时钟同步机制展宽低电平周期,迫使主器件处于等待状态,使传送速率机制展宽低电平周期,迫使主器件处于等待状态,使传送速率降低。降低。第28页,共49页,编辑于2022年,星期五第29页,共49页,编辑于2022年,星期五对于一个新的对于一个新的起始信号起始信号,要求起始前总线的空闲时间,要求起始前总线的空闲时间T TBUFBUF大于大于4.74.7 s s,而对于一个重复的起始信号,要求建立时间而对于一个重复的起始信号,要求建立时间T TSUSU:STASTA也须大于也须大于4.74.7 s s。所以,所以,图图12-1012-10所示的起始信号适用于数据模拟传送中任何情况下的起始所示的起始信号适用于数据模拟传送中任何情况下的起始操作。起始信号到第操作。起始信号到第1 1个时钟脉冲的时间间隔应大于个时钟脉冲的时间间隔应大于4.04.0 s s。对于对于终止信号终止信号,要保证有大于,要保证有大于4.74.7 s s的信号建立时间的信号建立时间T TSUSU.STOSTO。终止信号结束。终止信号结束时,要释放总线,使时,要释放总线,使SDASDA、SCLSCL维持在高电平上,在大于维持在高电平上,在大于4.74.7 s s后才可后才可以进行第以进行第1 1次起始操作。在单主器件系统中,为防止非正常传送,次起始操作。在单主器件系统中,为防止非正常传送,终止信号后终止信号后SCLSCL可以设置在低电平。可以设置在低电平。对于对于发送应答位、非应答位发送应答位、非应答位来说,与发送数据来说,与发送数据“0”0”和和“1”1”的信号定时的信号定时要求完全相同。只要满足在时钟高电平大于要求完全相同。只要满足在时钟高电平大于4.0ms4.0ms期间,期间,SDASDA线上有线上有确定的电平状态即可。确定的电平状态即可。第30页,共49页,编辑于2022年,星期五第31页,共49页,编辑于2022年,星期五2 2典型信号模拟子程序典型信号模拟子程序主器件主器件采用采用AT89C51AT89C51,晶振频率为,晶振频率为6MHz6MHz(即机器周期为(即机器周期为2ms2ms),对常用的),对常用的几个典型信号的波形模拟如下。几个典型信号的波形模拟如下。(1 1)起始信号)起始信号S S 起始信号起始信号S S的时序波形如的时序波形如图图12-1012-10所示。所示。图图12-1012-10第32页,共49页,编辑于2022年,星期五子程序如下:子程序如下:START:START:SETB P1.7SETB P1.7;SDA=1;SDA=1SETB P1.6SETB P1.6;SCL=1;SCL=1NOPNOPNOPNOPCLR P1.7CLR P1.7;SDA=0;SDA=0NOPNOP;起始信号保持起始信号保持4ms4msNOPNOPCLR P1.6CLR P1.6;SCL=0;SCL=0RETRET第33页,共49页,编辑于2022年,星期五 (2 2)终止信号)终止信号P P终止信号终止信号P P的时序波形如的时序波形如图图12-1112-11所示。所示。图图12-1112-11第34页,共49页,编辑于2022年,星期五子程序如下:子程序如下:STOP:STOP:CLR P1.7 CLR P1.7;SDA=0;SDA=0SETB P1.6SETB P1.6;SCL=1;SCL=1NOPNOP;终止信号建立时间终止信号建立时间NOPNOPSETB P1.7SETB P1.7;SDA=1;SDA=1NOPNOPNOPNOPCLR P1.6CLR P1.6CLR P1.7CLR P1.7RETRET第35页,共49页,编辑于2022年,星期五(3 3)发送应答位)发送应答位/“0”/“0”发送应答位发送应答位/数据数据“0”0”,如,如图图12-1212-12所示。所示。图图12-1212-12第36页,共49页,编辑于2022年,星期五子程序如下:子程序如下:ASK:ASK:CLR CLR P1.7P1.7;SDA=0;SDA=0 SETB SETB P1.6P1.6;SCL=1;SCL=1 NOPNOP NOPNOP CLR CLR P1.6P1.6;SCL=0;SCL=0 SETB SETB P1.7P1.7;SDA=1;SDA=1 RETRET第37页,共49页,编辑于2022年,星期五(4 4)发送非应答位)发送非应答位/“1”/“1”发送非应答位发送非应答位/数据数据“1”1”的时序波形如的时序波形如图图12-1312-13。图图12-1312-13第38页,共49页,编辑于2022年,星期五子程序如下:子程序如下:NASK:NASK:SETB P1.7SETB P1.7;SDA=1;SDA=1SETB P1.6SETB P1.6;SCL=1;SCL=1NOPNOPNOPNOPCLR P1.6CLR P1.6;SCL=0;SCL=0CLR P1.7CLR P1.7;SDA=0;SDA=0RETRET第39页,共49页,编辑于2022年,星期五12.4.3 12.4.3 I I2 2C C总线模拟通用子程序总线模拟通用子程序I I2 2C C总线操作中除了基本的起始信号、终止信号、发送应答位和发送非应总线操作中除了基本的起始信号、终止信号、发送应答位和发送非应答位外,还有应答位检查、发送答位外,还有应答位检查、发送1 1字节、接收字节、接收1 1字节、发送字节、发送n n字节和接字节和接收收n n字节子程序。字节子程序。1 1应答位检查子程序应答位检查子程序在应答位检查子程序在应答位检查子程序CACKCACK中,设置了标志位中,设置了标志位F0F0,当检查到正常的应,当检查到正常的应答位时,答位时,F0=0F0=0;否则;否则F0=1F0=1。参考子程序如下:。参考子程序如下:第40页,共49页,编辑于2022年,星期五CACK:CACK:SETB P1.7SETB P1.7;SDA;SDA为输入线为输入线SETB P1.6SETB P1.6;SCL=1,SDA;SCL=1,SDA引脚上的数据有效引脚上的数据有效CLRCLRF0F0;预设预设F0=0F0=0MOVMOVC,P1.7C,P1.7;读入读入SDASDA线的状态线的状态JNCJNCCENDCEND;应答正常应答正常,则转则转F0=0F0=0SETBSETBF0F0;应答不正常应答不正常,F0=1,F0=1CEND:CEND:CLR P1.6CLR P1.6;子程序结束子程序结束,使使SCL=0SCL=0RETRET第41页,共49页,编辑于2022年,星期五2 2发送发送1 1字节数据子程序字节数据子程序模拟模拟I I2 2C C的数据线的数据线SDASDA发送发送1 1字节数据的子程序,调用本子程序前,将欲发字节数据的子程序,调用本子程序前,将欲发送的数据送入送的数据送入A A中。参考子程序如下:中。参考子程序如下:S1BYTE:MOV R6,#08HS1BYTE:MOV R6,#08H;8;8位数据长度送入位数据长度送入R6R6中中WLP:WLP:RLC A RLC A;A;A左移左移,发送位进入发送位进入C C MOV MOV P1.7,C P1.7,C;将发送位送入将发送位送入SDASDA引脚引脚 SETB P1.6SETB P1.6;SCL=1,;SCL=1,使使SDASDA引脚上的数据有效引脚上的数据有效 NOPNOP NOP NOP CLR P1.6 CLR P1.6;SDA;SDA线上数据变化线上数据变化 DJNZ DJNZ R6 R6,WLPWLP RET RET第42页,共49页,编辑于2022年,星期五3 3接收接收1 1字节数据子程序字节数据子程序模拟从模拟从I I2 2C C数据线数据线SDASDA读取读取1 1字节数据,并存入字节数据,并存入R2R2中,程序如下中,程序如下 R1BYTE:MOV R6,#08HR1BYTE:MOV R6,#08H;8;8位数据长度送入位数据长度送入R6R6中中RLP:RLP:SETB P1.7 SETB P1.7;置置SDASDA数据线为输入方式数据线为输入方式 SETB P1.6 ;SCL=1,SETB P1.6 ;SCL=1,使使SDASDA数据线上的数据有效数据线上的数据有效 MOVMOV C,P1.7 C,P1.7;读入读入SDASDA引脚状态引脚状态 MOVMOV A,R2 A,R2;RLC A RLC A;将将C C读入读入A A MOV MOV R2,A R2,A;将将A A存入存入R2R2 CLR P1.6 CLR P1.6;SCL=0,;SCL=0,继续接收数据继续接收数据 DJNZ R6,RLPDJNZ R6,RLP RET RET第43页,共49页,编辑于2022年,星期五4 4发送发送n n字节数据子程序字节数据子程序本子程序用来模拟主器件向本子程序用来模拟主器件向I I2 2C C的数据线的数据线SDASDA连续发送连续发送n n字节数据,从器字节数据,从器件接收。子程序的编写必须遵照件接收。子程序的编写必须遵照I I2 2C C总线规定的读总线规定的读/写格式进行,连写格式进行,连续发送续发送n n字节数据的格式如下:字节数据的格式如下:其中,其中,SLAWSLAW为外围器件寻址字节(写)。为外围器件寻址字节(写)。本子程序本子程序定义了定义了如下一些如下一些符号单元符号单元:MSBUFMSBUF主器件发送数据缓冲区首地址的存放单元。主器件发送数据缓冲区首地址的存放单元。WSLAWSLA外围器件寻址字节(写)的存放单元。外围器件寻址字节(写)的存放单元。NUMBYTNUMBYT发送发送n n字节数据的存放单元。字节数据的存放单元。第44页,共49页,编辑于2022年,星期五 在在调用本程序之前调用本程序之前,必须将寻址字节代码存放在,必须将寻址字节代码存放在WSLAWSLA单元;必须单元;必须将要发送的将要发送的n n字节数据依次存放在以字节数据依次存放在以MSBUFMSBUF单元内容为首地址的发送缓冲单元内容为首地址的发送缓冲区内。区内。调用本程序后调用本程序后,依次传送到外围器件内部相应的单元中。在写入过程,依次传送到外围器件内部相应的单元中。在写入过程中,外围器件的单元地址具有自动加中,外围器件的单元地址具有自动加1 1功能,即自动修改地址指针,这功能,即自动修改地址指针,这使传送过程大大简化。使传送过程大大简化。参考子程序如下:参考子程序如下:SNBYTE:SNBYTE:MOV R7,NUMBYTMOV R7,NUMBYT;发送字节数送发送字节数送R7R7 LCALL STARTLCALL START;调用起始信号模拟子程序调用起始信号模拟子程序 MOV A,WSLAMOV A,WSLA;发送发送SLAWSLAW寻址字节寻址字节LCALL S1BYTELCALL S1BYTE;调用发送调用发送1 1字节子程序字节子程序 LCALL CACKLCALL CACK;检查应答位检查应答位 第45页,共49页,编辑于2022年,星期五JBJBF0,SNBYTEF0,SNBYTE;为非应答位则重发为非应答位则重发MOVMOVR0,MSBUFR0,MSBUF;主器件发送数据缓冲区首址送主器件发送数据缓冲区首址送R0R0SDATA:MOV SDATA:MOV A,R0A,R0;发送数据送发送数据送A ALCALLLCALLS1BYTES1BYTE;调用发送调用发送1 1字节子程序字节子程序LCALL CACKLCALL CACK;检查应答位检查应答位JBJBF0,SNBYTEF0,SNBYTE;为非应答位则重发为非应答位则重发INCINCR0R0;修改地址指针修改地址指针DJNZDJNZR7,SDATAR7,SDATALCALL STOPLCALL STOP;调用发送子程序调用发送子程序,

    注意事项

    本文(单片机的串行扩展技术PPT讲稿.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开