【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt

上传人:本田雅阁 文档编号:3034861 上传时间:2019-06-28 格式:PPT 页数:82 大小:6.76MB
返回 下载 相关 举报
【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt_第1页
第1页 / 共82页
【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt_第2页
第2页 / 共82页
【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt_第3页
第3页 / 共82页
【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt_第4页
第4页 / 共82页
【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt》由会员分享,可在线阅读,更多相关《【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt(82页珍藏版)》请在三一文库上搜索。

1、1,12:12,单片机原理与接口技术,第10章 单片机系统 模拟量及其他扩展技术,http:/ (2)熟悉常用的串行接口A/D和D/A转换芯片的使用方法。 (3)了解日历时钟芯片与单片机的接口设计方法。 (4)了解IC卡与单片机的接口设计方法。,本章教学要求,3,12:12,本 章 目 录,10.1 A/D转换扩展 10.1.1 并行A/D转换扩展 10.1.2 串行A/D转换扩展 10.2 D/A转换扩展 10.2.1 并行D/A转换扩展 10.2.2 串行D/A转换扩展 10.3 日历时钟芯片扩展 10.3.1 日历时钟芯片8563,10.3.2 单片机与日历时钟芯片的接口方法 10.4

2、IC卡扩展 10.4.1 SLE4442 IC卡 10.4.2 SLE4442 IC卡数据传送协议 10.4.3 SLE4442 IC卡操作命令 10.4.4 单片机与SLE4442 IC卡的接口方法 习题与思考题,4,12:12,前 言,在单片机应用系统中,经常会遇到模拟量信号的输入/输出问题,对于如何将模拟量转换成数字量送给单片机,或者将数字量转换成模拟量输出到单片机外部,需要用到模数(A/D)或数模(D/A)转换技术。 也还经常会遇到与日期、时间有关的控制操作和管理问题,以及IC卡信息读写问题。 本章介绍单片机如何扩展A/D和D/A转换接口,怎样扩展日历时钟芯片和IC卡接口等技术和方法。

3、,5,12:12,10.1 A/D转换扩展,A/D转换器(ADC)是将连续的模拟信号转换成二进制数字量的器件; A/D转换器为单片机应用系统采集模拟量信号进而实现数字化处理提供了一种接口; A/D转换器的分类: 从工作原理分类有:双积分型、逐次逼近型A/D转换器等; 从分辨率分类有:8、12、 14、16位A/D转换器等; 从数据接口方式分类有:并行A/D转换器和串行A/D转换器。 单片机应用系统扩展A/D转换器时,需要根据以上区别采取不同的设计方法。,- A/D转换器分类,6,12:12,10.1.1 并行A/D转换扩展,由于MCS-51系列单片机和51内核单片机的并行数据总线都是8位的,可

4、以直接或间接地与8位并行输出的A/D转换器连接,并一次性从A/D接口读入数据。如ADC0809就是一个8输入通道的逐次逼近比较型8位并行输出A/D转换器,其输出级有一个8位三态输出锁存器,可以直接与单片机的数据总线连接。 8位A/D转换的精度往往不能满足实际需求,而常采用10位、12位甚至更高位的A/D转换器。A/D转换器的位数不同,接口电路也不同,对于具有8位数据总线的单片机来说,要扩展高于8位的并行输出A/D转换,单片机需要分两次来完成从A/D接口读取数据。 本节以12位并行输出A/D转换芯片AD574为例来介绍并行A/D转换接口的扩展方法。,- 并行A/D转换器,7,12:12,10.1

