1、第十章第十章 I/OI/O过程通道过程通道 (数模及模数转换器接口)(数模及模数转换器接口)lD/AD/Al1.1.单片机测控系统基本构成单片机测控系统基本构成l2.D/A2.D/A转换的概念及主要技术指标转换的概念及主要技术指标l3.3.基于基于R-2RR-2R电阻网络电阻网络D/AD/A工作原理工作原理l4.84.8位位DAC0832DAC0832芯片原理及接口编程方法芯片原理及接口编程方法lA/DA/Dl5.A/D5.A/D转换的概念及主要技术指标转换的概念及主要技术指标l6.86.8位位ADC0809ADC0809芯片原理及接口编程方法芯片原理及接口编程方法。单片机测控系统基本构成单片
2、机测控系统基本构成 在微机过程控制和数据采集等系统中,经常要对在微机过程控制和数据采集等系统中,经常要对过程参数过程参数进行测量和控制进行测量和控制。测量传感器模拟信号测量传感器模拟信号输出模拟信号控制输出模拟信号控制执行元件执行元件过程控制示意图过程控制示意图如温度、力矩、压力、位移等如温度、力矩、压力、位移等如电机调速、伺服机构等如电机调速、伺服机构等物理过程物理过程微微 机机传感器传感器A/DD/A执行机构执行机构物理过程物理过程v/iDataData模拟量模拟量数字量数字量模拟量模拟量2.D/A2.D/A转换的概念和主要技术指标转换的概念和主要技术指标l能够将数字量转换成模拟量(连续电
3、流或电压)的器件称为数/模转换器(DAC-Digital to Analog Converter)。从信号的形式理解相当于离散量到连续量的变换。DAC数字模拟电压/电流000000000000000100000010111111110V5V数字量输入数字量输入模拟电压输出模拟电压输出D/A转换的过程和本质转换的过程和本质D/A芯片芯片lD/AD/A转换器转换器(DAC)(DAC)主要技术指标主要技术指标l1 1)分辨率:数字量对应于模拟量的分辨能)分辨率:数字量对应于模拟量的分辨能力,通常用输入量二进制数的位数表示,常力,通常用输入量二进制数的位数表示,常见有见有8 8、1010、1212、1
4、414、1616位等。位等。l2 2)转换精度:描述实际模拟量输出和理想输出)转换精度:描述实际模拟量输出和理想输出值之间的最大偏差,一般用值之间的最大偏差,一般用 lsblsb表示。表示。l3 3)转换时间:完成一次数字量到模拟量之)转换时间:完成一次数字量到模拟量之间转换需要的时间,多用间转换需要的时间,多用msms或者或者usus表示。表示。l*转换速度:转换时间的倒数,即每秒钟能转换速度:转换时间的倒数,即每秒钟能够完成的数字量到模拟量转换的次数,常见够完成的数字量到模拟量转换的次数,常见范围为几十范围为几十K K数百数百M M次不等。次不等。nl4 4)输出模拟量形式及范围:)输出模
5、拟量形式及范围:DACDAC芯片输出形式有芯片输出形式有电压型和电流型两种,电压型又可分为单极性输电压型和电流型两种,电压型又可分为单极性输出出(uni(uni-polar)-polar)和双极性输出(和双极性输出(bi-polarbi-polar)两种。)两种。比如电压型(比如电压型(0 02.5V,02.5V,05V5V,5V5V,10V10V),),电流型(电流型(0 010mA,010mA,020mA20mA)l其他有关参数其他有关参数l与控制器总线接口形式(并行总线接口(与控制器总线接口形式(并行总线接口(INTEL)INTEL)l串行总线接口(串行总线接口(SPI/ISPI/I2
6、2C C等)等)l输出通道数(输出通道数(1 1、2 2、4 4、8 8等)等)lDAC指标熟悉举例1:某电压输出型DAC芯片,模拟电压输出范围为05V,分辨率12位,无符号数字量输入。l则:1 lsb=5V/212-1=5/4095=1.22mVl则数字量输入-模拟电压输出 对应关系:l0-0V 2047-2.497Vl1-1.22mV 4095-4.9959Vl1023-1.248VlVout=Din*1lsbl如果换成010mA电流型DAC,则l1 lsb=0.00244mA=2.44uA,其他计算过程类似。l举例2:某双极性DAC芯片,+/-5V输出,10位分辨率,有符号输入型。l则1
7、 lsb=2FS/(1024-1)=10/1023=9.77mVl有符号型数字-模拟量对应关系一般为l0111111111-+4.9924Vl0000000001-0.00977Vl0000000000-0.000Vl1111111111-0.00977Vl1000000000-4.9924Vl也有很多双极性电压输出型DAC采用的是无符号数字输入型,其对应关系为l1111111111-4.9924Vl1000000000-0.00Vl0111111111-0.00977Vl0000000000-5.00Vl掌握DAC数字到模拟转换的对应关系对应用系统设计非常有益。工作原理工作原理:IO+URR
8、S2S3S1001RR2R2R2R2R2RS000111IRdi为为1 Si与运放的反相输入端连接与运放的反相输入端连接 uo=-IO1 RFdi为为0 Si与地连接与地连接IO1d0d1d2d3+-AuoRF3.基于基于R-2R T形电阻解码网络的形电阻解码网络的DAC基本原理基本原理倒梯形电阻网络倒梯形电阻网络RI2I3I1RR2R2R2R2R2RI0+URIR00 11 22 33 RRRRIR=UR/RI3=IR 21 =21URRI2=IR 41 =22URRI1=IR 81 =23URRI0=IR 161 =24URRIO1IO1=d3I3+d2I2+d1I1+d0I0+-AuoR
9、FIOIO1+URRS2S3S1001RR2R2R2R2R2RS000111IRd0d1d2d3IO1=d3I3+d2I2+d1I1+d0I0I1I2I3I0=(d323+d2 22+d1 21+d0 20)24URRUO1=-IO1RF=(d323+d2 22+d1 21+d0 20)24UR RFRUO1=-IO1RF=(d323+d2 22+d1 21+d0 20)24UR RFR若为若为n位二进制数,则位二进制数,则UO1=(dn-12n-1+dn-2 2n-2+d0 20)2nUR RFR若若RF=R,则,则UO1=(dn-12n-1+dn-2 2n-2+d0 20)2nUR即输出电
10、压的大小正比于输入二进制数的大即输出电压的大小正比于输入二进制数的大小,实现了数字量和模拟量的转换小,实现了数字量和模拟量的转换4.MCS-51单片机与单片机与8位位D/A转换器接口技术转换器接口技术 一、一、DAC0832的技术指标的技术指标l电流型输出;电流型输出;l分辨率分辨率8位;位;l电流稳定时间电流稳定时间1 s;l并行接口,可双缓冲,单缓冲或直接数字输入并行接口,可双缓冲,单缓冲或直接数字输入(无缓冲);(无缓冲);l单一电源供电单一电源供电(+5V+15V);二、二、DAC0832的结构及原理的结构及原理DI0DI78位寄存器DAC8位D/A转换器8位输入寄存器.&ILECSW
11、R1WR2XFERLE1LE2Iout1Iout2VrefRfbAGNDDGNDVCC输出为模拟电流,可转换为电压。引脚功能:引脚功能:三、三、DAC0832管脚功能管脚功能 D0D7 数据线数据线ILE输入锁存允许信号输入锁存允许信号CS片选信号片选信号WR1、WR2:写控制:写控制XFER:传递信号:传递信号I01、I02:电流输出端:电流输出端 AGND3DGND10Vcc20IO111D07IO212D16D25Rfb9D34D416VREF8D515D614D713ILE19WR218CS1WR12XFER17U1DAC0832 DAC0832 引脚图 Rfb:内部集成反馈电阻:内部
12、集成反馈电阻 VREF:参考电压输入:参考电压输入 VCC:数字电路供电电压:数字电路供电电压 AGND:模拟地;:模拟地;DGND:数字地。:数字地。DAC0832 DAC0832与与5151单片机的接口方法单片机的接口方法1 1、单缓冲型接口方法、单缓冲型接口方法 AGND3DGND10 VCC20IOUT111D 07D 16D 25IOUT212D 3 4D 416VREF8D 515D 6 14D 713 FB9CS1WR12XFER17WR218ILE19U1DAC0832LCJ(20)VCCDBP27/WRVOVCC3261574U2LM741VREF(-5V)+12-12VO
13、(a)右图右图(a)(a)的接口电的接口电路是把路是把DACDAC寄存器寄存器接成常通状态;即接成常通状态;即ILEILE接高电平,接高电平,和和 接地,接地,与与P2.7P2.7口口连接,连接,与单片机的与单片机的 端连接。端连接。WR2XFERCSWR1WRAGND3DGND10 VCC20IOUT111D 07D 16D 25IOUT212D 3 4D 416VREF8D 515D 6 14D 713 FB9CS1WR12XFER17WR218ILE19U1DAC0832LCJ(20)VCCDBP27/WRVO VCC3261574U2LM741VREF(-5V)+12-12VO (b)
14、AGND3DGND10 VCC20IOUT111D 07D 16D 25IOUT212D 3 4D 416VREF8D 515D 6 14D 713 FB9CS1WR12XFER17WR218ILE19U1DAC0832LCJ(20)VCCDBP27/WRVOVCC3261574U2LM741VREF(-5V)+12-12VO (c)VOVCC3261574U2LM741VREF(-5V)+12-12VO AGND3DGND10Vcc20IO111D07IO212D16D25Rfb9D34D416VREF8D515D614D713ILE19WR218CS1WR12XFER17U1DAC0832
15、LJ(20)DBP27P26/WRVCC双缓冲型接口电路双缓冲型接口电路主要应用在多路主要应用在多路D/AD/A转换器同步系统中。转换器同步系统中。2 2、双缓冲型接口方法双缓冲型接口方法 五、五、D/A转换器的输出方式转换器的输出方式 1、单极性输出、单极性输出 AGND3DGND10 VC C20IOUT 111D 07D 16D 25IOUT 212D 3 4D 416VR E F8D 515D 6 14D 713 FB9C S1W R 12XFE R17W R 218IL E19U2DAC 0832L C J(20)E A/VP31X119X218R E SE T9R D17W R16
16、INT 012INT 113T 014T 115P 1.01P 1.12P 1.23P 1.34P 1.45P 1.56P 1.67P 1.78P 0.039P 0.138P 0.237P 0.336P 0.435P 0.534P 0.633P 0.732P 2.021P 2.122P 2.223P 2.324P 2.425P 2.526P 2.627P 2.728PSE N29AL E/P30T XD11R XD10U18031AHVC CVO VC C3261574U3L M 741VR E F(-5V)+12-12VO Rfb 输出于数字量输出于数字量DATA相对应相对应 模拟量:模拟量
17、:MOVDPTR,#7FFFHMOVA,#DATAMOVXDPTR,A(1)反向锯齿波程序清单反向锯齿波程序清单MSW:MOV DPTR,#7FFFH ;指向;指向D/A输入寄存器输入寄存器 DA0:MOV R7,#80H ;置输出初值;置输出初值 DA1:MOV A,R7 ;数字量送;数字量送A MOVX DPTR,A;送;送D/A转换转换 DJNZ R7,DA1 ;修改数字量;修改数字量 AJMP DA0 ;重复下一个波形;重复下一个波形 利用利用DAC进行信号波形输出应用举例进行信号波形输出应用举例-5V+5V0(2)正向锯齿波程序清单正向锯齿波程序清单 PSW:MOV DPTR,#0B
18、FFFH ;指向;指向D/A输入寄存器输入寄存器 DAP0:MOV R7,#80H ;置输出初值;置输出初值 DAP1:MOV A,R7 ;数字量送;数字量送A MOVX DPTR,A ;送;送D/A转换转换 INC R7 ;修改数字量;修改数字量 CJNE R7,#255,DAP1;数字量;数字量255,转,转DAP1 AJMP DAP0 ;重复下一个波形;重复下一个波形-5V+5V0(3)三角波程序清单三角波程序清单 SSW:MOV DPTR,#80BFFFH DAS0:MOV R7,#80H DAS1:MOV A,R7 MOVX DPTR,A INC R7 CJNE R7,#255,DA
19、S1 DAS2:DEC R7 MOV A,R7 MOVX DPTR,A CJNE R7,#80H,DAS2 AJMP DAS0+5V-5V0(d)(4)正弦波电压输出正弦波电压输出正弦波电压输出为双极性电压,最简单的办法是将一个周期内电压变化正弦波电压输出为双极性电压,最简单的办法是将一个周期内电压变化的幅值的幅值(-5V+5V)按按8位位D/A分辨率分为分辨率分为256个数值列成表格,然后依次将个数值列成表格,然后依次将这些数字量送入这些数字量送入D/A转换输出。只要循环不断地送数,在输出端转换输出。只要循环不断地送数,在输出端就能获得正弦波输出。就能获得正弦波输出。SIN:MOV R7,#
20、00H DAS0:MOV A,R7 ;MOV DPTR,#TABH;设指针;设指针 MOVC A,A+DPTR ;查表取数据;查表取数据 MOV DPTR,#8000H ;寻址;寻址DAC0832 MOVX DPTR,A ;送;送D/A转换转换 INC R7 ;修改偏移量;修改偏移量 AJMP DAS0 ;TAB:DB 80H,83H,86H,89H,8DH,90H DB93H,96H,99H,9CH,9FH,0A2H DB 0A5H,0A8H,0ABH,0AEH DB 6FH,72H,76H,79H,7CH,80H5.A/D5.A/D转换器转换器 A/DA/D转换的概念和主要技术指标转换的概
21、念和主要技术指标A/DA/D转换:将模拟量转换成数字量的过程称为转换:将模拟量转换成数字量的过程称为A/DA/D转转换(模换(模-数转换,数转换,Analog to Digital Conversion)Analog to Digital Conversion)ADC模拟电压/电流离散的数字值A/DA/D转换的过程原理转换的过程原理一、一、A/DA/D转换的三个基本过程转换的三个基本过程1.采样采样采样过程实质是用一个固定周期的单位脉冲序列去和被测采样过程实质是用一个固定周期的单位脉冲序列去和被测量信号进行卷积,从而得到一个被测信号时间上离散化的量信号进行卷积,从而得到一个被测信号时间上离散化
22、的序列,其采样时刻的值等于被测信号幅值。序列,其采样时刻的值等于被测信号幅值。取样与保持过程往往是通过取样取样与保持过程往往是通过取样保持电路同时保持电路同时完成的。取样完成的。取样保持电路的原理图及输出波形如保持电路的原理图及输出波形如图所示。图所示。采样保持电路(a)原理图(b)波形图2.2.量化量化l根据以上采样理论,可以把A/D转换过程理解为通过一个装置把传感器模拟信号转换成一个对应的数字信号。l(数字信号是指时间上离散、幅值也离散的信号)lA/D转换器的几项主要指标都与此相关。A/D转换器芯片的主要技术指标转换器芯片的主要技术指标l1.1.转换速率:每秒钟能够进行的转换次数转换速率:
23、每秒钟能够进行的转换次数l单位:单位:Sps,Ksps,MspsSps,Ksps,Msps.最高最高GspsGspsl2.2.分辨率(转换精度):即分辨率(转换精度):即A/DA/D输出的二进制位数,输出的二进制位数,常见有常见有8 8、1010、1212、1414、1616、2020、2424位位l3.3.输入电压范围(输入电压范围(AI range):AI range):有单极性有单极性-Uni-Unil和双极性和双极性BipBip 两种,如两种,如05V,010V,05V,010V,5V5V,10V10Vl4.4.输出接口形式:并行总线接口,串行接口输出接口形式:并行总线接口,串行接口(
24、SPI)(SPI)l5.5.输入通道数:输入通道数:1 1、2 2、4 4、8 8等等按照转换原理对按照转换原理对A/D转换器的分类转换器的分类l(1 1)双积分式)双积分式A/DA/Dl特点:对输入模拟量进行时间积分平均,并且转特点:对输入模拟量进行时间积分平均,并且转换成对应的数字量,转换速度较慢(换成对应的数字量,转换速度较慢(2020次次/秒),秒),数字波动小,具有低通滤波特性,抗干扰能力强,数字波动小,具有低通滤波特性,抗干扰能力强,转换精度可以做的较高,适用于数字式万用表等转换精度可以做的较高,适用于数字式万用表等应用中。应用中。l(2 2)逐次逼近比较式)逐次逼近比较式A/D
25、A/D(SARSAR型型A/DA/D)l特点:速度快(可达特点:速度快(可达GspsGsps,转换精度可以做的较,转换精度可以做的较高高(16(16、1818位),本身抗干扰能力差,适用于高速位),本身抗干扰能力差,适用于高速的数据采集系统中。的数据采集系统中。l特点:转换精度可以做的非常高(可达特点:转换精度可以做的非常高(可达2424位分位分辨率),转换速度介于双积分式和辨率),转换速度介于双积分式和SARSAR型二者型二者之间,最新的芯片可以达到数十之间,最新的芯片可以达到数十KspsKsps。适用于。适用于对速度要求不太高的精密测量场合。对速度要求不太高的精密测量场合。A/D)3(调制
26、解调型(新型A/D转换的数模对应规律(以常见转换的数模对应规律(以常见SAR型介绍)型介绍)l1.单极性:以05V输入范围,12位为例l分辨力:1Lsb=5/4095=1.22mVl则0V-0000 0000 0000l 1.22mV-0000 0000 0001l 2.497V-0111 1111 1111l 4.9959V-1111 1111 1111l公式:Dout=Vin/1Lsb (需进行四舍五入取整)l2.双极性输入型A/D,多以二进制补码形式输出,以AD976为例,+-10V输入,16位输出l即有符号数输出型l1LSB=20V/65535l=0.3052mVl8000H-10Vl
27、0000H0Vl7FFFH+10V3.双极性输入,无符号二进制输出型双极性输入,无符号二进制输出型A/Dl设某A/D转换器,模拟输入范围+-10V,16位分辨率,无符号二进制输出型,则其数字-模拟对应关系为:1LSB=20V/65535=0.3052mV0000H-10V7FFFH-0.000166V8000H0.00013824VFFFFH9.9999713V10V8.6 MCS-518.6 MCS-51单片机与单片机与8 8位位A/DA/D转换器接口技术转换器接口技术 1 1、ADC0809ADC0809的主要功能:的主要功能:分辨率为分辨率为8 8位。位。总的不可调误差在总的不可调误差在
28、(1/2)LSB(1/2)LSB和和1LSB1LSB范围内。范围内。典型转换时间为典型转换时间为100s100s。具有锁存控制的具有锁存控制的8 8路多路开关。路多路开关。具有三态缓冲输出控制。具有三态缓冲输出控制。单一单一+5V+5V供电,此时输入范围为供电,此时输入范围为0 05V5V。输出与输出与TTLTTL兼容。兼容。工作温度范围工作温度范围 40408585。图 8-20 ADC0808/0809 引脚图GND13VC C11IN026D721D620IN127D519D418IN228D38D215IN31D114D017IN42E OC7IN53A25IN64B24C23IN75
29、AL E22VR E F(-)16OE9ST AR T6VR E F(+)12C L K10U1ADC 0809 (1)IN0IN7:8个模拟量输入端。个模拟量输入端。(2)VREF(+),VREF():正负参考:正负参考电压,用来提供电压,用来提供D/A转换器的基准转换器的基准参考电压。一般参考电压。一般VREF(+)接接+5V高精高精度参考电源,度参考电源,VREF()接模拟地。接模拟地。(3)START:启动:启动A/D转换,当转换,当START为高电平时,为高电平时,A/D开始转换。开始转换。(4)EOC:转换结束信号。当:转换结束信号。当A/D转换结束时,由低电平转为高电平。转换结束
30、时,由低电平转为高电平。此信号可用作此信号可用作A/D转换是否完成的转换是否完成的查询信号或向查询信号或向CPU请求中断的信号。请求中断的信号。2、引脚介绍、引脚介绍(4)(4)OEOE(OUTPUT ENABLEOUTPUT ENABLE):输出允许信:输出允许信号或称为号或称为A/DA/D数据读信号。当此信号为数据读信号。当此信号为高电平时,可从高电平时,可从A/DA/D转换器中读取数据。转换器中读取数据。此信号可作系统中的片选信号。此信号可作系统中的片选信号。(5)(5)CLKCLK:工作时钟,最高允许值为:工作时钟,最高允许值为1.2MHz1.2MHz,可通过外接振荡电路改变频率,可通
31、过外接振荡电路改变频率,也可用系统也可用系统ALEALE分频获得,当分频获得,当CLKCLK为为640kHz640kHz时,转换时间为时,转换时间为100100 s s。(6 6)ALE ALE:通道地址锁存允许,上升:通道地址锁存允许,上升沿有效,锁存沿有效,锁存C C、B B、A A通道地址,则选通道地址,则选中的通道的模拟输入送中的通道的模拟输入送A/DA/D转换器。转换器。(7 7)A A、B B、C C:通道地址输入,通道地址输入,C C为为最高,最高,A A为最低。为最低。(8 8)D0 D0D7D7:数字量输出线。:数字量输出线。(1010)V VCCCC,GNDGND:电源电压
32、电源电压V VCCCC接接+5V+5V,GNDGND为数字地。为数字地。ADC0808/0809 引脚图 GND13VCC11IN026D721D620IN127D519D418IN228D38D215IN31D114D017IN42EOC7IN53A25IN64B24C23IN75ALE22VREF(-)16OE9START6VREF(+)12CLK10U1ADC0809 ALE 通道地址 模拟输入 START EOC OE 数字输出 启动 锁存 ADC0808/0809 时序 3、转换时序、转换时序4、8031与与ADC0808/0809接口设计接口设计 图8-22 8031与ADC080
33、8/0809转换器接口电路EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P 1.01P 1.12P 1.23P 1.34P 1.45P 1.56P 1.67P 1.78P 0.039P 0.138P 0.237P 0.336P 0.435P 0.534P 0.633P 0.732P 2.021P 2.122P 2.223P 2.324P 2.425P 2.526P 2.627P 2.728PSEN29ALE/P30TXD11RXD10U18031AHD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q61
34、6D718Q719E1G11U2SN74LS373 GND13VCC11IN026D721D620IN127D519D418IN228D38D215IN31D114D017IN42EOC7IN53A25IN64B24C23IN75ALE22VREF(-)16OE9START6VREF(+)12CLK10U3ADC0809 VR(+5V)A0A1A2 123U4A7402456U4B7402D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7VCCD0D1D2D3D4D5D6D712U5A74LS04例例8-1 8-1 模拟量由通道模拟量由通道0 0输入,转换成对应的数字量之后存入内
35、部输入,转换成对应的数字量之后存入内部RAMRAM的的40H40H单元中。单元中。程序清单:程序清单:MOV R0MOV R0,#40H#40H ;置数据缓冲区指针;置数据缓冲区指针 MOV DPTRMOV DPTR,#7FF8H#7FF8H ;置;置IN0IN0通道地址通道地址 MOVX DPTRMOVX DPTR,A A ;IN0IN0接接A/DA/D,并启动,并启动A/DA/D JB P3.2JB P3.2,$;为高,则继续查询;为高,则继续查询 MOVX AMOVX A,DPTR DPTR ;数据读入;数据读入A A MOV R0MOV R0,A A ;存入;存入40H40H单元单元(
36、1)(1)程序查询方式程序查询方式 根据测量系统要求不同以及根据测量系统要求不同以及CPUCPU忙闲程度,通常多采用忙闲程度,通常多采用三种软件编程控制方式:程序查询方式、延时方式和中三种软件编程控制方式:程序查询方式、延时方式和中断控制方式。断控制方式。2.ADC0808/08092.ADC0808/0809转换器程序设计方法转换器程序设计方法程序清单:程序清单:CLR A CLR A ;MOV R2MOV R2,A A;MOV R3MOV R3,A A;清除工作单元;清除工作单元R3R2R3R2MOV R7MOV R7,#8 8;作采样次数计数器;作采样次数计数器MOV DPTRMOV D
37、PTR,#7FFFH#7FFFH;选;选IN7IN7通道通道L1L1:MOVX DPTRMOVX DPTR,A A;启动;启动A/DA/D转换转换JB P3.2JB P3.2,$;等待;等待A/DA/D转换结束转换结束MOVX AMOVX A,DPTR DPTR;采样;采样ADD AADD A,R2R2;加低;加低8 8位位MOV R2MOV R2,A A;存低;存低8 8位位MOV AMOV A,R3R3;取高;取高8 8位位ADDC AADDC A,#0#0;加;加CYCYMOV R3MOV R3,A A;存高;存高8 8位位DJNZ R7DJNZ R7,L1L1;未完则继续;未完则继续M
38、OV R7MOV R7,#3#3;R7R7作移位计数器作移位计数器L2L2:CLR C:CLR C;清除;清除CYCYMOV AMOV A,R3 R3 ;RRC ARRC A;MOV R3MOV R3,A A ;MOV AMOV A,R2 R2 ;RRC A RRC A MOV R2MOV R2,A A ;DJNZ R7DJNZ R7,L2L2 ;R3R2R3R2内容右移三次即除内容右移三次即除8 8MOV 7FHMOV 7FH,A A;存算术平均值;存算术平均值例例8-2 8-2 求通道求通道7 7模拟量模拟量8 8次采样的算术平均值,并存入内部次采样的算术平均值,并存入内部RAMRAM的的
39、7FH7FH单元中。单元中。这种取这种取8 8次采样平均值的方法,可以消除干扰,使采样数次采样平均值的方法,可以消除干扰,使采样数据更稳定可靠。据更稳定可靠。(2)(2)延时方式读取延时方式读取ADCADC值值 若若80318031的晶振为的晶振为6MHz6MHz,ALEALE为为1MHz1MHz,A/DA/D转换时间小于转换时间小于100100 s s,则延时程序清单如下:,则延时程序清单如下:MOV RnMOV Rn,#25#25;延时常数;延时常数 DJNZ RnDJNZ Rn,$;重复执行一次;重复执行一次4 4 s s为了确保转换完成,延时时间一定要大于为了确保转换完成,延时时间一定
40、要大于A/DA/D转换时间转换时间 (3)(3)中断采样方式中断采样方式 采用中断方式。在中断方式中,采用中断方式。在中断方式中,CPUCPU启动启动A/DA/D转换转换后,可以继续执行主程序。当后,可以继续执行主程序。当A/DA/D转换结束时,发转换结束时,发出一转换结束信号出一转换结束信号EOCEOC,该信号经反相器接,该信号经反相器接80318031的的P3.2()P3.2()引脚,向引脚,向CPUCPU发出中断请求。发出中断请求。CPUCPU响应中断响应中断后,即可读入数据并进行处理。后,即可读入数据并进行处理。根据前面图接口电路连接图,采用中断方式对根据前面图接口电路连接图,采用中断
41、方式对IN0IN0通通道的模拟输入量依次采样道的模拟输入量依次采样1616个点,存放在内部数据个点,存放在内部数据存贮器存贮器70H70H7FH7FH单元中待用。单元中待用。程序分为三部分:程序分为三部分:初始化程序:对中断和各工作单元初始化;初始化程序:对中断和各工作单元初始化;主程序:启动主程序:启动A/DA/D转换、控制通道地址转换、控制通道地址/数据存贮数据存贮器地址修改;器地址修改;中断服务程序:读取中断服务程序:读取A/DA/D转换器数据、送存。转换器数据、送存。测控系统中的模拟量输入通道测控系统中的模拟量输入通道 物 理 过 程 传感器 和 变送器 模拟量输入通道 执 行 器 模拟量输出通道 计 算 机 键盘/显示 打 印 机 报 警 测量控制系统原理图