MAX485典型电路剖析.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理、接口及应用 ★ RS-485总线扩展 ★ IIC总线扩展接口及应用 ★ SPI总线扩展接口及应用 9.1 RS-485总线扩展 RS-485标准接口是单片机系统种常用的一种串行总线之一。与RS-232C比较,其性能有许多改进,细节请见表9.1所示。 表9.1 RS-232C与RS-485性能比较 RS-485接口可连接成半双工和全双工两种通信方式。常见的半双工通信芯片有MAX481、MAX483、MAX485、MAX487等,全双工通信芯片有MAX488、MAX489、MAX490、MAX491等。 下面以MAX485为例来介绍RS-485串行接口的应用。MAX485的封装有DIP、SO和uMAX三种,其中DIP封装的管脚如图9.1所示。 管脚的功能如下: RO:接收器输出端。若A比B大200mV,RO为高;反之为低电平。 RE:接收器输出使能端。RE为低时,RO有效;为高时,RO呈高阻状态。 DE:驱动器输出使能端。若DE=1,驱动器输 出A和B有效;若DE=0,则它们呈高阻态。若 驱动器输出有效,器件作为线驱动器用,反之 作为线接收器用。 DI:驱动器输入端。DI=0,有A=0,B=1; 当DI=1,则A=1,B=0。 GND:接地。 A:同相接收器输入和同相驱动器输出。 B:反相接收器输入和反相驱动器输出。 VCC:电源端,一般接+5V。 MAX485典型的工作电路如图9.2所示,其中平衡电阻Rp通常取100~300欧姆。MAX485的收发功能见表9.3。 表9.3 MAX485的收发功能 89C51与MAX485的接口电路如图9.4所示。P1.7用来控制MAX485的接收或发送,其余操作同串口 。 9.2 I2C总线扩展接口及应用 9.2.1 原理 I2C(IIC)总线是Philip公司推出的芯片间串行传输总线。它用两根线实现了完善的全双工同步数据传送,可以极为方便地构成多机系统和外围器件扩展系统。IIC总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。按照IIC总线规范,总线传输中的所有状态都生成相对应的状态码,系统中的主机能够依照这些状态码自动地进行总线管理,用户只要在程序中装入这些标准处理模块,根据数据操作要求完成IIC总线的初始化,启动IIC总线就能自动完成规定的数据传送操作。 IIC总线接口为开漏或开集电极输出,需加上拉电阻。系统中所有的单片机、外围器件都将数据线SDA和时钟线SCL的同名端相连在一起,总线上的所有节点都由器件和管脚给定地址。系统中可以直接连接具有IIC总线接口的单片机,也可以通过总线扩展芯片或I/O口的软件仿真与IIC总线相连。在IIC总线上可以挂接各种类型的外围器件,如RAM/EEPROM、日历/时钟、A/D、D/A、以及由I/O口、显示驱动器构成的各种模块。 9.2.2 软件IIC总线 假设单片机所用晶体振荡器的频率为6MHz。用P1.7和P1.6分别模拟SDA和SCL,定义如下: SDA EQU P1.7 SCL EQU P1.6 (1)产生起始位和停止位 如果单片机则每个机器周期为2us,我们可分别写出产生时钟SCL和SDA的发送起始条件和停止条件两段子程序如下。若晶振频率并非 6MHz,则要相应增删各程序段中NOP指令的条数,以满足时序的要求。例如,若fosc=12MHz ,则两条NOP指令应增至4条。 ①发送起始条件START STA: SETB SDA SETB SCL NOP NOP CLR SDA NOP NOP CLR SCL RET (2)发送应答位和非应答位子程序 IIC总线上的第9个时钟对应于应答位,相应数据线上“0”为“ACK”和“1”为“”。发送应答位和非应答位的子程序分别如下。 (3)应答位检查子程序 在I2C总线数据传送中,接收器收到发送器传送来的一个字节后,必须向SDA线上返送一个应答位ACK,表明此字节已经收妥。本子程序使单片机产生一个额外的时钟(第九个时钟脉冲,在脉冲的高电平期间读ACK应答位,并将它的状态被复制到F0标志中以供检查。若有正常ACK,则F0标志为0,否则为1。 CACK: SETB SDA ;SDA作输入 SETB SCL ;第9个时钟脉冲开始 NOP MOV C,SDA ;读SDA线

文档评论(0)

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

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

1亿VIP精品文档

相关文档