5、.1 并行A/D转换扩展,112位并行A/D转换器芯片AD574,AD574是Analog Devices公司生产的12位逐次逼近型快速A/D转换器。 完成12位A/D转换的时间为35s。 内部有三态输出缓冲电路。 输出电平与TTL和CMOS电平兼容。 无须外加时钟电路。 得到广泛应用。 AD574的引脚如图10-1所示。,- 12位并行A/D转换器,8,12:12,10.1.1 并行A/D转换扩展,AD574引脚说明如下: CE, (/CS), R/(/C):用于控制启动转换和读出A/D转换结果,当CE=1、(/CS)=0、R/(/C)=0时启动A/D转换;当CE=1、(/CS)=0、R/(

6、/CS)=1时,可以读出A/D转换结果。 12/(/8):数据格式选择端,当12/(/8)=1时,12位数据同时输出,适合于与16位微机系统接口;当12/(/8)=0时,该引脚信号与A0引脚配合使用,可分别输出高8位A/D转换结果和低4位A/D转换结果,适合于与8位微机系统接口。12/(/8)引脚不能由TTL电平控制,只能接VCC或GND。 A0:字节选择端。A0的作用主要有两个:启动转换前若A0=1则按8位启动A/D转换,即A/D的转换结果是8位的,完成一次A/D转换的时间是10s;若启动转换前A0=0,则启动12位A/D转换,即A/D转换结果是12位的,完成一次A/D转换的时间是35s。若

7、在读周期中,A0=0读出高8位数据,A0=1读出低4位数据。,- AD574引脚,9,12:12,10.1.1 并行A/D转换扩展,+5 V:逻辑正电源。 +15 V和-15 V:器件工作电源,AD574支持双极性信号输入。 AGND和DGND:模拟信号地和数字信号地。 REF OUT:参考电压输出,AD574向外提供+10V基准电压输出。 REF IN:参考电压输入,一般通过一个50电阻与REF OUT引脚连接,或用于调满量程。 BIP OFF:双极性偏差调整,用于调零。 10Vin和20Vin:模拟信号输入引脚。可以工作在单极性输入或双极性输入方式。单极性输入时,允许输入的信号范围为0+1

8、0V或0+20V;双极性输入时,允许输入的信号范围为-5+5V或者0+10V。 STS:转换状态输出引脚,转换过程中,该引脚输出高电平,转换结束时该引脚输出低电平。,- AD574引脚,10,12:12,10.1.1 并行A/D转换扩展,AD574的控制信号组合关系:,- AD574信号,11,12:12,10.1.1 并行A/D转换扩展,2单片机与AD574的接口方法,AD574工作在单极性输入方式时与MCS-51单片机的接口电路如下图所示。,- AD574接口方法,12,12:12,10.1.1 并行A/D转换扩展,例10-1 根据上图所示A/D扩展电路,编写完成一次A/D转换的程序。 分

9、析:图中,P0.0和P0.1通过地址锁存器连接AD574的A0和R/(/C),因此,AD574操作如下: 启动转换时,R/(/C)=0并且A0=0则按12位转换,未连接的地址线按1对待,则启动12位A/D转换的地址为FCH。 读取转换结果时,在R/(/C)=1条件下,A0=0读高8位,A0=1读低4位,因而,读高8位数据的地址为FEH,读低4位数据的地址为FFH。 P1.0用于查询A/D转换是否结束。,- AD574应用举例,13,12:12,10.1.1 并行A/D转换扩展,编写程序如下: AD574: MOV R1, #30H ;R1指向数据缓冲区 MOV R0, #0FCH ;R0指向启

10、动地址 MOVX R0, A ;启动A/D转换 LOOP: JB P1.0, LOOP ;等待转换结束 INC R0 ;指向读高8位数据地址 INC R0 MOVX A, R0 ;读高8位数据 MOV R1, A ;存高8位数据 INC R0 ;指向读低4位数据地址 INC R1 ;指向缓冲区下一字节地址 MOVX A, R0 ;读低4位数据 MOV R1, A ;保存低4位数据 RET,- AD574应用举例,14,12:12,10.1.2 串行A/D转换扩展,采用串行总线扩展A/D转换时,单片机与转换芯片的数据交换是通过串行数据传输方式来实现的。 当确定了接口协议时,其硬件接口方式也就确定

