单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录116:36单片机原理与接口技术第10章单片机系统模拟量及其他扩展技术单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录216:36(1)掌握常用的并行接口A/D和D/A转换芯片的使用方法。(2)熟悉常用的串行接口A/D和D/A转换芯片的使用方法。(3)了解日历时钟芯片与单片机的接口设计方法。(4)了解IC卡与单片机的接口设计方法。本章教学要求单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录316:36本章目录10.1A/D转换扩展10.1.1并行A/D转换扩展10.1.2串行A/D转换扩展10.2D/A转换扩展10.2.1并行D/A转换扩展10.2.2串行D/A转换扩展10.3日历时钟芯片扩展10.3.1日历时钟芯片856310.3.2单片机与日历时钟芯片的接口方法10.4IC卡扩展10.4.1SLE4442IC卡10.4.2SLE4442IC卡数据传送协议10.4.3SLE4442IC卡操作命令10.4.4单片机与SLE4442IC卡的接口方法习题与思考题单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录416:36前言在单片机应用系统中,经常会遇到模拟量信号的输入/输出问题,对于如何将模拟量转换成数字量送给单片机,或者将数字量转换成模拟量输出到单片机外部,需要用到模数(A/D)或数模(D/A)转换技术。也还经常会遇到与日期、时间有关的控制操作和管理问题,以及IC卡信息读写问题。本章介绍单片机如何扩展A/D和D/A转换接口,怎样扩展日历时钟芯片和IC卡接口等技术和方法。单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录516:3610.1A/D转换扩展A/D转换器(ADC)是将连续的模拟信号转换成二进制数字量的器件;A/D转换器为单片机应用系统采集模拟量信号进而实现数字化处理提供了一种接口;A/D转换器的分类:从工作原理分类有:双积分型、逐次逼近型A/D转换器等;从分辨率分类有:8、12、14、16位A/D转换器等;从数据接口方式分类有:并行A/D转换器和串行A/D转换器。单片机应用系统扩展A/D转换器时,需要根据以上区别采取不同的设计方法。----A/D转换器分类单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录616:3610.1.1并行A/D转换扩展由于MCS-51系列单片机和51内核单片机的并行数据总线都是8位的,可以直接或间接地与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转换器单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录716:3610.1.1并行A/D转换扩展1.12位并行A/D转换器芯片AD574AD574是AnalogDevices公司生产的12位逐次逼近型快速A/D转换器。完成12位A/D转换的时间为35s。内部有三态输出缓冲电路。输出电平与TTL和CMOS电平兼容。无须外加时钟电路。得到广泛应用。AD574的引脚如图10-1所示。----12位并行A/D转换器单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录816:3610.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/(/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。若在读周期中,A0=0读出高8位数据,A0=1读出低4位数据。----AD574引脚单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录916:3610.1.1并行A/D转换扩展+5V:逻辑正电源。+15V和-15V:器件工作电源,AD574支持双极性信号输入。AGND和DGND:模拟信号地和数字信号地。REFOUT:参考电压输出,AD574向外提供+10V基准电压输出。REFIN:参考电压输入,一般通过一个50电阻与REFOUT引脚连接,或用于调满量程。BIPOFF:双极性偏差调整,用于调零。10Vin和20Vin:模拟信号输入引脚。可以工作在单极性输入或双极性输入方式。单极性输入时,允许输入的信号范围为0~+10V或0~+20V;双极性输入时,允许输入的信号范围为-5~+5V或者0~+10V。STS:转换状态输出引脚,转换过程中,该引脚输出高电平,转换结束时该引脚输出低电平。----AD574引脚单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1016:3610.1.1并行A/D转换扩展AD574的控制信号组合关系:CE(/CS)R/(/C)12/(/8)A0操作0××××禁止×1×××禁止100×0启动12位A/D转换100×1启动8位A/D转换101VCC×12位A/D转换结果同时输出101GND0输出A/D转换结果高8位101GND1输出A/D转换结果低4位----AD574信号单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1116:3610.1.1并行A/D转换扩展2.单片机与AD574的接口方法AD574工作在单极性输入方式时与MCS-51单片机的接口电路如下图所示。----AD574接口方法单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1216:3610.1.1并行A/D转换扩展例10-1根据上图所示A/D扩展电路,编写完成一次A/D转换的程序。分析:图中,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应用举例单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1316:3610.1.1并行A/D转换扩展编写程序如下:AD574:MOVR1,#30H;R1指向数据缓冲区MOVR0,#0FCH;R0指向启动地址MOVX@R0,A;启动A/D转换LOOP:JBP1.0,LOOP;等待转换结束INCR0;指向读高8位数据地址INCR0MOVXA,@R0;读高8位数据MOV@R1,A;存高8位数据INCR0;指向读低4位数据地址INCR1;指向缓冲区下一字节地址MOVXA,@R0;读低4位数据MOV@R1,A;保存低4位数据RET----AD574应用举例单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1416:3610.1.2串行A/D转换扩展采用串行总线扩展A/D转换时,单片机与转换芯片的数据交换是通过串行数据传输方式来实现的。当确定了接口协议时,其硬件接口方式也就确定了,与单片机的接口方法不涉及单片机的数据总线及位数问题。无论是8位或是高于8位的串行A/D转换芯片,与单片机的硬件接口都是一样的,只是单片机对于串行接口A/D芯片的读写时序有所不同,程序设计方法有所不同而已。----串行A/D转换单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1516:3610.1.2串行A/D转换扩展ADS10XX系列的A/D转换器是由美国德州仪器公司推出的微型封装的12位Delta-Sigma型模数转换器。与该系列相对应的有ADS11XX系列,其分辨率为16位。ADS1013/4/5采用I2C总线与CPU接口。本节将以ADS1015芯片为例介绍采用I2C总线的AD转换器扩展方法。ADS1015的内部结构如图所示。ADS1015的工作方式有连续转换模式和单次转换模式。连续转换模式时,当前转换工作完成后,ADS1015将转换结果保存在1.ADS1015串行A/D转换芯片输出寄存器,然后立即进行下一次转换。在单次转换模式时,转换结束后芯片自动进入掉电节能状态。ADS的工作方式通过配置寄存器进行选择。----串行A/D转换芯片单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1616:3610.1.2串行A/D转换扩展ADS1015的主要技术特性:分辨率为12位;可编程转换速率为128SPS到3.3kSPS;内置低漂移的电压参考源;内置可编程增益放大器,允许输入电压低到±256mV,最大输入电压为±4.096V;内置转换时钟发生器;逻辑电平输入与TTL电平兼容;四通道单端输入或二通道差分输入;内部具有可编程的比较器;采用单一正电源供电,电源电压范围2.0~5.5V;低功耗,连续转换时电流消耗仅为150A。----ADS1015性能单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1716:3610.1.2串行A/D转换扩展ADS1015的MSOP-10封装引脚如图所示。引脚定义如下:ADDR:I2C从器件地址选择。ALERT/RDY:比较器输出或转换准备好信号。AIN0:单端输入通道1或差分输入通道1的正信号输入端。AIN1:单端输入通道2或差分输入通道1的负信号输入端。AIN2:单端输入通道3或差分输入通道2的正信号输入端。AIN3:单端输入通道4或差分输入通道2的负信号输入端。SDA:串行数据线。SCL:串行时钟线。GND:地。VDD:电源。----ADS1015引脚单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1816:3610.1.2串行A/D转换扩展1)ADS1015的输入特性ADS1015可以允许差分输入或单端输入,通过配置寄存器进行选择。ADS1015采用开关电容输入级。由于电容值很小,因此对外部电路而言就像一个电阻。输入阻抗与PGA的增益有关。在输入源阻抗较高时,ADS1015的输入阻抗不能忽略,需要增加缓冲进行阻抗变换,否则会影响测量精度。ADS1015的模拟信号输入范围也与PGA的增益有关,内部等效的差分输入电压为±4.096V/PGA。但要注意输入电压不能低于0.3V和超过VDD+0.3V,否则会损坏器件。2.ADS1015的输入和输出特性----ADS1015输入特性单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1916:3610.1.2串行A/D转换扩展2)ADS1015的输出特性输出采用二进制补码形式,正的满量程输入信号对应于7FF0h,负的满量程输出对应于8000h。其转换结果与输入电压的关系如图所示。理想的输出特性见下表。由于采用补码特性输出,在有些情况下需要进行码