资源预览内容
第1页 / 共60页
第2页 / 共60页
第3页 / 共60页
第4页 / 共60页
第5页 / 共60页
第6页 / 共60页
第7页 / 共60页
第8页 / 共60页
第9页 / 共60页
第10页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第9章章 串行接口技术串行接口技术 单片机原理、接口及应用单片机原理、接口及应用单片机原理、接口及应用单片机原理、接口及应用第第9章章 串行接口技术串行接口技术 内内 容容 提提 要要 RS-485总线扩展总线扩展 IIC总线扩展接口及应用总线扩展接口及应用 SPI总线扩展接口及应用总线扩展接口及应用 第第9章章 串行接口技术串行接口技术 9.1 RS485总线扩展总线扩展RSRS485485标准接口是单片机系统种常用的一种串行总线之标准接口是单片机系统种常用的一种串行总线之一。与一。与RSRS232C232C比较,其性能有许多改进,细节请见表所示。比较,其性能有许多改进,细节请见表所示。 表表9.1 RS232C与与RS485性能比较性能比较第第9章章 串行接口技术串行接口技术 RS485接口可连接成半双工和全双工两种通信方式。接口可连接成半双工和全双工两种通信方式。常见的半双工通信芯片有常见的半双工通信芯片有MAX481、MAX483、MAX485、MAX487等,全双工通信芯片有等,全双工通信芯片有MAX488、MAX489、MAX490、MAX491等。等。 第第9章章 串行接口技术串行接口技术 下面以下面以MAX485MAX485为例来介绍为例来介绍RSRS485485串行接口的应用。串行接口的应用。MAX485MAX485的封装的封装有有DIPDIP、SOSO和和uMAXuMAX三种,其中三种,其中DIPDIP封装的管脚如图所示。封装的管脚如图所示。 管脚的功能如下:管脚的功能如下:RORO:接收器输出端。若:接收器输出端。若A A比比B B大大200mV200mV,RORO为高;反之为低电平。为高;反之为低电平。RERE:接收器输出使能端。:接收器输出使能端。RERE为低时,为低时,RORO有效;为高时,有效;为高时,RORO呈高阻状呈高阻状态。态。DEDE:驱动器输出使能端。若:驱动器输出使能端。若DEDE1 1,驱动器输,驱动器输出出A A和和B B有效;若有效;若DEDE0 0,则它们呈高阻态。若,则它们呈高阻态。若驱动器输出有效,器件作为线驱动器用,反之驱动器输出有效,器件作为线驱动器用,反之作为线接收器用。作为线接收器用。DIDI:驱动器输入端。:驱动器输入端。DIDI0 0,有,有A A0 0,B B1 1;当当DIDI1 1,则,则A A1 1,B B0 0。GNDGND:接地。:接地。A A:同相接收器输入和同相驱动器输出。:同相接收器输入和同相驱动器输出。B B:反相接收器输入和反相驱动器输出。:反相接收器输入和反相驱动器输出。VCCVCC:电源端,一般接:电源端,一般接+5V+5V。图图9.1 MAX485芯片的芯片的DIP封装管脚图封装管脚图第第9章章 串行接口技术串行接口技术 MAX485典型的工作电路如图所示,其中平衡电阻典型的工作电路如图所示,其中平衡电阻Rp通通常取常取100300欧姆。欧姆。MAX485的收发功能见表。的收发功能见表。第第9章章 串行接口技术串行接口技术 表表9.3 MAX485的收发功能的收发功能第第9章章 串行接口技术串行接口技术 89C51与与MAX485的接口电路如图所示。用来控制的接口电路如图所示。用来控制MAX485的接收或发送,其余操作同串口的接收或发送,其余操作同串口 。第第9章章 串行接口技术串行接口技术 9.2 I2C总线扩展接口及应用总线扩展接口及应用9.2.1 原理原理 I2C(IIC)总线是总线是Philip公司推出的芯片间串行传输总线。公司推出的芯片间串行传输总线。它用两根线实现了完善的全双工同步数据传送,可以极为它用两根线实现了完善的全双工同步数据传送,可以极为方便地构成多机系统和外围器件扩展系统。方便地构成多机系统和外围器件扩展系统。IIC总线采用了总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。按照方法。按照IIC总线规范,总线传输中的所有状态都生成相总线规范,总线传输中的所有状态都生成相对应的状态码,系统中的主机能够依照这些状态码自动地对应的状态码,系统中的主机能够依照这些状态码自动地进行总线管理,用户只要在程序中装入这些标准处理模块,进行总线管理,用户只要在程序中装入这些标准处理模块,根据数据操作要求完成根据数据操作要求完成IIC总线的初始化,启动总线的初始化,启动IIC总线就总线就能自动完成规定的数据传送操作能自动完成规定的数据传送操作。第第9章章 串行接口技术串行接口技术 IIC总线接口为开漏或开集电极输出,需加上拉电总线接口为开漏或开集电极输出,需加上拉电阻。系统中所有的单片机、外围器件都将数据线阻。系统中所有的单片机、外围器件都将数据线SDA和时钟线和时钟线SCL的同名端相连在一起,总线上的所有节的同名端相连在一起,总线上的所有节点都由器件和管脚给定地址。系统中可以直接连接具点都由器件和管脚给定地址。系统中可以直接连接具有有IIC总线接口的单片机,也可以通过总线扩展芯片或总线接口的单片机,也可以通过总线扩展芯片或I/O口的软件仿真与口的软件仿真与IIC总线相连。在总线相连。在IIC总线上可以挂总线上可以挂接各种类型的外围器件,如接各种类型的外围器件,如RAM/EEPROM、日历、日历/时时钟、钟、A/D、D/A、以及由、以及由I/O口、显示驱动器构成的各口、显示驱动器构成的各种模块。种模块。 第第9章章 串行接口技术串行接口技术 9.2.2 软件软件IIC总线总线假设单片机所用晶体振荡器的频率为假设单片机所用晶体振荡器的频率为6MHz。用和分别模。用和分别模拟拟SDA和和SCL,定义如下:,定义如下: (1)产生起始位和停止位产生起始位和停止位如果单片机则每个机器周期为如果单片机则每个机器周期为2us,我们可分别写出产生时我们可分别写出产生时钟钟SCL和和SDA的发送起始条件和停止条件两段子程序的发送起始条件和停止条件两段子程序如下。若晶振频率并非如下。若晶振频率并非 6MHz,则要相应增删各程序,则要相应增删各程序段中段中NOP指令的条数,以满足时序的要求。例如,若指令的条数,以满足时序的要求。例如,若fosc=12MHz ,则两条,则两条NOP指令应增至指令应增至4条。条。 第第9章章 串行接口技术串行接口技术 发送起始条件发送起始条件STARTSTA: SETB SDA SETB SCL NOP NOP CLR SDA NOP NOP CLR SCL RET 发送停止条件发送停止条件STOPSTOP:CLR SDA SETB SCL NOP NOP SETB SDA NOP NOP CLR SCL RET第第9章章 串行接口技术串行接口技术 (2)发送应答位和非应答位子程序发送应答位和非应答位子程序 IIC总线上的第总线上的第9个时钟对应于应答位,相应数据线上个时钟对应于应答位,相应数据线上“0”为为“ACK”和和“1”为为“”。发送应答位和非应答位的子程序。发送应答位和非应答位的子程序分别如下分别如下。发送应答位发送应答位ACKMACK: CLR SDA SETB SCL NOP NOP CLR SCL SETB SDA RET 发送非应答位发送非应答位ACKMNACK: SETB SDA SETB SCL NOP NOP CLR SCL CLR SDA RET第第9章章 串行接口技术串行接口技术 (3)应答位检查子程序应答位检查子程序 在在I2C总线数据传送中,接收器收到发送器传送来的一个字节总线数据传送中,接收器收到发送器传送来的一个字节后,必须向后,必须向SDA线上返送一个应答位线上返送一个应答位ACK,表明此字节已经收妥。,表明此字节已经收妥。本子程序使单片机产生一个额外的时钟本子程序使单片机产生一个额外的时钟(第九个时钟脉冲,在脉冲第九个时钟脉冲,在脉冲的高电平期间读的高电平期间读ACK应答位,并将它的状态被复制到应答位,并将它的状态被复制到F0标志中以标志中以供检查。若有正常供检查。若有正常ACK,则,则F0标志为标志为0,否则为,否则为1。CACK: SETB SDA ;SDA作输入作输入 SETB SCL ;第;第9个时钟脉冲开始个时钟脉冲开始 NOP MOV C,SDA ;读;读SDA线线 MOV F0,C ;转存入;转存入F0中中 CLR SCL ;时钟脉冲结束;时钟脉冲结束 NOP RET第第9章章 串行接口技术串行接口技术 (4)字节数据发送子程序字节数据发送子程序 由于是由于是SDA接在并行口线,无移位寄存器,因此数据通过指令接在并行口线,无移位寄存器,因此数据通过指令完成移位再从完成移位再从SDA串行输出。遵循时序要求,数据在时钟低电平串行输出。遵循时序要求,数据在时钟低电平时变化,高电平时稳定,每一个时钟脉冲传送一位,编写字节数时变化,高电平时稳定,每一个时钟脉冲传送一位,编写字节数据传送子程序。据传送子程序。 该子程序的入口条件是待发送的字节位于累加器该子程序的入口条件是待发送的字节位于累加器ACC中。中。WRB: MOV R7,#8 ;位计数器初值;位计数器初值WLP: RLC A ;欲发送位移入;欲发送位移入C中中JC WR1 ;此位为;此位为1,转,转WR1CLR SDA ;此位为;此位为0,发送,发送0SETB SCL ;时钟脉冲变为高电平;时钟脉冲变为高电平NOP ;延时;延时NOPCLR SCL ;时钟脉冲变为低电平;时钟脉冲变为低电平DJNZ R7,WLP ;未发完;未发完8位,转位,转WLP RET ;8位已位已发完,返回完,返回 WR1: SETB SDA ;此位为;此位为 1,发送,发送1 SETB SCL ;时钟脉冲变高电;时钟脉冲变高电 平平 NOP NOP ;延时;延时 CLR SCL ;时钟脉冲变低电;时钟脉冲变低电 平平 CLR SDA DJNZ R7,WLP RET第第9章章 串行接口技术串行接口技术 (5)字节数据接收子程序字节数据接收子程序 该子程序的功能是在时钟的高电平时数据已稳定,读入一位,经过该子程序的功能是在时钟的高电平时数据已稳定,读入一位,经过8个时钟从个时钟从SDA线上读入一个字节数据,并将所读字节存于线上读入一个字节数据,并将所读字节存于A和和R6中。中。RDB:MOV R7,#8 ;R7存放位计数器初值存放位计数器初值RLP: SETB SDA ;SDA输入输入 SETB SCL ;SCL脉冲开始脉冲开始 MOV C,SDA ;读;读SDA线线 MOV A,R6 ;取回暂存结果;取回暂存结果 RLC A ;移入新接收位;移入新接收位 MOV R6,A ;暂存入;暂存入R6 CLR SCL ;SCL脉冲结束脉冲结束 DJNZ R7,RLP ;未读完;未读完8位,转位,转RLP RET ;8位读完,返回位读完,返回 第第9章章 串行接口技术串行接口技术 (6)n个字节数据发送子程序个字节数据发送子程序 这段子程序的入口条件:这段子程序的入口条件:假定控制字节已存放在片内假定控制字节已存放在片内RAM的的SLA单元中;单元中;待发送数据各字节已位于片内待发送数据各字节已位于片内RAM以以MTD+1为起始地址的为起始地址的n个连续单元中。个连续单元中。NUMBYT单元中存有欲发送数据的字节数。单元中存有欲发送数据的字节数。接收到数据的存放首址存放在片内接收到数据的存放首址存放在片内RAM的的MTD单元。单元。 WRNBYT: PUSH PSW ;保护现场;保护现场WRNBYT1: MOV PSW,#18H ;改用第;改用第3组工作寄存器组工作寄存器 CALL STA ;发起始条件;发起始条件 MOV A,SLA ;读写控制字节;读写控制字节 CALL WRB ;发送写控制字节;发送写控制字节 CALL CACK ;检查应答位;检查应答位 JB F0,WRNBYT ;无应答位,重发;无应答位,重发 MOV R0,#MTD ;有应答位,继而发数据,第一个数据为首址;有应答位,继而发数据,第一个数据为首址第第9章章 串行接口技术串行接口技术 WRDA: MOV A,R0 ;读一个字节数据;读一个字节数据 LCALL WRB ;发送此字节;发送此字节 LCALL CACK ;检查;检查ACK JB F0,WRNBYT1 ;无;无ACK,重发,重发 INC R0 ;调整指针;调整指针 DJNZ R5,WRDA ;尚未发完;尚未发完n个字节,继续个字节,继续 LCALL STOP ;全部数据发完,停止;全部数据发完,停止 POP PSW ;恢复现场;恢复现场 RET ;返回;返回第第9章章 串行接口技术串行接口技术 (7)读、存数据程序读、存数据程序 假设数据接受缓冲区为片内假设数据接受缓冲区为片内RAM以以MRD为首址的为首址的n个单元。个单元。 这段子程序的入口条件:这段子程序的入口条件:片内片内RAM中的中的SLA单元存有读控制字节;单元存有读控制字节;NUMBYT单元中存有欲接收数据的字节数。单元中存有欲接收数据的字节数。出口条件:出口条件:所读出的数据将存入片内所读出的数据将存入片内RAM以以MRD为首地址的为首地址的n个连续单元内。个连续单元内。RDNBYT: PUSH PSW RDNBYT1: MOV PSW,#18H LCALL STA ;发送起始条件;发送起始条件 MOV A,SLA ;读入读控制字节;读入读控制字节 LCALL WRB ;发送读控制字节;发送读控制字节 LCALL CACK ;检查;检查ACK JB F0,RDNBYT1 ;无;无ACK,重新开始,重新开始 MOV R1,#MRD ;接收数据缓冲区指针;接收数据缓冲区指针 第第9章章 串行接口技术串行接口技术 GO_ON: LCALL RDB ;读一个字节;读一个字节 MOV R1,A ;存入接收数据缓冲区;存入接收数据缓冲区; DJNZ NUMBYT,ACK;未全接收完,转;未全接收完,转ACK LCALL MNACK ;已读完所有字节,发;已读完所有字节,发 LCALL STOP ;发停止条件;发停止条件 POP PSW RETACK: LCALL MACK ;发;发ACK INC R1 ;调整指针;调整指针 SJMP GO_ON ;继续接收;继续接收 第第9章章 串行接口技术串行接口技术 9.2.3 典型典型IIC串行存储器的扩展串行存储器的扩展9.2.3.1 串行串行IIC总线总线EEPROM AT24CXX的扩展的扩展1)基本原理)基本原理 AT24CXX的特点是:单电源供电,工作电压范围宽;低功耗的特点是:单电源供电,工作电压范围宽;低功耗CMOS技术技术(100KHz(2.5 V)和和400KHz(5V)兼容兼容),自定时写周期,自定时写周期(包含自动擦除包含自动擦除)、页面、页面写周期的典型值为写周期的典型值为2ms,具有硬件写保护。,具有硬件写保护。图图9.6 AT24CXX的结构和引脚。的结构和引脚。(a)内部结构图;内部结构图;(b)引脚图。引脚图。第第9章章 串行接口技术串行接口技术 器件型号为器件型号为AT24CXX的结构和引脚如图所示,其中的结构和引脚如图所示,其中SCL 串行时钟端串行时钟端。SDA 串行数据端串行数据端。 WP 为写保护,当为写保护,当WP为高电平时存贮器只读;当为高电平时存贮器只读;当WP为低电平时存贮为低电平时存贮器可读可写。器可读可写。A0、A1、A2 片选或块选。片选或块选。 SDA为漏极开路端,需接上拉电阻到为漏极开路端,需接上拉电阻到Vcc。数据的结构为。数据的结构为8位。信号位。信号为电平触发,而非边沿触发。输入端内接有滤波器,能有效抑制噪声。为电平触发,而非边沿触发。输入端内接有滤波器,能有效抑制噪声。自动擦除自动擦除(逻辑逻辑“1”)在每一个写周期内完成。在每一个写周期内完成。 AT24CXX采用采用IIC规程,运用主规程,运用主/从双向通讯。器件发送数据到总线从双向通讯。器件发送数据到总线上,则定义为发送器上,则定义为发送器 ,器件接收数据则定义为接收器。主器件,器件接收数据则定义为接收器。主器件(通常为通常为微控制器微控制器)和从器件可工作于接收器和发送器状态。总线必须由主器件和从器件可工作于接收器和发送器状态。总线必须由主器件控制,主器件产生串行时钟控制,主器件产生串行时钟(SCL),控制总线的传送方向,并产生开始,控制总线的传送方向,并产生开始和停止条件。串行和停止条件。串行EEPROM为从器件。无论主控器件,还是从控器件,为从器件。无论主控器件,还是从控器件,接收一个字节后必须发出一个确认信号接收一个字节后必须发出一个确认信号ACK。 第第9章章 串行接口技术串行接口技术 2)控制字节要求)控制字节要求 开始位以后,主器件送出开始位以后,主器件送出8位控制字节。控制字节的结位控制字节。控制字节的结构构(不包括开始位不包括开始位)如下所示:如下所示: 说明:说明:控制字节的第控制字节的第14位为从器件地址位位为从器件地址位(存贮器为存贮器为1010)。控制。控制字节中的前字节中的前4位码确认器件的类型。此四位码由飞利浦公司位码确认器件的类型。此四位码由飞利浦公司的的IIC规程所决定。规程所决定。1010 码即为从器件为串行码即为从器件为串行EEPROM的的情况。串行情况。串行EEPROM将一直处于等待状态,直到将一直处于等待状态,直到1010码发码发送到总线上为止。当送到总线上为止。当1010码发送到总线上,其它非串行码发送到总线上,其它非串行EEPROM从器件将不会响应。从器件将不会响应。 第第9章章 串行接口技术串行接口技术 控控制制字字节节的的第第57位位为为18片片的的片片选选或或存存贮贮器器内内的的块块地地址址选选择择位位。此此三三个个控控制制位位用用于于选选片片或或者者内内部部块块选选择择。标标准准的的IIC规规程程允允许许选选择择16K位位的的存存贮贮器器。通通过过对对几几片片器器件件或或一一个个器器件件内内的的几几个个块块的的存存取取,可可完完成成对对16K位存贮器的选择,如表位存贮器的选择,如表9-6所示。所示。表表9-6 AT24CXX的的A2A1A0第第9章章 串行接口技术串行接口技术 控制字节的控制字节的A2、A1、A0的选择必须与外部的选择必须与外部A2、A1、A0引引脚的硬件连接或者内部块选择匹配,脚的硬件连接或者内部块选择匹配,A2、A1、A0引脚无内引脚无内部连接的,则这三位无关紧要;作器件选择的,可接高电平部连接的,则这三位无关紧要;作器件选择的,可接高电平或低电平。或低电平。 AT24CXX的存贮矩阵内部分为若干块,每一块有若干页面,的存贮矩阵内部分为若干块,每一块有若干页面,每一页面有若干个字节。内部页缓冲器只能写入一页字节数每一页面有若干个字节。内部页缓冲器只能写入一页字节数据,对据,对24LC32和和24LC64一次可以存一次可以存8页页(每页每页8个字节个字节)。控制字节第控制字节第8位为读、写操作控制码。如果此位为位为读、写操作控制码。如果此位为1,下一字,下一字节进行读操作节进行读操作(R);此位为;此位为0,下一字节进行写操作(,下一字节进行写操作(W)。)。 当串行当串行EEPROM产生控制字节确认位以后,主器件总线上产生控制字节确认位以后,主器件总线上将传送相应的字地址或数据信息。将传送相应的字地址或数据信息。第第9章章 串行接口技术串行接口技术 3)确认要求)确认要求 在每一个字节接收后,接收器件必须产生一个确认信号在每一个字节接收后,接收器件必须产生一个确认信号位位ACK。主器件必须产生一个与此确。主器件必须产生一个与此确 认位相应的额外时钟认位相应的额外时钟脉冲。在此时钟脉冲的高电平期间拉脉冲。在此时钟脉冲的高电平期间拉SDA线为稳定的低电线为稳定的低电平,为确认信号平,为确认信号(ACK)。若不在从器件输出的最后一个字节。若不在从器件输出的最后一个字节中产生确认位,主器件必须发一个数据结束信中产生确认位,主器件必须发一个数据结束信 号给从器件。号给从器件。在这种情况下,从器件必须保持数据线为高电平在这种情况下,从器件必须保持数据线为高电平(用表示用表示),使,使 得主器件能产生停止条件。得主器件能产生停止条件。注意注意:如果内部编程周期:如果内部编程周期(烧写烧写)正在进行,正在进行,AT24CXX不产生不产生任何确认位。任何确认位。第第9章章 串行接口技术串行接口技术 4)写操作)写操作 字节写字节写在主器件发出开始信号以后,主器件发送写控制字节即在主器件发出开始信号以后,主器件发送写控制字节即1010A2A1A00(其(其中中R/W读写控制位为低电平读写控制位为低电平“0”)。这指示从接收器被寻址,由主器件发)。这指示从接收器被寻址,由主器件发送的下一个字节为字地址送的下一个字节为字地址 ,将被写入到,将被写入到AT24CXX的地址指针。主器件接收的地址指针。主器件接收来自来自AT24CXX的另一个确认信号以后,将发送数据字节,并写入到寻址的的另一个确认信号以后,将发送数据字节,并写入到寻址的存贮器地址。存贮器地址。AT24CXX再次发出确认信号,同时主器件产生再次发出确认信号,同时主器件产生 停止条件停止条件P。启动内部写周期,在内部写周期内启动内部写周期,在内部写周期内AT24CXX将不产生确认信号将不产生确认信号(见图见图9.7)。图图9.7 AT24CXX字节写字节写 第第9章章 串行接口技术串行接口技术 页面写页面写 如同字节写方式,先将写控制字节、字地址发送到如同字节写方式,先将写控制字节、字地址发送到AT24CXX,接着,接着发发n个数据字节,主器件发送不多于一个页面字节的数据字节到个数据字节,主器件发送不多于一个页面字节的数据字节到AT24CXX,这些数据字节暂存在片内页面缓存器中,在主器件发送停止,这些数据字节暂存在片内页面缓存器中,在主器件发送停止信号以后写入到存贮器。接收每一字节以后,低位顺序地址指针在内部信号以后写入到存贮器。接收每一字节以后,低位顺序地址指针在内部加加1。高位顺序字地址保持为常数。如果主器件在产生停止条件以前要发。高位顺序字地址保持为常数。如果主器件在产生停止条件以前要发送多于一页字的数据,地址计数器将会循环,并且先接收到的数据将被送多于一页字的数据,地址计数器将会循环,并且先接收到的数据将被覆盖。象字节写操作一样,一旦停止条件被接收到,则内部写周期将开覆盖。象字节写操作一样,一旦停止条件被接收到,则内部写周期将开始始(见图见图9.8)。 图9.8 AT24CXX页面写 写保护写保护当当WP端连接到端连接到Vcc,AT24CXX可被用作串行可被用作串行ROM,编程将被禁止,并且,编程将被禁止,并且整个存贮器写保护。整个存贮器写保护。第第9章章 串行接口技术串行接口技术 5)读操作)读操作 当从器件地址的当从器件地址的R/W位被置为位被置为“1”,启动读操作。存,启动读操作。存在三种基本读操作类型:读当前地址内容,读随机地址内在三种基本读操作类型:读当前地址内容,读随机地址内容,读顺序地址内容。容,读顺序地址内容。读当前地址内容读当前地址内容AT24CXX片内包含一个地址计数器,此计数器保持被片内包含一个地址计数器,此计数器保持被存取的最后一个字的地址,并在片内自动加存取的最后一个字的地址,并在片内自动加1。因此,如果。因此,如果以前存取以前存取(读或者写操作均可读或者写操作均可)的地址为的地址为n,下一个读操作从,下一个读操作从n+1地址中读出数据。在接收到从器件的地址中地址中读出数据。在接收到从器件的地址中R/W位为位为1的情况下,的情况下,AT24CXX发送一个确认位并且送出发送一个确认位并且送出8位数据字。位数据字。主器件将不产生确认位主器件将不产生确认位(相当于产生相当于产生ACK),但产生一个停,但产生一个停止条件。止条件。AT24CXX不再继续发送不再继续发送(见图见图9.9)。 第第9章章 串行接口技术串行接口技术 图9.9 AT24CXX读当前地址内容 读随机地址内容读随机地址内容这种方式允许主器件读存贮器任意地址的内容,操作如图所示。这种方式允许主器件读存贮器任意地址的内容,操作如图所示。 图9.10 AT24CXX读随意地址的内容第第9章章 串行接口技术串行接口技术 主器件发主器件发1010A2A1A0后发后发0位,再发读的存贮器地址,在收到从器件的位,再发读的存贮器地址,在收到从器件的确认位确认位ACK后后 产生一个开始条件产生一个开始条件S,以结束上述写过程,再发一个读控制,以结束上述写过程,再发一个读控制字节,从器件字节,从器件AT24CXX在发在发ACK信号后发出信号后发出8位数据,主器件发后,发位数据,主器件发后,发一个停止位,一个停止位,AT24CXX不再发后续字节。不再发后续字节。读顺序地址的内容读顺序地址的内容读读顺顺序序地地址址内内容容的的方方式式与与读读随随意意地地址址内内容容的的方方式式相相同同,只只是是在在AT24CXX发发送送第第一一个个字字节节以以后后,主主器器件件不不发发和和STOP,而而是是发发ACK确确认认信信号号,控控制制AT24CXX发送下一个顺序地址的发送下一个顺序地址的8位数据字,直到位数据字,直到x个数据读完个数据读完(见图见图9.11)。 图图9.11 AT24CXX读顺序地址的内容读顺序地址的内容第第9章章 串行接口技术串行接口技术 防止噪声防止噪声 AT24CXX使用了一个使用了一个Vcc门限检测器电路。在一般门限检测器电路。在一般条件下,如果条件下,如果Vcc低于,门限检测器对内部擦低于,门限检测器对内部擦/写逻辑写逻辑不使能。不使能。 SCL和和SDA输入端接有施密特触发器和滤波器电路,输入端接有施密特触发器和滤波器电路,即使在总线上有噪声存在的情况下,它们也能抑制噪即使在总线上有噪声存在的情况下,它们也能抑制噪声峰值以保证器件正常工作。声峰值以保证器件正常工作。 第第9章章 串行接口技术串行接口技术 6)串行)串行EEPROM和和AT89C51接口接口 图为图为8XX51微控制器与微控制器与4K位的位的AT24C04串行串行EEPROM的典型连接。图中、提供的典型连接。图中、提供AT24C04的的时钟时钟SCL、SDA和和AT24C04进行数据传送,进行数据传送,A2、A1、A0内部无连接,为无关位。内部无连接,为无关位。WP为为EEPROM的写保护信号,高电平有效。因为我的写保护信号,高电平有效。因为我们要进行写入操作,所以只能把它接低电平。们要进行写入操作,所以只能把它接低电平。利用上面的子程序,将利用上面的子程序,将8XX51单片机内部单片机内部RAM 6067H存放的存放的“1”“8”LED显示器的字形显示器的字形 码写入码写入24C04存贮器的存贮器的2027H单元,为检查写单元,为检查写入效果,再将入效果,再将24C04的的2027H单元的内容读出单元的内容读出 存入存入8XX51内部内部RAM的的40H47H单元,同时单元,同时送送LED显示器显示。显示器显示。 第第9章章 串行接口技术串行接口技术 9.2.4 IIC总线接口的串行总线接口的串行A/D、D/A扩展扩展 PCF8591是一款典型的是一款典型的IIC总线接口的串行总线接口的串行8位位A/D、D/A转换器,该器件为单一电源供电(转换器,该器件为单一电源供电(6V),),CMOS工艺。工艺。PCF8591有有4路路8位位A/D输入,属逐次比较输入,属逐次比较型,内含采样保持电路;型,内含采样保持电路;1路路8位位D/A输出,内含有输出,内含有DAC的数据寄存器。的数据寄存器。A/D、D/A的最大转换速率约为的最大转换速率约为11kHz,转换的基准电源需由外部提供。,转换的基准电源需由外部提供。PCF8591的内的内部结构和外部引脚分别如图所示。部结构和外部引脚分别如图所示。 第第9章章 串行接口技术串行接口技术 图图9.18 PCF8591的内部结构(的内部结构(a)的外部引脚()的外部引脚(b)第第9章章 串行接口技术串行接口技术 PCF8591PCF8591引脚功能描述见表。引脚功能描述见表。 表表9.7 PCF85919.7 PCF8591的引脚功能表的引脚功能表第第9章章 串行接口技术串行接口技术 PCF8591的工作字有两个,地址选择字和转换控制字。的工作字有两个,地址选择字和转换控制字。地址选择字的格式如表所示。地址选择字的格式如表所示。表表9.8 PCF8591的地址选择字格式的地址选择字格式PCF8591的转换控制字存放在控制寄存器中,用于实现器件的各种功能。的转换控制字存放在控制寄存器中,用于实现器件的各种功能。总线操作时,为主发送的第二个字节。其格式如表所示。总线操作时,为主发送的第二个字节。其格式如表所示。 表表9.9 PCF8591的转换控制字格式的转换控制字格式第第9章章 串行接口技术串行接口技术 PCF8591的包括的包括D/A转换和转换和A/D转换两个部分,下面分别介绍之。转换两个部分,下面分别介绍之。1)PCF8591的的D/A转换转换D/A转换器是转换器是PCF8591的关键单元,除作为的关键单元,除作为D/A转换使用外,还用于转换使用外,还用于A/D转换中。转换中。D/A转换使用转换使用IIC总线的写入操作完成的,其数据操作格总线的写入操作完成的,其数据操作格式如下:式如下:其中其中data 1data ndata 1data n为待转换的二进制数字。为待转换的二进制数字。CONBYTCONBYT为为PCF8591PCF8591的控的控制字节。图中灰底位由主机发出,白底位由制字节。图中灰底位由主机发出,白底位由PCF8591PCF8591产生。产生。D/AD/A转换时,控制字中的输出允许位(转换时,控制字中的输出允许位(D6D6)应为)应为1 1,写入,写入PCF8591PCF8591的数的数据字节存放在据字节存放在DACDAC数据寄存器中,通过数据寄存器中,通过D/AD/A转换器转换成相应的模拟转换器转换成相应的模拟电压通过电压通过AOUTAOUT引脚输出,并保持到输入新的数据为止。引脚输出,并保持到输入新的数据为止。由于片内由于片内DACDAC单元还用于单元还用于A/DA/D转换,在转换,在A/DA/D转换周期里释放转换周期里释放DACDAC单元供单元供A/DA/D转换用,而转换用,而DACDAC输出缓冲放大器的采样、保持电路在这期间将保输出缓冲放大器的采样、保持电路在这期间将保持持D/AD/A转换的输出电压。转换的输出电压。 第第9章章 串行接口技术串行接口技术 2)PCF8591的的A/D转换转换PCF8591的的A/D转换为逐次比较型转换为逐次比较型ADC,在,在A/D转换周期中转换周期中借用借用DAC及高增益比较器。及高增益比较器。A/D转换的时序如图所示,对转换的时序如图所示,对PCF8591进行读写操作便立即启动进行读写操作便立即启动A/D转换,并读出转换,并读出A/D转换结果。转换结果。在每个应答位的后沿触发在每个应答位的后沿触发A/D转换周期,采样模拟电压并读出当转换周期,采样模拟电压并读出当前一个转换结果。前一个转换结果。A/D转换中,一旦转换中,一旦A/D采样周期被触发,所选择通道的采样采样周期被触发,所选择通道的采样电压便保存在采样、保持电路中,并转换成电压便保存在采样、保持电路中,并转换成8位二进制码(单端输位二进制码(单端输入)或入)或8位二进制补码(差分输入)存放在位二进制补码(差分输入)存放在ADC数据寄存器中等数据寄存器中等待主器件读出。如果控制字节中自动增量选择位置待主器件读出。如果控制字节中自动增量选择位置1,则一次,则一次A/D转换完毕后自动选择下一通道。读周期中读出的第一个字节为前转换完毕后自动选择下一通道。读周期中读出的第一个字节为前一个周期的转换结果。上电复位后读出的第一字节为一个周期的转换结果。上电复位后读出的第一字节为80H。 第第9章章 串行接口技术串行接口技术 PCF8591的的A/D转换使用转换使用IIC总线的读操作,其数据格式总线的读操作,其数据格式如下:如下: 其中其中data 0data n为为A/D的转换结果,分别对应于前一的转换结果,分别对应于前一个数据读取期间所采样的模拟电压。上电复位后控制字节状态个数据读取期间所采样的模拟电压。上电复位后控制字节状态为为00H,如果,如果A/D转换时须设置控制字,须在读操作之前进行转换时须设置控制字,须在读操作之前进行控制字节的写入操作。控制字节的写入操作。PCF8591一个典型的应用电路如图所示。假设从一个典型的应用电路如图所示。假设从A/D的的通道通道0采样数据送至采样数据送至D/A转换输出,利用前面所给出的转换输出,利用前面所给出的IIC软件,软件,编程如下编程如下:第第9章章 串行接口技术串行接口技术 图图9.20 PCF8591的典型应用电路的典型应用电路 第第9章章 串行接口技术串行接口技术 LCALL STA;启动;启动IIC总线操作总线操作MOV A, #10010001B;访问;访问PCF8591的的A/DLCALL WRBLCALL RDB;读上次采样数据,结果存放在;读上次采样数据,结果存放在R6中中LCALL STOP;停止;停止IIC总线操作总线操作LCALL STA;启动;启动IIC总线操作总线操作MOV A, #10010000B;访问;访问PCF8591的的D/ALCALL WRBMOV A, #01000000H;设置控制字;设置控制字LCALL WRBMOV A, R6;从;从D/A输出采样值输出采样值LCALL WRBLCALL STOP;停止;停止IIC总线操作总线操作 第第9章章 串行接口技术串行接口技术 9.3 SPI总线扩展接口及应用总线扩展接口及应用9.3.1 SPI的原理的原理SPI(Serial Peripheral Interface 串行外设接口)总线系统是串行外设接口)总线系统是Motorola公司提出的一种同步串行外设接口,允许公司提出的一种同步串行外设接口,允许MCU与各种外与各种外围设备以同步串行方式进行通信来交换信息。其外围设备种类繁围设备以同步串行方式进行通信来交换信息。其外围设备种类繁多,从最简单的多,从最简单的TTL移位寄存器到复杂的移位寄存器到复杂的LCD显示驱动器、网络显示驱动器、网络控制器等,可谓应有尽有。控制器等,可谓应有尽有。SPI总线可直接与各厂家生产的多种总线可直接与各厂家生产的多种标准外围器件直接接口,该接口一般使用标准外围器件直接接口,该接口一般使用4根线:串行时钟线根线:串行时钟线SCK、主机输入、主机输入/从机输出数据线从机输出数据线MISO、主机输出、主机输出/从机输出数从机输出数据线据线MISO和低电平有效的从机选择线和低电平有效的从机选择线SS。由于。由于SPI系统总线只需系统总线只需3根公共的时钟数据线和若干位独立的从机选择线(依据从机数目根公共的时钟数据线和若干位独立的从机选择线(依据从机数目而定),在而定),在SPI从设备较少而没有总线扩展能力的单片机系统中从设备较少而没有总线扩展能力的单片机系统中使用特别方便。即使在有总线扩展能力的系统中采用使用特别方便。即使在有总线扩展能力的系统中采用SPI设备也设备也可以简化电路设计,省掉很多常规电路中的接口器件,从而提高可以简化电路设计,省掉很多常规电路中的接口器件,从而提高了设计的可靠性。了设计的可靠性。第第9章章 串行接口技术串行接口技术 图图9.21 一个典型的一个典型的SPI总线系统结构示意图总线系统结构示意图一个典型的一个典型的SPI总线系统结构如图所示。在这个系统中,只允许有总线系统结构如图所示。在这个系统中,只允许有1个做主个做主SPI设备的主设备的主MCU和若干做和若干做SPI从设备的从设备的I/O外围器件。外围器件。MCU控制着数据向控制着数据向1个或多个从外围器件的传送。从器件只能在主机发命令时才能接收或向主个或多个从外围器件的传送。从器件只能在主机发命令时才能接收或向主机传送数据,其数据的传输格式是高位(机传送数据,其数据的传输格式是高位(MSB)在前,低位()在前,低位(LSB)在后。)在后。当有多个不同的串行当有多个不同的串行I/O器件若要连至器件若要连至SPI上作为从设备,必须注意两点:上作为从设备,必须注意两点:一是其必须有片选端;二是其接一是其必须有片选端;二是其接MISO线的输出脚必须有三态,片选无效时线的输出脚必须有三态,片选无效时输出高阻态,以不影响其它输出高阻态,以不影响其它SPI设备的正常工作。设备的正常工作。第第9章章 串行接口技术串行接口技术 9.3.2 SPI总线的软件模拟及串并扩展应用总线的软件模拟及串并扩展应用9.3.2.1 SPI总线的软件模拟总线的软件模拟对于大多的对于大多的51单片机而言,没有提供单片机而言,没有提供SPI接口,通常可接口,通常可使用软件的办法来模拟使用软件的办法来模拟SPI的总线操作,包括串行时钟、数的总线操作,包括串行时钟、数据输入和输出。值得注意的是,对于不同的串行接口外围据输入和输出。值得注意的是,对于不同的串行接口外围芯片,它们的时钟时序有可能不同,按芯片,它们的时钟时序有可能不同,按SPI数据和时钟的相数据和时钟的相位关系来看通常有位关系来看通常有4种情况,它是由片选信号有效前的电平种情况,它是由片选信号有效前的电平和数据传送时的有效沿来区分的,传送和数据传送时的有效沿来区分的,传送8位数据的时序种类位数据的时序种类具体如图所示具体如图所示。第第9章章 串行接口技术串行接口技术 现在用软件来模拟一下图中最上面的一种情况。我们假定图中的现在用软件来模拟一下图中最上面的一种情况。我们假定图中的MCU为为51单片机,系统接有两个从器件,用模拟单片机,系统接有两个从器件,用模拟SCK,模拟,模拟MOSI,模拟,模拟MISO线,模拟线,模拟SS1,模拟,模拟SS2。其模拟的程序如下。其模拟的程序如下。图图9.22 SPI总线的总线的4种数据种数据/时钟时序图时钟时序图第第9章章 串行接口技术串行接口技术 SS DB 0 ;分配片选扩展字单元PF0 BIT 0;分配片选有效前电平标志位PF1 BIT 1;分配数据传送有效沿标志位CLR PF0;初始化电平标志位PF0CLR PF1;初始化沿标志位PF1MOV SS, #11101111B ;初始化从器件选择字第第9章章 串行接口技术串行接口技术 数据发送程序数据发送程序:MOV R0, #DATA8;待发送的;待发送的数据放在数据放在R0中中MOV C, PF0MOV SCK, C;欲设置有效电平;欲设置有效电平NOP ;延时,均可调整,为;延时,均可调整,为匹配时序要求匹配时序要求MOV A, SS ANL P1, A;选中从器件;选中从器件NOPXCH A, R0MOV R0, #08H ;置循环次数;置循环次数SPIOUT: MOV C, PF1MOV SCK, C;准备有效触发沿;准备有效触发沿CPL PF1RLC A ;发送下一;发送下一位数据(从最高位开始)位数据(从最高位开始) MOV MOSI, CNOPMOV C, PF1MOV SCK, C;产生有效沿,以;产生有效沿,以便从器件锁存数据便从器件锁存数据CPL PF1NOPDJNZ R0, SPIOUT ;8位数据发送位数据发送未完成,则继续发送下一位未完成,则继续发送下一位MOV C, PF0MOV SCK, CMOV A, SSCPL AORL P1, A;结束;结束SPI总线操作,总线操作,关闭从器件关闭从器件RET 第第9章章 串行接口技术串行接口技术 数据接收程序:数据接收程序:SPIR: MOV C, PF0MOV SCK, C;欲设置有效电平;欲设置有效电平NOP ;延时,均可调整,为;延时,均可调整,为匹配时序要求匹配时序要求MOV A, SS ANL P1, A;选中从器件;选中从器件NOPMOV R0, #08H ;置循环次数;置循环次数SPIIN: MOV C, PF1MOV SCK, C;准备有效触发沿;准备有效触发沿CPL PF1NOPMOV C, PF1MOV SCK, C;产生有效沿,以便;产生有效沿,以便从器件锁存数据从器件锁存数据MOV MOSI, C ;接收下一位数据;接收下一位数据(从最高位开始)(从最高位开始)RRC A ;接收到的;接收到的数据依次存入数据依次存入ACPL PF1NOPDJNZ R0, SPIIN ;8位数据未接位数据未接收完,则继续接收下一位收完,则继续接收下一位MOV C, PF0MOV SCK, CMOV A, SSCPL AORL P1, A;结束;结束SPI总线操作,总线操作,关闭从器件关闭从器件RET其它三种情况只需改变初始相位条件即可模拟实现其它三种情况只需改变初始相位条件即可模拟实现。 第第9章章 串行接口技术串行接口技术 9.3.3 10位串行位串行D/A TLC5615的扩展的扩展 TLC5615是带有缓冲基准输入的是带有缓冲基准输入的10位电压输出型位电压输出型D/A转换器。器件可在单转换器。器件可在单5V电源下工作,且具有上电复位功能。电源下工作,且具有上电复位功能。TLC5615的控制是通过三线串行总线进行,可使用的数字的控制是通过三线串行总线进行,可使用的数字通信协议包括通信协议包括SPI、QSPI以及以及Microwire标准。低功耗,在标准。低功耗,在5V供电时功耗仅,数据更新速率为,典型的建立时间为。供电时功耗仅,数据更新速率为,典型的建立时间为。TLC5615广泛应用于电池供电测试仪表、数字增益调整、广泛应用于电池供电测试仪表、数字增益调整、电池远程工业控制和移动电话等领域。电池远程工业控制和移动电话等领域。第第9章章 串行接口技术串行接口技术 9.3.3.1 TLC5615的内部结构和外部引脚的内部结构和外部引脚 TLC5615的的内内部部结结构构如如图图所所示示,其其主主要要由由16位位移移位位寄寄存存器器、10位位D/A寄寄存存器器、D/A转转换换权权电电阻阻、基基准准缓缓冲冲器器、控控制逻辑和制逻辑和2倍程放大器等电路组成。倍程放大器等电路组成。图图9.24 TLC5615的内部结构的内部结构 第第9章章 串行接口技术串行接口技术 TLC5615的管脚与的管脚与Maxim公司的公司的MAX515完全兼容,如图所示。完全兼容,如图所示。各管脚的功能介绍如下。各管脚的功能介绍如下。DIN:串行数据输入脚:串行数据输入脚SCLK:串行时钟输入脚:串行时钟输入脚CS:片选端,低电平有效:片选端,低电平有效DOUT:用于菊花链的串行数据:用于菊花链的串行数据 输出端输出端AGND:模拟地:模拟地REFIN:基准输入端,一般接:基准输入端,一般接2V 到到VCC2VVCC:电源端,一般接:电源端,一般接+5V图图9.18 TLC5615的引脚图的引脚图 第第9章章 串行接口技术串行接口技术 9.3.3.2 TLC5615的接口及应用的接口及应用TLC5615与与AT89C52的典型的典型接口电路如图所示。接口电路如图所示。 TLC5615通过固定增益为通过固定增益为2的的运放缓冲电阻网络,把运放缓冲电阻网络,把10位位数字数据转换为模拟电压。数字数据转换为模拟电压。上电时,内部电路把上电时,内部电路把D/A寄存寄存器复位为器复位为0。其输出具有与基。其输出具有与基准输入相同的极性,表达式准输入相同的极性,表达式为为 第第9章章 串行接口技术串行接口技术 TLC5615最大的串行时钟速率不超过最大的串行时钟速率不超过14MHz,10位位DAC的建立时间为,的建立时间为,通常更新速率限制至通常更新速率限制至80kHz以内。以内。TLC5615的的16位移位寄存器在位移位寄存器在SCLK的控的控制下从制下从DIN引脚输入数据,高位在前,低位在后。引脚输入数据,高位在前,低位在后。16位移位寄存器中间的位移位寄存器中间的10位数据在上升沿的作用下打入位数据在上升沿的作用下打入10位的位的D/A寄存器供给寄存器供给D/A转换。其输入的转换。其输入的数据格式位为:数据格式位为: SPI和和AT89C52的接口传送的接口传送8位字节形式的数据。因此,要把数据输入到位字节形式的数据。因此,要把数据输入到D/A转换器需要两个写周期。转换器需要两个写周期。QSPI接口具有从接口具有从8位至位至16位的可变输入数据长位的可变输入数据长度,可以在一个写周期之内装入好转换数据代码。当系统不使用度,可以在一个写周期之内装入好转换数据代码。当系统不使用D/A转换器转换器时,最好把时,最好把D/A寄存器设置为全寄存器设置为全0,这样可以使基准电阻阵列和输出负载的,这样可以使基准电阻阵列和输出负载的功耗降为最小。依据图,功耗降为最小。依据图,TLC5615的一个简单的应用编程见下。的一个简单的应用编程见下。第第9章章 串行接口技术串行接口技术 DIN BIT P1.4 ;定义;定义I/O口口DataH EQU 30HDataL EQU 31HTLC5615: CLR SCLK ;准备操作;准备操作TLC5615CLR CS5615 ;选中;选中TLC5615MOV R7, #08HMOV A, DataH ;装入高;装入高8位数据位数据LOOPH: LCALL DELAY ;延时;延时RLC A ;最高位移向;最高位移向5615MOV DIN, CSETB SCLK ;产生上升沿,移入一位;产生上升沿,移入一位数据数据 LCALL DELAYCLR SCLKDJNZ R7, LOOPHMOV R7, #08HMOV A, DataL ;装入低;装入低8位数据位数据LOOPL: LCALL DELAY ;延时;延时RLC A ;最高位移向;最高位移向5615MOV DIN, CSETB SCLK ;产生上升沿,移入一;产生上升沿,移入一位数据位数据LCALL DELAYCLR SCLKDJNZ R7, LOOPLSETB CS5615 ;结束;结束5615的操作,同的操作,同时将转换数据代码存入时将转换数据代码存入10位位DA寄存器,寄存器,启动新一轮的启动新一轮的DA转换转换RET 第第9章章 串行接口技术串行接口技术 9.3.4 AD549 8位串行位串行A/D的扩展的扩展 TLC549是以是以8位开关电容逐次逼近位开关电容逐次逼近A/D转换器为基础而构造的转换器为基础而构造的CMOS A/D转换器。它能通过三态数据输出和模拟输入与微处理器或外围设备转换器。它能通过三态数据输出和模拟输入与微处理器或外围设备串行接口。串行接口。TLC549仅用输入仅用输入/输出时钟(输出时钟(CLK)和芯片选择()和芯片选择(CS)输)输入作数据控制,其最高入作数据控制,其最高CLK输入频率为。输入频率为。 TLC549的内部提供了片内系统时钟,它通常工作在的内部提供了片内系统时钟,它通常工作在4MHz且不需要且不需要外部元件。片内系统时钟使内部器件的操作独立于串行输入输出的操外部元件。片内系统时钟使内部器件的操作独立于串行输入输出的操作,这种独立性使得控制硬件和软件只需关心利用作,这种独立性使得控制硬件和软件只需关心利用I/O时钟读出先前转时钟读出先前转换结果和启动转换。换结果和启动转换。TLC549片内有采样保持电路,其转换速率可达片内有采样保持电路,其转换速率可达40kHz。 TLC549的电源范围为的电源范围为36V,功耗小于,功耗小于15mW,总的不可调整,总的不可调整误差为,能理想地应用于包括电池供电地便携式仪表的低成本、高性误差为,能理想地应用于包括电池供电地便携式仪表的低成本、高性能系统中。能系统中。 第第9章章 串行接口技术串行接口技术 9.3.4.1 器件引脚及等效输入电路器件引脚及等效输入电路(a)引脚;引脚;(b)采样期间等效电路;采样期间等效电路;(c)保持期间等效电路保持期间等效电路图图9.28 TLC549的器件引脚与等效输入电路的器件引脚与等效输入电路第第9章章 串行接口技术串行接口技术 TLC549的管脚与的管脚与TLC540 8位位A/D转换器以及转换器以及TLC1540 10位位A/D转换器兼容,如图所示。其中,基转换器兼容,如图所示。其中,基准端(准端(REF,REF)为差分输入,可以将)为差分输入,可以将REF接地,接地,REF接接Vcc端,但要加滤波电容。端,但要加滤波电容。AIN为模拟为模拟信号输入端,大于信号输入端,大于REF电压时转换为全电压时转换为全“1”,小于,小于REF电压时转换为全电压时转换为全“0”。通常为保证器件工作良。通常为保证器件工作良好,好,REF电压应高电压应高REF电压至少电压至少1V。 TLC549在采样期间和保持期间的等效输入电路分在采样期间和保持期间的等效输入电路分别如图和图所示。对于采样方式,输入电阻约别如图和图所示。对于采样方式,输入电阻约1k,采样电容约采样电容约60pF;对于保持方式,输入电阻约;对于保持方式,输入电阻约5M。第第9章章 串行接口技术串行接口技术 9.3.4.3 TLC549的接口及应用的接口及应用 TLC549与与51单片机的接口电路很简单,只要将单片机的接口电路很简单,只要将TLC549的的DO、CLK和和51单片机的单片机的I/O口相接即可,图给出了一种由口相接即可,图给出了一种由TLC549和和89C51构成的构成的典型的数据采集电路。其中,典型的数据采集电路。其中,N1、R1、R2、C2组成一阶低通滤波器;组成一阶低通滤波器;C1、R3可滤除直流;可滤除直流;R4、R5是将双极性的模拟输入信号变成是将双极性的模拟输入信号变成05V以适应以适应TLC549的单极性要求。的单极性要求。图图9.30 TLC549典型的数据采集电路典型的数据采集电路第第9章章 串行接口技术串行接口技术 利用前面第利用前面第2节所给出的节所给出的SPI的模拟子程序,编程如下。的模拟子程序,编程如下。SCK BIT P1.6 ;初始化时钟线;初始化时钟线MISO BIT P1.5 ;初始化数据线;初始化数据线CLR PF0 ;初始时钟电平为;初始时钟电平为0CLR PF1 ;设定上升沿有效;设定上升沿有效MOV SS, #01111111B ;初始化片选线;初始化片选线LCALL SPIR ;调用;调用SPI总线的模拟读子程序总线的模拟读子程序MOV Buff, A ;保存采样数据;保存采样数据
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号