11、了,与单片机的接口方法不涉及单片机的数据总线及位数问题。 无论是8位或是高于8位的串行A/D转换芯片,与单片机的硬件接口都是一样的,只是单片机对于串行接口A/D芯片的读写时序有所不同,程序设计方法有所不同而已。,- 串行A/D转换,15,12:12,10.1.2 串行A/D转换扩展,ADS10XX系列的A/D转换器是由美国德州仪器公司推出的微型封装的12位Delta-Sigma型模数转换器。与该系列相对应的有ADS11XX系列,其分辨率为16位。ADS1013/4/5采用I2C总线与CPU接口。本节将以ADS1015芯片为例介绍采用I2C总线的AD转换器扩展方法。ADS1015的内部结构如图所

12、示。 ADS1015的工作方式有连续转换模式和单次转换模式。连续转换模式时,当前转换工作完成后, ADS1015将转换结果保存在,1ADS1015串行A/D转换芯片,输出寄存器,然后立即进行下一次转换。在单次转换模式时,转换结束后芯片自动进入掉电节能状态。ADS的工作方式通过配置寄存器进行选择。,- 串行A/D转换芯片,16,12:12,10.1.2 串行A/D转换扩展,ADS1015的主要技术特性: 分辨率为12位; 可编程转换速率为128 SPS到3.3 kSPS; 内置低漂移的电压参考源; 内置可编程增益放大器,允许输入电压低到256 mV,最大输入电压为4.096 V; 内置转换时钟发

13、生器; 逻辑电平输入与TTL电平兼容; 四通道单端输入或二通道差分输入; 内部具有可编程的比较器; 采用单一正电源供电,电源电压范围2.05.5 V; 低功耗,连续转换时电流消耗仅为150 A。,- ADS1015性能,17,12:12,10.1.2 串行A/D转换扩展,ADS1015的MSOP-10封装引脚如图所示。 引脚定义如下: ADDR:I2C 从器件地址选择。 ALERT/RDY:比较器输出或转换准备好信号。 AIN0:单端输入通道1或差分输入通道1的正信号输入端。 AIN1:单端输入通道2或差分输入通道1的负信号输入端。 AIN2:单端输入通道3或差分输入通道2的正信号输入端。 A

14、IN3:单端输入通道4或差分输入通道2的负信号输入端。 SDA:串行数据线。 SCL:串行时钟线。 GND:地。 VDD:电源。,- ADS1015引脚,18,12:12,10.1.2 串行A/D转换扩展,1)ADS1015的输入特性 ADS1015可以允许差分输入或单端输入,通过配置寄存器进行选择。 ADS1015采用开关电容输入级。由于电容值很小,因此对外部电路而言就像一个电阻。 输入阻抗与PGA的增益有关。在输入源阻抗较高时,ADS1015的输入阻抗不能忽略,需要增加缓冲进行阻抗变换,否则会影响测量精度。 ADS1015的模拟信号输入范围也与PGA的增益有关,内部等效的差分输入电压为4.

15、096 V/ PGA。但要注意输入电压不能低于0.3 V和超过VDD +0.3 V,否则会损坏器件。,2ADS1015的输入和输出特性,- ADS1015输入特性,19,12:12,10.1.2 串行A/D转换扩展,2)ADS1015的输出特性 输出采用二进制补码形式,正的满量程输入信号对应于7FF0h,负的满量程输出对应于8000h。其转换结果与输入电压的关系如图所示。理想的输出特性见下表。,由于采用补码特性输出,在有些情况下需要进行码制变换。此外该器件是为了与同系列16位A/D转换器ADS1115兼容,其转换结果保持16位特性,但只有高12位有效,低4位始终为0。在使用时需注意。采用单端输

16、入时负值范围的输出值是没有用的。,- ADS1015输出特性,20,12:12,10.1.2 串行A/D转换扩展,ADS1015只有一个用于I2C总线从器件的可编程地址引脚ADDR,ADDR可以连接到GND、VDD、SDA或SCL,从而允许该芯片可以有4个可编程地址。 ADS1015的I2C地址见表。,3ADS1015的I2C地址,- ADS1015 I2C地址,21,12:12,10.1.2 串行A/D转换扩展,ADS1015有1个寻址寄存器和4个功能寄存器: 输出寄存器存储最后一次转换的结果; 配置寄存器可用于改变ADS1015的操作模式或查询器件的状态; 低阈值和高阈值寄存器用来设置比较

