【精品】串行总线接口技术-单片机原理与应用电子课件(可编辑.ppt
《【精品】串行总线接口技术-单片机原理与应用电子课件(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】串行总线接口技术-单片机原理与应用电子课件(可编辑.ppt(137页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、串行总线接口技术-单片机原理与应用电子课件本章主要内容本章主要内容9.1 SPI9.1 SPI串行总线接口技术串行总线接口技术9.2 I9.2 I2 2C C总线接口技术总线接口技术9.3 9.3 单总线单总线(1-wire)(1-wire)接口接口2022/11/2222022/11/223第第9 9章章 串行总线接口技术串行总线接口技术 由于数据的串行传输连线少,因而采用串行总线扩展技术可以由于数据的串行传输连线少,因而采用串行总线扩展技术可以由于数据的串行传输连线少,因而采用串行总线扩展技术可以由于数据的串行传输连线少,因而采用串行总线扩展技术可以使系统的硬件设计简化,系统的体积减小,同
2、时,系统的更改和使系统的硬件设计简化,系统的体积减小,同时,系统的更改和使系统的硬件设计简化,系统的体积减小,同时,系统的更改和使系统的硬件设计简化,系统的体积减小,同时,系统的更改和扩充更为容易。扩充更为容易。扩充更为容易。扩充更为容易。目前,单片机应用系统中常用的串行扩展总线有:目前,单片机应用系统中常用的串行扩展总线有:目前,单片机应用系统中常用的串行扩展总线有:目前,单片机应用系统中常用的串行扩展总线有:I2C(Inter I2C(Inter I2C(Inter I2C(Inter IC BUS)IC BUS)IC BUS)IC BUS)总线、总线、总线、总线、SPI(Serial P
3、eripheral Interface)SPI(Serial Peripheral Interface)SPI(Serial Peripheral Interface)SPI(Serial Peripheral Interface)总线、总线、总线、总线、MicrowireMicrowireMicrowireMicrowire总线及单总线总线及单总线总线及单总线总线及单总线(1-Wire BUS)(1-Wire BUS)(1-Wire BUS)(1-Wire BUS)。串行扩展总线的应用是单片机目前发展的一种趋势。串行扩展总线的应用是单片机目前发展的一种趋势。串行扩展总线的应用是单片机目前发展
4、的一种趋势。串行扩展总线的应用是单片机目前发展的一种趋势。AT89AT89AT89AT89系系系系列单片机利用自身的通用并行线可以模拟多种串行总线时序信号,列单片机利用自身的通用并行线可以模拟多种串行总线时序信号,列单片机利用自身的通用并行线可以模拟多种串行总线时序信号,列单片机利用自身的通用并行线可以模拟多种串行总线时序信号,因此可以充分利用各种串行接口芯片资源。本章主要介绍因此可以充分利用各种串行接口芯片资源。本章主要介绍因此可以充分利用各种串行接口芯片资源。本章主要介绍因此可以充分利用各种串行接口芯片资源。本章主要介绍I2CI2CI2CI2C总线、总线、总线、总线、SPISPISPISP
5、I总线及单总线总线及单总线总线及单总线总线及单总线(1-Wire BUS)(1-Wire BUS)(1-Wire BUS)(1-Wire BUS)的基本知识、常用的串行总线接口的基本知识、常用的串行总线接口的基本知识、常用的串行总线接口的基本知识、常用的串行总线接口器件及和单片机的接口应用。器件及和单片机的接口应用。器件及和单片机的接口应用。器件及和单片机的接口应用。2022/11/2249.1 SPI9.1 SPI串行总线接口技术串行总线接口技术9.1.1 SPI9.1.1 SPI9.1.1 SPI9.1.1 SPI串行总线简介串行总线简介串行总线简介串行总线简介 SPI SPI SPI S
6、PI接口的全称是接口的全称是接口的全称是接口的全称是“Serial Peripheral Interface”,“Serial Peripheral Interface”,“Serial Peripheral Interface”,“Serial Peripheral Interface”,意为串意为串意为串意为串行外围接口行外围接口行外围接口行外围接口,是是是是MotorolaMotorolaMotorolaMotorola首先在其首先在其首先在其首先在其MC68HCXXMC68HCXXMC68HCXXMC68HCXX系列处理器上定义的。系列处理器上定义的。系列处理器上定义的。系列处理器上定
7、义的。SPI SPI SPI SPI总线系统是一种同步串行外设接口,它可以使总线系统是一种同步串行外设接口,它可以使总线系统是一种同步串行外设接口,它可以使总线系统是一种同步串行外设接口,它可以使MCUMCUMCUMCU与各种外与各种外与各种外与各种外围设备以串行方式进行通信以交换信息。围设备以串行方式进行通信以交换信息。围设备以串行方式进行通信以交换信息。围设备以串行方式进行通信以交换信息。SPISPISPISPI总线系统可直接与各总线系统可直接与各总线系统可直接与各总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般包括以下四个厂家生产的多种标准外围器件直接接口,该接口一般包
8、括以下四个厂家生产的多种标准外围器件直接接口,该接口一般包括以下四个厂家生产的多种标准外围器件直接接口,该接口一般包括以下四种信号:种信号:种信号:种信号:MOSI MOSI MOSI MOSI 主器件数据输出主器件数据输出主器件数据输出主器件数据输出,从器件数据输入从器件数据输入从器件数据输入从器件数据输入 MISO MISO MISO MISO 主器件数据输入主器件数据输入主器件数据输入主器件数据输入,从器件数据输出从器件数据输出从器件数据输出从器件数据输出 SCLK SCLK SCLK SCLK 时钟信号时钟信号时钟信号时钟信号,由主器件产生由主器件产生由主器件产生由主器件产生 /ss/
9、ss/ss/ss 从器件使能信号从器件使能信号从器件使能信号从器件使能信号,由主器件控制由主器件控制由主器件控制由主器件控制 2022/11/225 SPISPISPISPI接口是在接口是在接口是在接口是在CPUCPUCPUCPU和外围低速器件之间进行同步串行和外围低速器件之间进行同步串行和外围低速器件之间进行同步串行和外围低速器件之间进行同步串行数据传输数据传输数据传输数据传输,在主器件的移位脉冲下在主器件的移位脉冲下在主器件的移位脉冲下在主器件的移位脉冲下,数据按位传输数据按位传输数据按位传输数据按位传输,高位高位高位高位在前在前在前在前,低位在后低位在后低位在后低位在后,为全双工通信为全
10、双工通信为全双工通信为全双工通信,数据传输速度总体来说数据传输速度总体来说数据传输速度总体来说数据传输速度总体来说比比比比I2CI2CI2CI2C总线总线总线总线要快要快要快要快,速度可达到几速度可达到几速度可达到几速度可达到几MbpsMbps。对于大多数不带对于大多数不带对于大多数不带对于大多数不带SPISPISPISPI串行总线接口的串行总线接口的串行总线接口的串行总线接口的AT89AT89AT89AT89系列单片机系列单片机系列单片机系列单片机来说,可以使用软件来模拟来说,可以使用软件来模拟来说,可以使用软件来模拟来说,可以使用软件来模拟SPISPISPISPI的操作,包括串行时钟、的操
11、作,包括串行时钟、的操作,包括串行时钟、的操作,包括串行时钟、数据输入和数据输出。数据输入和数据输出。数据输入和数据输出。数据输入和数据输出。2022/11/2282 2 2 2TLC549TLC549TLC549TLC549的时序的时序的时序的时序 TLC549 TLC549 TLC549 TLC549的时序如图的时序如图的时序如图的时序如图9-29-29-29-2所示。所示。所示。所示。/CS/CS/CS/CS变为低电平时,变为低电平时,变为低电平时,变为低电平时,TLC549TLC549TLC549TLC549芯片芯片芯片芯片被选中,同时从被选中,同时从被选中,同时从被选中,同时从DOD
12、ODODO端输出前次转换结果的最高有效位端输出前次转换结果的最高有效位端输出前次转换结果的最高有效位端输出前次转换结果的最高有效位A7A7A7A7;接着自接着自接着自接着自CLKCLKCLKCLK端输入个外部时钟信号,前个端输入个外部时钟信号,前个端输入个外部时钟信号,前个端输入个外部时钟信号,前个CLKCLKCLKCLK信号输出上信号输出上信号输出上信号输出上次转换结果的次转换结果的次转换结果的次转换结果的A6-A7A6-A7A6-A7A6-A7位。位。位。位。在第个在第个在第个在第个CLKCLKCLKCLK信号由高至低的跳变之后,片内采样信号由高至低的跳变之后,片内采样信号由高至低的跳变之
13、后,片内采样信号由高至低的跳变之后,片内采样/保持电路保持电路保持电路保持电路对输入模拟量采样开始,第个对输入模拟量采样开始,第个对输入模拟量采样开始,第个对输入模拟量采样开始,第个CLKCLKCLKCLK信号的下降沿使片内采样信号的下降沿使片内采样信号的下降沿使片内采样信号的下降沿使片内采样/保保保保持电路进入保持状态并启动本次持电路进入保持状态并启动本次持电路进入保持状态并启动本次持电路进入保持状态并启动本次A/DA/DA/DA/D开始转换。开始转换。开始转换。开始转换。图图图图9-2 TLC5499-2 TLC5499-2 TLC5499-2 TLC549的时序的时序的时序的时序2022
14、/11/229 TLC549 TLC549 TLC549 TLC549没有启动控制端,只要读走前一次数据后马上就进行没有启动控制端,只要读走前一次数据后马上就进行没有启动控制端,只要读走前一次数据后马上就进行没有启动控制端,只要读走前一次数据后马上就进行新的转换,转换完成后就进入保持状态,转换时间为新的转换,转换完成后就进入保持状态,转换时间为新的转换,转换完成后就进入保持状态,转换时间为新的转换,转换完成后就进入保持状态,转换时间为36363636个系统时个系统时个系统时个系统时钟周期,最大为钟周期,最大为钟周期,最大为钟周期,最大为17uS17uS17uS17uS。没有转换完成标志信号,只
15、要采用延时操。没有转换完成标志信号,只要采用延时操。没有转换完成标志信号,只要采用延时操。没有转换完成标志信号,只要采用延时操作即可控制每次读取数据的操作。作即可控制每次读取数据的操作。作即可控制每次读取数据的操作。作即可控制每次读取数据的操作。3 3 3 3TLC549TLC549TLC549TLC549与单片机的接口与单片机的接口与单片机的接口与单片机的接口 TLC549 TLC549 TLC549 TLC549与单片机的连接如图与单片机的连接如图与单片机的连接如图与单片机的连接如图9-39-39-39-3所示。采用所示。采用所示。采用所示。采用P1.0P1.0P1.0P1.0P1.2P1
16、.2P1.2P1.2连接连接连接连接TLC549TLC549TLC549TLC549的串行接口。的串行接口。的串行接口。的串行接口。图图图图9-3 TLC5499-3 TLC5499-3 TLC5499-3 TLC549与单片机的硬件连接与单片机的硬件连接与单片机的硬件连接与单片机的硬件连接2022/11/2210A/DA/DA/DA/D转换的汇编语言程序:转换的汇编语言程序:转换的汇编语言程序:转换的汇编语言程序:DO BIT P1.2DO BIT P1.2CLK BIT P1.1CLK BIT P1.1CS BIT P1.0CS BIT P1.0 TLC549_AD:CLR A ;TLC5
17、49 A/D TLC549_AD:CLR A ;TLC549 A/D转换子程序,转换结果在转换子程序,转换结果在转换子程序,转换结果在转换子程序,转换结果在A A中中中中 CLR CLK CLR CLK MOV R5,#08H MOV R5,#08H CLR CS CLR CS ;选中;选中;选中;选中TLC549TLC549 LOOP:SETB CLK LOOP:SETB CLK ;产生时钟;产生时钟;产生时钟;产生时钟 NOPNOP NOP NOP NOP NOP NOP NOP MOV C,DO MOV C,DO ;读取;读取;读取;读取A/DA/D转换的一位数据转换的一位数据转换的一位
18、数据转换的一位数据 RLC A RLC A ;左移进入;左移进入;左移进入;左移进入A A CLR CLK CLR CLK2022/11/2211NOPNOP NOP NOP DJNZ R5,LOOP DJNZ R5,LOOP ;判;判;判;判8 8次数据是否读完次数据是否读完次数据是否读完次数据是否读完 SETB CS SETB CS SETB CLK SETB CLK RET RET2022/11/2212A/DA/DA/DA/D转换的转换的转换的转换的C C C C语言程序:语言程序:语言程序:语言程序:sbit DO=P12sbit CLK=P11sbit CS=P10bdata Un
19、signed char addata;sbit adin0=addata 0;unsigned char TLC549 _ad(void)/*A/D转换程序*/unsigned char i;Clk=0;CS=0;/*令CS为低选中TLC549*/_nop_();2022/11/2213for(i=0;i8;i+)/*循环读取8位A/D转换结果*/CLK=1;/*令CLK引脚为高,产生时钟*/delay();/*延时*/adin0=DO;/*读取A/D转换后数据线的一位数据*/addata=addata 1;/*左移一位,先读取为高位,后读为低位*/CLK=0;/*令CLK恢复为0*/_nop
20、_();_nop_();return addata;/*返回A/D转换值*/void delay()unsigned char i;for(i=0;i20;i+)2022/11/22144 4 4 4简易数字电压表的设计举例简易数字电压表的设计举例简易数字电压表的设计举例简易数字电压表的设计举例 利用利用利用利用TLC549 A/DTLC549 A/DTLC549 A/DTLC549 A/D转换器设计一个简易数字电压表,用转换器设计一个简易数字电压表,用转换器设计一个简易数字电压表,用转换器设计一个简易数字电压表,用4 4 4 4位位位位LEDLEDLEDLED显示器将被测电压显示出来,测量范
21、围为显示器将被测电压显示出来,测量范围为显示器将被测电压显示出来,测量范围为显示器将被测电压显示出来,测量范围为0.000V-5.000V0.000V-5.000V0.000V-5.000V0.000V-5.000V。将。将。将。将TLC549TLC549TLC549TLC549的、的、的、的、CLKCLKCLKCLK、DODODODO接到单片机的三条接到单片机的三条接到单片机的三条接到单片机的三条I/OI/OI/OI/O口线,口线,口线,口线,REF+REF+REF+REF+、REF-REF-REF-REF-直直直直接接到接接到接接到接接到VccVccVccVcc、GNDGNDGNDGND,
22、模拟输入,模拟输入,模拟输入,模拟输入AINAINAINAIN接电位器的中心抽头,调节电位接电位器的中心抽头,调节电位接电位器的中心抽头,调节电位接电位器的中心抽头,调节电位器即可改变被测输入电压值,硬件连接如图器即可改变被测输入电压值,硬件连接如图器即可改变被测输入电压值,硬件连接如图器即可改变被测输入电压值,硬件连接如图9-49-49-49-4所示。所示。所示。所示。图图图图9-4 9-4 9-4 9-4 简易数字电压表硬件连接图简易数字电压表硬件连接图简易数字电压表硬件连接图简易数字电压表硬件连接图2022/11/2215软件设计的基本思路:软件设计的基本思路:软件设计的基本思路:软件设
23、计的基本思路:程序首先通过调用程序首先通过调用程序首先通过调用程序首先通过调用TLC549_ad()TLC549_ad()TLC549_ad()TLC549_ad(),读取,读取,读取,读取A/DA/DA/DA/D转换结果存入转换结果存入转换结果存入转换结果存入addataaddataaddataaddata,然后按公式,然后按公式,然后按公式,然后按公式u=addata/2555000u=addata/2555000u=addata/2555000u=addata/2555000(mVmVmVmV)计算电压值)计算电压值)计算电压值)计算电压值,再将再将再将再将u u u u转换为转换为转换
24、为转换为4 4 4 4位位位位BCDBCDBCDBCD码送显示缓冲区,并调用显示程序码送显示缓冲区,并调用显示程序码送显示缓冲区,并调用显示程序码送显示缓冲区,并调用显示程序disp_ad(disp_ad(disp_ad(disp_ad()将其转换为字型码显示出来,显示格式为将其转换为字型码显示出来,显示格式为将其转换为字型码显示出来,显示格式为将其转换为字型码显示出来,显示格式为x.xxxx,x.xxxx,x.xxxx,x.xxxx,单位为单位为单位为单位为v v v v。程序请参照课本程序请参照课本程序请参照课本程序请参照课本.2022/11/22169.1.3 SPI9.1.3 SPI9
25、.1.3 SPI9.1.3 SPI串行接口串行接口串行接口串行接口D/AD/AD/AD/A转换器转换器转换器转换器TLC5615TLC5615TLC5615TLC5615及其软硬件设计及其软硬件设计及其软硬件设计及其软硬件设计 TLC5615 TLC5615 TLC5615 TLC5615 是是是是SPISPISPISPI接口的接口的接口的接口的10101010位电压输出的位电压输出的位电压输出的位电压输出的D/AD/AD/AD/A转换器,通过转换器,通过转换器,通过转换器,通过3 3 3 3根根根根串行总线就可以完成串行总线就可以完成串行总线就可以完成串行总线就可以完成10 10 10 10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 串行 总线接口 技术 单片机 原理 应用 电子 课件 编辑
限制150内