《【精品】串行总线接口技术-单片机原理与应用电子课件(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】串行总线接口技术-单片机原理与应用电子课件(可编辑.ppt(137页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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
26、 位数据的串行输入,易于和工业标准的位数据的串行输入,易于和工业标准的位数据的串行输入,易于和工业标准的位数据的串行输入,易于和工业标准的微处理器或单片机接口,适用于电池供电的测量仪表、移动电话微处理器或单片机接口,适用于电池供电的测量仪表、移动电话微处理器或单片机接口,适用于电池供电的测量仪表、移动电话微处理器或单片机接口,适用于电池供电的测量仪表、移动电话以及工业控制场合。以及工业控制场合。以及工业控制场合。以及工业控制场合。其主要特点如下:其主要特点如下:其主要特点如下:其主要特点如下:5V5V5V5V单电源工作;单电源工作;单电源工作;单电源工作;3 3 3 3 线串行接口;线串行接口
27、;线串行接口;线串行接口;DAC DAC DAC DAC 输出的最大电压为输出的最大电压为输出的最大电压为输出的最大电压为2 2 2 2 倍基准输入电压;倍基准输入电压;倍基准输入电压;倍基准输入电压;上电时内部自动复位,确保可以重复启动;上电时内部自动复位,确保可以重复启动;上电时内部自动复位,确保可以重复启动;上电时内部自动复位,确保可以重复启动;功耗低,最大功耗为功耗低,最大功耗为功耗低,最大功耗为功耗低,最大功耗为1.75mW1.75mW1.75mW1.75mW。2022/11/22171 1 1 1TLC5615TLC5615TLC5615TLC5615的内部结构和引脚功能的内部结构
28、和引脚功能的内部结构和引脚功能的内部结构和引脚功能 TLC5615TLC5615TLC5615TLC5615的内部结构如图的内部结构如图的内部结构如图的内部结构如图9-59-59-59-5所示,内部包含所示,内部包含所示,内部包含所示,内部包含:一个电压跟随器为参考电压端一个电压跟随器为参考电压端一个电压跟随器为参考电压端一个电压跟随器为参考电压端REFINREFINREFINREFIN提供高输入阻抗提供高输入阻抗提供高输入阻抗提供高输入阻抗 ;10 10 10 10位位位位DAC2 DAC2 DAC2 DAC2 电路提供最大值为电路提供最大值为电路提供最大值为电路提供最大值为2 2 2 2倍
29、于倍于倍于倍于REFIN REFIN REFIN REFIN 的输出;的输出;的输出;的输出;一个一个一个一个16 16 16 16 位移位寄存器位移位寄存器位移位寄存器位移位寄存器,接受串行移入的二进制数,并且有接受串行移入的二进制数,并且有接受串行移入的二进制数,并且有接受串行移入的二进制数,并且有一个级联的数据输出端一个级联的数据输出端一个级联的数据输出端一个级联的数据输出端DOUTDOUTDOUTDOUT;并行输入输出的并行输入输出的并行输入输出的并行输入输出的10101010位位位位DACDACDACDAC寄存器寄存器寄存器寄存器,为为为为10101010位位位位DACDACDACD
30、AC电路提供待转换电路提供待转换电路提供待转换电路提供待转换的二进制数据。的二进制数据。的二进制数据。的二进制数据。图图图图9-5 TLC56159-5 TLC56159-5 TLC56159-5 TLC5615的内部结构的内部结构的内部结构的内部结构2022/11/2218TLC5615TLC5615TLC5615TLC5615的引脚如图的引脚如图的引脚如图的引脚如图9-69-69-69-6所示,各引脚功能如下:所示,各引脚功能如下:所示,各引脚功能如下:所示,各引脚功能如下:DINDINDINDIN:串行二进制数输入端:串行二进制数输入端:串行二进制数输入端:串行二进制数输入端 SCLKS
31、CLKSCLKSCLK:串行时钟输入端:串行时钟输入端:串行时钟输入端:串行时钟输入端/CS/CS/CS/CS:芯片选择,低有效:芯片选择,低有效:芯片选择,低有效:芯片选择,低有效 DOUTDOUTDOUTDOUT:菊花链的串行数据输出端(用于多芯片的级联):菊花链的串行数据输出端(用于多芯片的级联):菊花链的串行数据输出端(用于多芯片的级联):菊花链的串行数据输出端(用于多芯片的级联)REFINREFINREFINREFIN:基准电压输入端:基准电压输入端:基准电压输入端:基准电压输入端 OUTOUTOUTOUT:DAC DAC DAC DAC 模拟电压输出端模拟电压输出端模拟电压输出端模
32、拟电压输出端图图图图9-6 TLC56159-6 TLC56159-6 TLC56159-6 TLC5615的引脚的引脚的引脚的引脚2022/11/22192 2 2 2、TLC5615TLC5615TLC5615TLC5615的时序的时序的时序的时序 TLC5615 TLC5615 TLC5615 TLC5615的时序如图的时序如图的时序如图的时序如图9-79-79-79-7所示。所示。所示。所示。/CS/CS/CS/CS当为低电平时,在每一个当为低电平时,在每一个当为低电平时,在每一个当为低电平时,在每一个SCLKSCLKSCLKSCLK时钟的上升沿从时钟的上升沿从时钟的上升沿从时钟的上升
33、沿从DIN DIN DIN DIN 引脚移入一位数据,高位在前,低位在引脚移入一位数据,高位在前,低位在引脚移入一位数据,高位在前,低位在引脚移入一位数据,高位在前,低位在后。经后。经后。经后。经16161616个时钟后,个时钟后,个时钟后,个时钟后,/CS/CS/CS/CS的上升沿将的上升沿将的上升沿将的上升沿将16 16 16 16 位移位寄存器的位移位寄存器的位移位寄存器的位移位寄存器的10 10 10 10 位有位有位有位有效数据锁存到效数据锁存到效数据锁存到效数据锁存到10101010位位位位DACDACDACDAC寄存器寄存器寄存器寄存器,供供供供DACDACDACDAC电路进行转
34、换。电路进行转换。电路进行转换。电路进行转换。图图图图9-7 TLC56159-7 TLC56159-7 TLC56159-7 TLC5615的时序的时序的时序的时序2022/11/222016161616位数据的高位数据的高位数据的高位数据的高4 4 4 4位和低位和低位和低位和低2 2 2 2位不会被转换,待转换数据输入的格式见位不会被转换,待转换数据输入的格式见位不会被转换,待转换数据输入的格式见位不会被转换,待转换数据输入的格式见表表表表9-19-19-19-1:输入序号输入序号输入序号输入序号1 12 23 34 45 56 67 78 89 91010111112121313141
35、415151616输入数据输入数据输入数据输入数据 D9D9D8D8D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D00 00 0设设设设n n n n为待转换的数字量,为待转换的数字量,为待转换的数字量,为待转换的数字量,VREFINVREFINVREFINVREFIN为基准输入电压,则转换后的为基准输入电压,则转换后的为基准输入电压,则转换后的为基准输入电压,则转换后的输出电压输出电压输出电压输出电压:VOUT=2VREFINn/1024 VOUT=2VREFINn/1024 VOUT=2VREFINn/1024 VOUT=2VREFINn/1024表表表表9-1 D/A9-
36、1 D/A9-1 D/A9-1 D/A转换数据输入格式转换数据输入格式转换数据输入格式转换数据输入格式2022/11/22213 3 3 3TLC5615TLC5615TLC5615TLC5615与单片机的接口与单片机的接口与单片机的接口与单片机的接口 TLC5615 TLC5615 TLC5615 TLC5615与单片机的硬件如图与单片机的硬件如图与单片机的硬件如图与单片机的硬件如图9-79-79-79-7所示,将所示,将所示,将所示,将TLC5615TLC5615TLC5615TLC5615的的的的SCLKSCLKSCLKSCLK、DINDINDINDIN分别与单片机的分别与单片机的分别与
37、单片机的分别与单片机的P1.0P1.0P1.0P1.0、P1.1P1.1P1.1P1.1、P1.2P1.2P1.2P1.2相连,基准电压接相连,基准电压接相连,基准电压接相连,基准电压接+5V+5V+5V+5V。图图图图9-8 TLC56159-8 TLC56159-8 TLC56159-8 TLC5615与单片机的硬件连接与单片机的硬件连接与单片机的硬件连接与单片机的硬件连接 2022/11/2222D/AD/AD/AD/A转换汇编语言程序:转换汇编语言程序:转换汇编语言程序:转换汇编语言程序:设要转换的数据放在R7R6中,R7为高8位,R6低8位 DIN BIT P1.2 ;引脚定义 CS
38、 BIT P1.1 SCLK BIT P1.0 TLC5615_DA:CLR C;将R7R6中数据左移2位(16位数据的最低2位添00)RLC R6 RLC R7 CLR C RLC R6 RLC R7 SETB CS ;初始化片选信号为高 CLR SCLK ;初始化时钟为低 CLR DIN;D/A数据线置低 CLR CS;选中TLC5615,开始启动D/A MOV R5,#16 ;将16位数据从DIN端移进内部的16位移位寄存器2022/11/2223 LOOP:RLC R6;R7R6中数据左移一位,最高位进入CY RLC R7 MOV DIN,C;将数据送到DIN引脚 SETB SCLK
39、;送时钟 NOPNOPNOPCLR SCLK;NOPNOPNOP DJNZ R5,LOOPSETB CS ;D/A片选拉高,10 位有效数据锁存到DAC寄存器,开始转换 RET 2022/11/2224D/A转换C语言程序:sbit DA_clk=P10;/*引脚定义*/sbit DA_ cs=P11;sbit DA_in=P12;void delay_s(unsigned char n)/*延时*/unsigned char i;for(i=0;in;i+);void TLC5615_DA_conver(unsigned int DA_data)/*D/A转换程序*/unsigned cha
40、r i;DA_data=DA_data 2;/*将数据左移2位(最低2位添00)*/DA_cs=1;/*初始化片选信号为高*/DA_clk=0;/*初始化时钟为低*/DA_in=0;/*D/A数据线置低*/DA_cs=0;/*选中TLC5615,开始启动D/A*/for(i=0;i16;i+)/*将16位数据从DIN端移进内部的16位移位寄存器*/2022/11/2225 DA_data=DA_data 1;/*左移一位,最高位进入CY*/DA_in=CY;/*将数据送到DIN引脚*/DA_clk=1;delay_s(0 x02);/*送时钟*/DA_clk=0;delay_s(0 x02);
41、DA_cs=1;/*片选拉高,10 位数据锁存到DAC寄存器,开始转换*/delay_s(0 x20);2022/11/22264.4.4.4.用用用用TLC5615TLC5615TLC5615TLC5615设计简易信号发生器设计简易信号发生器设计简易信号发生器设计简易信号发生器 图图图图9-99-99-99-9是用是用是用是用TLC5615TLC5615TLC5615TLC5615设计简易信号发生器的硬件接口电路。系设计简易信号发生器的硬件接口电路。系设计简易信号发生器的硬件接口电路。系设计简易信号发生器的硬件接口电路。系统实现上电后产生矩形波,当统实现上电后产生矩形波,当统实现上电后产生矩
42、形波,当统实现上电后产生矩形波,当S1S1S1S1按下时产生正弦波,当按下时产生正弦波,当按下时产生正弦波,当按下时产生正弦波,当S2S2S2S2按下时按下时按下时按下时产生三角波。产生三角波。产生三角波。产生三角波。图图图图9-99-99-99-9简易信号发生器的硬件接口电路简易信号发生器的硬件接口电路简易信号发生器的硬件接口电路简易信号发生器的硬件接口电路 程序略程序略程序略程序略2022/11/22279.2 I9.2 I2 2C C总线接口技术总线接口技术 I2C I2C I2C I2C总线是总线是总线是总线是PHLIPSPHLIPSPHLIPSPHLIPS公司推出的一种高性能芯片间简
43、单、双向公司推出的一种高性能芯片间简单、双向公司推出的一种高性能芯片间简单、双向公司推出的一种高性能芯片间简单、双向二线制同步串行总线,数据传输时只需两根信号线,一根是双向二线制同步串行总线,数据传输时只需两根信号线,一根是双向二线制同步串行总线,数据传输时只需两根信号线,一根是双向二线制同步串行总线,数据传输时只需两根信号线,一根是双向数据线数据线数据线数据线SDASDASDASDA,另一根是时钟线,另一根是时钟线,另一根是时钟线,另一根是时钟线SCLSCLSCLSCL,所有连接到,所有连接到,所有连接到,所有连接到I2CI2CI2CI2C总线上的串行总线上的串行总线上的串行总线上的串行器件
44、,其数据线都连接到总线的器件,其数据线都连接到总线的器件,其数据线都连接到总线的器件,其数据线都连接到总线的SDASDASDASDA上,时钟线则连接到总线的上,时钟线则连接到总线的上,时钟线则连接到总线的上,时钟线则连接到总线的SCLSCLSCLSCL上。上。上。上。9.2.1 I2C9.2.1 I2C9.2.1 I2C9.2.1 I2C总线简介总线简介总线简介总线简介1.I2C1.I2C1.I2C1.I2C总线的主要特点有总线的主要特点有总线的主要特点有总线的主要特点有:总线只有两根线,即串行时钟线(总线只有两根线,即串行时钟线(总线只有两根线,即串行时钟线(总线只有两根线,即串行时钟线(S
45、CLSCLSCLSCL)和串行数据线)和串行数据线)和串行数据线)和串行数据线(SDASDASDASDA),这在设计中大大减少了硬件接口。),这在设计中大大减少了硬件接口。),这在设计中大大减少了硬件接口。),这在设计中大大减少了硬件接口。2022/11/2228 每个连接到总线上的器件都有一个用于识别的器件地址,每个连接到总线上的器件都有一个用于识别的器件地址,每个连接到总线上的器件都有一个用于识别的器件地址,每个连接到总线上的器件都有一个用于识别的器件地址,器器器器件地址由芯片内部硬件电路和外部地址引脚同时决定,件地址由芯片内部硬件电路和外部地址引脚同时决定,件地址由芯片内部硬件电路和外部
46、地址引脚同时决定,件地址由芯片内部硬件电路和外部地址引脚同时决定,避免了片避免了片避免了片避免了片选线的连接方法,并建立简单的主从关系,每个器件既可以作为选线的连接方法,并建立简单的主从关系,每个器件既可以作为选线的连接方法,并建立简单的主从关系,每个器件既可以作为选线的连接方法,并建立简单的主从关系,每个器件既可以作为发送器,又可以作为接收器。发送器,又可以作为接收器。发送器,又可以作为接收器。发送器,又可以作为接收器。同步时钟允许器件以不同的波特率进行通信。同步时钟允许器件以不同的波特率进行通信。同步时钟允许器件以不同的波特率进行通信。同步时钟允许器件以不同的波特率进行通信。同步时钟可以作
47、为停止或重新启动串行口发送的握手信号。同步时钟可以作为停止或重新启动串行口发送的握手信号。同步时钟可以作为停止或重新启动串行口发送的握手信号。同步时钟可以作为停止或重新启动串行口发送的握手信号。串行的数据传输位速率在标准模式下可达串行的数据传输位速率在标准模式下可达串行的数据传输位速率在标准模式下可达串行的数据传输位速率在标准模式下可达100kbit/s100kbit/s100kbit/s100kbit/s,快速,快速,快速,快速模式下可达模式下可达模式下可达模式下可达400kbit/s400kbit/s400kbit/s400kbit/s,高速模式下可达,高速模式下可达,高速模式下可达,高速
48、模式下可达3.4Mbit/s3.4Mbit/s3.4Mbit/s3.4Mbit/s。连接到同一总线的集成电路数只受连接到同一总线的集成电路数只受连接到同一总线的集成电路数只受连接到同一总线的集成电路数只受400pF400pF400pF400pF的最大总线电容的的最大总线电容的的最大总线电容的的最大总线电容的限制。限制。限制。限制。2022/11/22292.I2C2.I2C2.I2C2.I2C总线系统结构总线系统结构总线系统结构总线系统结构 I2C I2C I2C I2C总线的系统结构如图总线的系统结构如图总线的系统结构如图总线的系统结构如图9-109-109-109-10所示。采用所示。采用
49、所示。采用所示。采用I2CI2CI2CI2C总线标准的器总线标准的器总线标准的器总线标准的器件均并联在总线上,内部都有件均并联在总线上,内部都有件均并联在总线上,内部都有件均并联在总线上,内部都有I2CI2CI2CI2C接口电路,用于实现和接口电路,用于实现和接口电路,用于实现和接口电路,用于实现和I2CI2CI2CI2C总线总线总线总线的连接。的连接。的连接。的连接。I2CI2CI2CI2C总线上的每一个从器件均有一个唯一的地址,用于总线上的每一个从器件均有一个唯一的地址,用于总线上的每一个从器件均有一个唯一的地址,用于总线上的每一个从器件均有一个唯一的地址,用于识别不同的器件。识别不同的器
50、件。识别不同的器件。识别不同的器件。图图图图9-10 I2C9-10 I2C9-10 I2C9-10 I2C总线的系统结构总线的系统结构总线的系统结构总线的系统结构2022/11/22303.I2C3.I2C3.I2C3.I2C总线的工作时序总线的工作时序总线的工作时序总线的工作时序 当当当当I2CI2CI2CI2C总线没有进行信息传送时,数据线(总线没有进行信息传送时,数据线(总线没有进行信息传送时,数据线(总线没有进行信息传送时,数据线(SDASDASDASDA)和时钟线)和时钟线)和时钟线)和时钟线(SCLSCLSCLSCL)都为高电平时。当主控制器向某个器件传送信息时,首)都为高电平时