17、器。 1)寻址寄存器 访问ADS1015的寄存器需要借助寻址寄存器,通过向寻址寄存器中写入相应的值,来选择所需访问的寄存器。主机发出ADS1015的地址字节,并令最低位为低,然后接着发出要写往寻址寄存器的数据和终止条件。寻址寄存器会保持数据直到对其进行改变。,4ADS1015的寄存器,寻址寄存器格式,功能寄存器地址,- ADS1015寻址寄存器,22,12:12,10.1.2 串行A/D转换扩展,2)输出寻址寄存器 输出寄存器(只读)共有16位,但只有D4D15是转换结果,采用二进制补码格式。复位或上电时,该寄存器的所有位被清零。,输出寄存器(只读),- ADS1015输出寄存器,23,12:

18、12,10.1.2 串行A/D转换扩展,3)配置寄存器 配置寄存器 (读/写) 用于配置ADS1015的工作模式、输入选择、采样转换速率、可编程增益和比较器的工作模式,见表10-7。配置中寄存器每一位的作用见表10-8。,表10-7 配置寄存器(读/写),- ADS1015配置寄存器,24,12:12,10.1.2 串行A/D转换扩展,表10-8 配置寄存器的作用,- ADS1015配置寄存器,25,12:12,10.1.2 串行A/D转换扩展,4)低阈值和高阈值寄存器 低阈值和高阈值寄存器都是16位的寄存器,它们的低4位固定为0,高12位用来保存数字比较器的阈值。当改变了PGA的增益后,需要

19、对阈值进行重新调整。,ADS1015的读写操作遵循基本的I2C总线的协议。在数据传输过程中,总线的启动和停止信号均由主机发出,但是需要根据ADS1015的特性发送相应的指令。 例如,设置ADS1015工作在连续转换模式,然后读取转换结果,可发送如下命令。,5ADS1015的读写操作,- ADS1015读写操作,26,12:12,10.1.2 串行A/D转换扩展,第一步:配置ADS1015工作在连续转换模式。 第一字节:10010000,I2C的地址,操作性质为写。 第二字节:00000001,选择配置寄存器为操作对象。 第三字节:00000100,配置寄存器的高8位数据。 第四字节:10000

20、011,配置寄存器的低8位数据。 第二步:设置访问的寄存器为输出寄存器。 第一字节:10010000,I2C的地址,操作性质为写。 第二字节:00000000,选择输出寄存器为操作对象。 第三步:读取转换结果。 第一字节:10010001,I2C的地址,操作性质为读。 第二字节:ADS1015作为从发送器发送的高8位转换结果。 第三字节:ADS1015作为从发送器发送的低8位转换结果(只有高4位有效)。,- ADS1015读写操作,27,12:12,10.1.2 串行A/D转换扩展,ADS1015写操作时序图为:,- ADS1015写操作时序,28,12:12,10.1.2 串行A/D转换扩展

21、,ADS1015的读操作时序图为:,- ADS1015读操作时序,29,12:12,10.1.2 串行A/D转换扩展,ADS1015使用时数字电路部分连接关系简单,只需要正确连接I2C总线,同时通过ADDR引脚设置可编程地址,如图所示。,6单片机与串行A/D转换器的接口方法,模拟电路部分需要考虑: 根据输入信号的形式考虑好是单端还是差分输入形式。 根据输入形式通过配置寄存器确定内部多路转换器的状态,使其与输入信号的形式相适应。 根据输入信号的范围设置可编程增益,确保输入信号不会超出ADS1015的转换范围。,- ADS1015接口方法,30,12:12,10.1.2 串行A/D转换扩展,下图为

22、ADS1015采用差分方式实现负载电流检测的应用方案。 通过采样电阻Rs将负载电流转换为电压; 经过OPA335放大,OPA335的放大倍数为4倍。 如果采样电阻上的压降为50mV,ADS1015的满量程输入电压为0.2V,则将其可编程增益设为16,即可进行负载电流监测。,- ADS1015信号输入电路,31,12:12,10.1.2 串行A/D转换扩展,下面通过一个编程实例说明串行A/D转换器ADS1015的程序设计方法。 例10-2 根据图10-7的电路来编写程序,控制ADS1015实现A/D转换。 分析:ADS1015内部有配置寄存器,用来配置芯片的工作方式、可编程增益和采样速率等内容,

23、在使用时需要根据自己的需要结合表10-8进行配置,否则得不到预期的结果。读出数据时在输出寄存器读取。这些功能都是通过编写适当的函数通过I2C总线访问相应寄存器来实现的。 编写C语言程序如下(略)。,7串行A/D转换器编程举例,- ADS1015应用举例,32,12:12,10.2 D/A转换扩展,D/A转换器 (DAC) 是一种将数字信号转换成模拟信号的器件。 D/A转换器为单片机系统将数字信号转换成模拟信号输出提供了一种接口。 D/A转换器的分类: 从数据接口方式分类有: 并行D/A转换器和串行D/A转换器。 从分辨率分类有: 8位分辨率和高于8位分辨率的A/D转换器。 并行D/A转换器根据

24、其内部是否具有锁存器可以分为两类:一类是芯片内部有数据锁存器、片选信号和写信号,数据输入引脚可以直接和单片机的总线进行连接,不需要中间接口器件;另一类是芯片内部没有锁存器,不能直接与单片机的总线连接,中间必须加锁存器,或者通过并行接口与单片机进行连接。 单片机与D/A转换器接口时,需要根据以上区别采取不同的设计方法。,- D/A转换器分类,33,12:12,10.2.1 并行D/A转换扩展,经过8位D/A转换后输出的模拟信号基本能满足一般的控制精度要求,但对于控制精度要求较高的应用,则需要采用10位、12位甚至更高的D/A转换器。 下面分别以8位并行D/A转换芯片DAC0832和12位并行D/

25、A转换芯片DAC1210为例介绍并行D/A转换得扩展方法。,- 并行D/A转换器,34,12:12,10.2.1 并行D/A转换扩展,18位并行D/A转换芯片DAC0832及其单片机的接口方法,DAC0832是带内部数据锁存器的单片式位高速电流型并行输出的DAC,其内部逻辑结构如图所示。,DAC0832的主要技术特性如下: 转换时间为1 s; 数据输入可以采用单缓冲、双缓冲或直通方式; 分辨率为8位; 逻辑电平输入与TTL电平兼容; 采用单一正电源供电。,- 8位并行D/A转换器,35,12:12,10.2.1 并行D/A转换扩展,DAC0832的引脚定义如图所示。,DAC0832的主要引脚功

26、能如下: /CS:片选信号,低电平有效,与ILE配合使用。该信号为高电平时,不能对输入锁存器进行写操作。 ILE:允许输入锁存信号,高电平有效。该信号有效时才可能将数据线上的信息打入输入锁存器。,/WR1:写信号1,低电平有效。该信号有效时才可能将数据线上的信息写入8位输入锁存器。 /WR2:写信号2,低电平有效。该信号有效时才可能将数据从输入锁存器写到8位DAC寄存器。,- DAC0832引脚,36,12:12,10.2.1 并行D/A转换扩展,/XFER:数据传送信号,低电平有效。该信号有效时才可能将输入锁存器的内容打入DAC寄存器。 VREF:基准电源输入端,与DAC内部的R-2R网络相

27、连,作为D/A转换的参考电压。 DI0DI7:8位数字量的输入端,DI7为最高位,DI0为最低位。 IOUT1和IOUT2:DAC的电流输出端,IOUT1和IOUT2是互补的。当输入的数字量为全1时,IOUT1最大,IOUT2为0;当输入的数字量为全0时,IOUT2最大,IOUT1为0。 Rfb:反馈电阻,DAC0832内部有反馈电阻,该端连接外部运算放大器的输出端即可。,- DAC0832引脚,37,12:12,10.2.1 并行D/A转换扩展,由于DAC0832有数据输入锁存器,因而可以直接与单片机的数据总线相连,DAC0832与MCS-51单片机的接口电路如下图所示。,DAC0832与M

28、CS-51单片机的接口电路,- DAC0832接口方法,38,12:12,10.2.1 并行D/A转换扩展,例10-3 根据图10-10所示的DAC0832与单片机接口电路,编写程序,实现在VOUT端输出锯齿波形。 分析: 按图10-10所示的连接关系,DAC0832工作在单缓冲方式,并且其端口地址为7FFFH。 程序如下: P0832: MOV DPTR, #7FFFH ;DPTR指向DAC0832 MOV A, #0 LOOP: MOVX DPTR, A ;数据送到DAC0832 NOP ;延时,调整该时间可 ;改变输出波形斜率 INC A LJMP LOOP,- DAC0832应用举例,

29、39,12:12,10.2.1 并行D/A转换扩展,由于MCS-51单片机的数据总线是8位的,当D/A转换器分辨率高于8位时,必须分两次将数据送至D/A转换器。DAC1210是12位D/A转换芯片,其引脚及内部结构如图所示。,212位并行D/A转换芯片DAC1210及其与单片机的接口方法,- 12位并行D/A转换器,40,12:12,10.2.1 并行D/A转换扩展,DAC1210的性能: 电流建立时间是1s; 单一电源(+5+15V)工作; 输入信号与TTL电平兼容; 具有两级内部缓冲器: 第1级12位缓冲器由1个高8位缓冲器和1个低4位缓冲器构成。 第2级缓冲器由1个12位DAC寄存器构成

30、。 为该芯片与8位数据总线微控制器接口提供了方便。第一级缓冲器由B1/(/B2),(/CS),(/WR1)控制高8位的写入,由(/CS)和(/WR1)控制低4位的写入,即向DAC1210器件写入高8位数据时,低4位寄存器的写控制信号是有效的写入高8位数据时低4位数据将被改写,而写入低4位数据时由于B1/(/B2)无效而不会改写高8位数据。这样,写DAC1210时必须先写高8位数据然后写低4位数据。,- 12位并行D/A转换器性能,41,12:12,10.2.1 并行D/A转换扩展,从图所示连接关系可以看出: 高8位数据写入地址为: E000H (P2.7=1, P2.6=1, P2.5=1);

31、 低4位数据写入地址为: C000H (P2.7=1, P2.6=1, P2.5=0); 12位DAC寄存器的写入地址为: 2000H (P2.7=0, P2.6=0, P2.5=1)。,DAC1210与MCS-51单片机的接口电路,- DAC1210接口方法,42,12:12,10.2.1 并行D/A转换扩展,例10-4 为DAC1210接口电路编写实现一次D/A转换的程序。 设:R2中为D/A转换高8位数据,R3中为D/A转换低4位数据。 编写程序如下: DA1210: PUSH DPL PUSH DPH MOV DPTR, #0E000H ;DPTR指向8位输入缓冲器 MOV A, R2

32、 MOVX DPTR, A ;送出高8位数据 MOV DPTR, #0C000H ;DATR指向4位输入缓冲器 MOV A, R3 MOVX DPTR, A ;送出低4位数据 MOV DPTR, #2000H ;DPTR指向12位DAC寄存器 MOVX DPTR, A ;选通12位DAC寄存器 POP DPH POP DPL RET,- DAC1210应用举例,43,12:12,10.2.2 串行D/A转换扩展,对于并行D/A转换,8位和高于8位的接口方式不同。而对于串行D/A转换,无论是8位还是高于8位的接口电路却是一样的,只是单片机对于串行接口D/A芯片的读写时序有所不同,程序设计方法也有

33、所不同。,1DAC7611串行D/A转换芯片,DAC7611是一个12位的串行D/A转换器,采用单一+5V电源供电,内部集成了2.435V的基准电压源和高速轨到轨输出放大器。数字电路部分包含有一个输入移位寄存器,适用于串行接口的数据传输。,DAC7611内部结构图,- 串行D/A转换器,44,12:12,10.2.2 串行D/A转换扩展,DAC7611的典型性能: 12位分辨率; 3线接口的数据同步传输,时钟频率最快可达20 MHz; 快速建立时间:7 s to 1 LSB; 04.095 V满量程范围,最低有效位为1 mV; 内部集成参考源; 异步复位清零; 低功耗,采用5 V电源时电流为0

34、.5 mA,2.5 mW。,- 串行D/A转换器性能,45,12:12,10.2.2 串行D/A转换扩展,DAC7611的PDIP封装引脚图和引脚定义: VDD:+5 V电源输入。 /CS:片选信号,低电平有效。 CLK:数据传输的同步时钟信号。 SDI:串行数据信号,在CLK的上 升沿进入串行移位寄存器。 /LD:装载DAC寄存器。(/LD) 的下降沿将移位寄存器的数据锁入DAC寄存器。当(/LD)为低电平时,DAC寄存器相当于透明状态,此时D/A转换器的跟着移位寄存器的值变化。 /CLR:清除DAC寄存器。当(/CLR)为低电平时,DAC寄存器被设置为000H,从而D/A转换器输出电压为0

35、 V。 GND:地。 VOUT:电压输出。,- DAC7611引脚,46,12:12,10.2.2 串行D/A转换扩展,DAC7611的满量程输出范围为04.095V,最低有效位对应1mV。在整个转换范围内保持线性关系。DAC7611的数字量输入为二进制原码,与模拟输出的关系见下表。,2DAC7611的输入/输出特性,- DAC7611输入/输出特性,47,12:12,10.2.2 串行D/A转换扩展,DAC7611的串行总线接口由数据信号SDI、时钟信号CLK和片选信号组成,还有一个装载信号和异步清零信号配合使用。基本电路连接如下图所示(图中的STC90C54是一款51内核单片机)。,3单片

36、机与串行D/A转换器的接口方法,- DAC7611接口方法,48,12:12,10.2.2 串行D/A转换扩展,DAC7611的操作时序图:,从时序图中可以看出DAC7611工作在SPI模式3。,- DAC7611操作时序,49,12:12,10.2.2 串行D/A转换扩展,DAC7611操作的真值表:,- DAC7611操作关系,50,12:12,10.2.2 串行D/A转换扩展,DAC7611具有双缓冲机制,数据必须经过移位寄存器才能进入DAC寄存器,而模拟输出是根据DAC寄存器的数据进行转换的。 当(/LD)信号的下降沿时数据由移位寄存器进入DAC寄存器,这样可以防止串行数据传输过程中移

37、位寄存器的值不确定造成模拟量输出的不稳定。 在不需要双缓冲的情况下,可以将(/LD)信号接地,使DAC寄存器呈现透明状态,但是每移入1位,模拟输出都会发生变化。因此,要保证在串行总线传输数据的过程中,D/A转换器输出没有异常变化,需要在对总线操作前将(/LD)信号拉高,数据传输结束后再给(/LD)信号一个负脉冲。 只要(/CLR)信号为低电平,DAC寄存器的值就被设为000H,直到(/CLR)变为高,并且(/LD)信号拉低,重新装载移位寄存器的值。,- DAC7611操作关系,51,12:12,10.2.2 串行D/A转换扩展,例10-5 串行D/A转换器DAC7611的程序设计方法举例。编写

38、程序,控制DAC7611实现D/A转换。 分析:根据DAC7611的工作原理,只需要通过串行接口向其内部寄存器写入要转换的数据即可,编写C语言程序如下: #include #include #define uint unsigned int Sbit CLK=P22; /配置相应的引脚 Sbit SDI=P24; Sbit LD=P25; Sbit CLR =P26; Sbit CSN =P23;,4串行D/A转换器编程举例,- DAC7611应用举例,52,12:12,10.2.2 串行D/A转换扩展,void Init_DA(void) /初始化 LD=0; CLR=1; CLK=1; S

39、DI=0; CSN=1; void clock(void) /串行时钟信号 CLK=0; _nop_(); CLK=1; _nop_(); ,- DAC7611应用举例,53,12:12,10.2.2 串行D/A转换扩展,void DAC_7611(uint value) /D/A转换程序 uint i,temp; CLR=1; value=4; /对12位数据左移4位 LD=1; CSN=0; _nop_(); for(i=0;i12;i+) /依次传输12位数据 temp =value; SDI= temp ,- DAC7611应用举例,54,12:12,10.2.2 串行D/A转换扩展,

40、LD=0; CSN=1; for(i=0;i15;i+) _nop_(); LD=1; /*以下是主程序,调用DAC7611的初始化程序,然后启动D/A转换。*/ void main() Init_DA(); DAC_7611(0x800); /写入数据,进行D/A转换 ,- DAC7611应用举例,55,12:12,10.3 日历时钟芯片扩展,在单片机应用系统中经常用到与日期、时间有关的控制操作,如: 收费系统、计量系统 其中有许多与日期、时间有关的操作。这时在系统中加入一个日历时钟芯片,将给编程及操作带来很大的方便。,-日历时钟芯片,56,12:12,10.3.1 日历时钟芯片8563,8

41、563是Philips公司推出的内含I2C总线接口功能并具有极低功耗的多功能日历时钟芯片。8563的功能: 多种报警 定时器 时钟输出 中断输出 “看门狗” 内部低电压检测(1.0 V) I2C总线通信 8563是一款性价比极高的时日历钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器及电池供电的仪器仪表等产品领域。,-日历时钟芯片性能,57,12:12,10.3.1 日历时钟芯片8563,宽电压范围1.05.5V,复位电压标准值Vlow = 09V。 超低功耗:典型值为0.25 A(VDD = 3.0 V,Tamb = 25)。 可编程时钟输出频率为:32.768kHz,102

42、4Hz,32Hz,1Hz。 4种报警功能和定时器功能。 内含复位电路、振荡器电容和掉电检测电路。 开漏中断输出。 400 kHz I2C总线(VDD为1.85.5V)。 I2C总线地址:读为0A3H,写为0A2H。,8563的主要特性:,- 8563特性,58,12:12,10.3.1 日历时钟芯片8563,OSCI和OSCO:振荡器输入输出引脚。 /INT:中断信号输出引脚。 VDD和VSS:正电源与地。 SDA:串行数据线。 SCL:串行时钟信号线。 CLKOUT:时钟信号输出引脚。,8563采用SO8或DIP8封装形式。,8563引脚定义:,- 8563引脚,59,12:12,10.3.

43、1 日历时钟芯片8563,8563的内部组成包括: 1个可自动产生增量的地址寄存器; 1个内置的32.768 kHz的振荡器(带有一个内部集成的电容); 1个分频器(用于给实时时钟RTC提供源时钟); 1个可编程时钟输出; 1个定时器; 1个报警器; 1个掉电检测器; 1个400 kHz I2C总线接口;,- 8563结构,60,12:12,10.3.1 日历时钟芯片8563,16个可寻址的8位并行寄存器。 2个控制/状态寄存器的地址是00H和01H; 秒-年寄存器的地址是0208H; 报警寄存器的地址是090CH,用于定义报警条件; CLKOUT输出频率寄存器地址是0DH; 定时器控制寄存器

44、的地址是0EH; 定时器寄存器的地址是0FH。 秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄存器的编码格式为BCD; 星期和星期报警寄存器不以BCD格式编码。,- 8563结构,61,12:12,10.3.1 日历时钟芯片8563,控制/状态寄存器1的地址是00H,其各位的定义和功能见下表 。,1控制/状态寄存器1,- 8563控制寄存器,62,12:12,10.3.1 日历时钟芯片8563,控制/状态寄存器2的地址是01H,其各位的定义和功能见下表 。,2控制/状态寄存器2,- 8563控制寄存器,63,12:12,10.3.1 日历时钟芯片8563,秒、分、时寄存器的地址、各位定义和功能见下表。,3秒、分、时寄存器,- 8563时分秒寄存器,64,12:12,10.3.2 单片机与日历时钟芯片的接口方法,例10-6 本例说明日历时钟芯片与51单片机的接口方法。接口电路如图所示。编写读写操作程序。 分析:根据8563工作原理,其接口方法和24C01与单片机接口方法相同。,编写程序如下:,- 8563应用举例,65,12

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1