资源描述
第11章MCS-51与D/A转换器、A/D转换器的接口非电物理量(温度、压力、流量、速度等)、,缪 经传感器转换成模拟电信号(电压或电流),必须转换成数字量,才能在单片机中处理。数字量,也常常需要转换为模拟信号。A/D转换器(ADC):模拟量-数字量的器件, D/械换器(DAC):数字量-模拟量的器件。只需合理选用商品化的大规模ADC、DAC芯片,T 解引脚及功能以及与单片机的接口设计。11. 1 MCS-51 与 DAC 的接口11. 1. 1D/磁换器概述1.概述输入:数字量,输出:模拟量。转换过程:送到DAC的各位二进制数按其权的大小 转换为相应的模拟分量,再把各模拟分量叠加,其和 就是D/A转换的结果。使用D/嶺换器时,要注意区分: * D/儼换器的输出形式; *内部是否带有锁存器。(1)输出形式两种输出形式:电压输出形式与电流输出形式。电流输出的D/A转换器,如需模拟电压输出,可在其输出端加一个I换电路(2) D/A转换器内部是否带有锁存器D/儼换需要一定时间,这段时间内输入端的数字量应稳定,为此应在数字量输入端之前设置锁存器, 以提供数据锁存功能。根据芯片内是否带有锁存器, 可分为内部无锁存器的和内部有锁存器的两类。*内部无锁存器的D/A转换器可与P1、P2口直接相接(因P1 口和P2口的输出有锁存 功能)。但与P0口相接,需增加锁存器。*内部带有锁存器的D/A转换器内部不但有锁存器,还包括地址译码电路,有的还 有双重或多重的数据缓冲电路,可与MCS-51的P0口直 接相接。2.主要技术指标(1)分辨率输入给DAC的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与勿之比。显然,二/4ZV1匚615DI5(LSB)ZV0 匚714Z|Z)Z6/ref 匚813 77(MSB)心b匚912口,OUT2DGND 匚1011ZZI OUTl11-1DAC0832的逻辑结构:切6嗚DI 4D/3赵DI2o DIlo- DIOo-ILEo-亘1WRio-LE2& M8 位 DAC 寄存器8位输入 寄存器1 QfVR2o4o XFERo RO;数字量一A;数字量一D/A转换器;数字量逐次加111-6输入数字量从0开始,逐次加1,为FFH时,力口则 清0,模拟输出又为0,然后又循环,输出锯齿波,如 图11-6o每一上升斜边分256个小台阶,每个小台阶暂留 时间为执行后三条指令所需要的时间。(1) 三角波的产生ORG2000HSTART:MOVRO, #OFEHMOVA, #00HUP:MOVXR0, A ;三角波上升边INCAJNZUPDOWN:DECA; A=0时再减1又为FFHMOVXR0, AJNZdown;三角波下降边SJMPUP(2) 矩形波的产生ORG 2000HSTART: MOVLOOP: MOVRO, #OFEHA, #data1MOVXRO, ALCALL DELAY1MOV A, #data2;置矩形波上限电平;调用高电平延时程序MOVX;置矩形波下限电平LCALL DELAY2;调用低电平延时程序SJMP LOOP:重复进行下一个周期上限电平一一下限电平11-8DELAYK DELAY2为两个延时程序,决定矩形波高、 低电平时的持续时间。频率也可采用延时长短来改变。(2)双缓冲方式多路同步输出,必须采用双缓冲同步方式。接口电 路如图11-9:苗DAC0832因和译码器FDH相连,占有两个端口地址FDH和FFH。2#DAC0832的两个端口地址为FEH和FFH。其中,FDH和FEH分别为1 #和2粕人00832的数字量输入控制端口地 址,而FFH为启动D/A换的端口地址。图11-9中DAC输出的Vx和Vy信号要同步,控制X-Y绘图仪绘制的曲线光滑,否则绘制的曲线是阶梯状。控 制程序如下:EAL锁存器o f oo p p11038WR+5 VZF译码器7CS DAC0832XFERILEOUTlDI72DIO】OUT2WR1WR211-911-2例11-2内部RAM中两个长度为20的数据块,起始地 址为分别为addrl和addr2,编写能把addrl和addrr2中 数据从萨和2#DAC0832同步输出的程序。addrl和addr2 中的数据,为绘制曲线的X、Y坐标点DAC0832各端口地址:FDH: 1#DAC0832数字量输入控制端口FEH: 2#DAC0832数字量输入控制端口FFH: 1林和2帕AC0832启动D/A转换端口工作寄存器0区的R1指向addrl; 1区的R1指向 addr2; 0区的R2存放数据块长度;0区和1区的R0指向 DAC端口地址。程序为:DTOUT:NEXT:ORG 2OOOH addrl DATA 2OH addr2 DATA 40H MOV R1, #add r1 ; MOV R2, #20 SETB RSO MOV R1, #addr2 CLR RSO MOV RO, #OFDH :MOVMOVX RO, A ;INC R1SETRSO?定义存储单元;定义存储单元0区R1指向addrl 数据块长度送0区R2;切换到工作寄存器1区;1区R1指向addr2;返回0区0区R0指向PDAC0832数 字量控制端口addrl中数据送Aaddrl中数据送佯DAC0832 修改addrl指针0区R1 转1区。MOV RO, #OFEHMOVMOVXROA, R1RO, AR1MOVXRO, A;1区RO指向2#DACO832数字量:控制端口;addr2中数据送A;addr2中数据送2*DACO832;修改addr2指针1区R1;1区R0指向DAC的启动D/峨换端口:启动DAC进行转换CLR RSODJNZ R2, NEXT LJMP DTOUT;若未完,则跳NEXT :若送完,则循环END11. 1.3 MCS-51 与 12 位 DAC1208的接口8位DAC分辨率不够,可采用12位DAC。常用的有DAC1208系列与DAC1230系列。1. DAC1208系列的结构引脚及特性双缓冲结构。不是用一个12位锁存器,而是用一个8位锁存器和一个4位锁存器,以便和8位数据线相 连。引脚功能:CS*:片选信号。WR1*:写信号,低电平有效和4位两个锁存器,将12位全部打入锁存器。0:仅开 启4位输入锁存器。WR2*:辅助写。该信号与XFER*信号相结合,当同为低电平时,把锁存器中数据打入DAC寄存器。当为 高电平时,DAC寄存器中的数据被锁存起来。XFER*:传送控制信号,与WR2*信号结合,将输入锁 存器中的12位数据送至D AC寄存器。DI0-DI11:12|u 数据输入。loun : D/A转换电流输出1。当DAC寄存器全1时,输 出电流最大,全0时输出为0loUT2 : D/A转换电流输出2o loUT1+loUT2=常数Rfb:反馈电阻输入VrEF !参考电压输入Vcc :电源电压DGND、AGND:数字地和模拟地主要特性:(1)输出电流稳定时间:1|XS;(2)基准电压:Vref二-1O-+10V;(3)单工作电源:+5-+15V;(4)低功耗:20m WoD/10 /11O(Z)72)D/10o(D/1) DI9O(DIO) DISoDI7ODI6oDI5Q13141516456)740-4BYTEM BYTE2WTo XFERo-LWR2Q Q QQ Q Q Q Q8位输入锁存器DDDDDDDDLE4位输入锁存器LEQ Q QQ Q Q Q Q Q Q QQ12位DAC寄存器DDDDDDDD D D D DYZE12位乘法吸BLs812TT若卧hQ输岀跟随D输 入;若血=0,Q输出被锁存 REFO,0UT20UT1四ccAGND 电 DGND11-1211.2 MCS-51 与 ADC 的接口11.2.1 A/D转换器概述模拟量转换成数字量,便于计算机进行处理。随着超大规模集成电路技术的飞速发展,大量结构 不同、性能各异的A/D转换芯片应运而生。1. A/D转换器的分类根据转换原理可将A/D转换器分成两大类(1)直接型A/D转换器(2)间接型A/D转换器。A/D转换器的分类如下:电荷再分配型A/D转换器直接A/D转换器彳逐次逼近式A/D转换器 跟踪计数式A/D转换器11-13A/D转换器-.间接A/D转换器r(串联方式A/D转换器非反馈比较型并联方式A/D转换器串并联方式A/D转换器单积分型A/D转换器 双积分型A/D转换器电压/时间变换型-多重积分型3转换器脉宽调制积分型A/D转换器电压/频率变换型A/D转换器(V/F变换器) 工-A式A/D转换器11-13目前使用较广泛的有:逐次比较式转换器、双积分式转换器、式转换器和V/F转换器。逐次比较型:精度、速度和价格都适中,是最常用的A/D转换器件。双积分型:精度高、抗干扰性好、价格低廉,但转换 速度慢,得到广泛应用。另-型:具有积分式与逐次比较式ADC的双重优点。 对工业现场的串模干扰具有较强的抑制能力,不亚于 双积分ADC,但比双积分ADC的转换速度快,与逐次比 较式ADC相比,有较高的信噪比,分辨率高,线性度好 不需采样保持电路。因此,工-型得到重视。V/F转换型:适于转换速度要求不太高,远距离信号 传输。2. A/D转换器的主要技术指标转换时间和转换速率完成一次转换所需要的时间。转换时间的倒数为转 换速率。并行式:20-50ns,速率为5020M次/s (1M=106); 逐次比较式:0. 4s,速率为2.5M次/s。(2)分辨率用输出二进制位数或BCD码位数表示。例如AD574, 二进制12位,即用刃2个数进行量化,分辨为1LSB,百 分数表示 1/212=0. 24%oo又如双积分式A/D转换器MC14433,分辨率为三位半。 若满字位为1999,其分辨率为1 /1999=0. 05%。量化过程引起的误差为量化误差,是由于有限位数 字对模拟量进行量化而引起的误差。量化误差理论上 规定为1个单位分辨率,提高分辨率可减少量化误差。(3)转换精度定义为一个实际ADC与一个理想ADGS量化值上的差 值。可用绝对误差或相对误差表示。3. A/D转换器的选择按输出代码的有效位数分:8位、10位、12位等。按转换速度分为超高速(Wins)、高速(W1ps)中速(W1ms)、低速(W1s)等。为适应系统集成需要,将多路转换开关、时钟电路、基准电压源、二/十进制译码器和转换电路集成在一个芯片内,为用户提供方便。(1)A/D转换器位数的确定系统总精度涉及的环节较多:传感器变换精度、信号预处理电路精度和A/D转换器及输出电路、控制 机构精度,还包括软件控制算法。A/科专换器的位数至少要比系统总精度要求的最低分辨率高1位,位数应与其他环节所能达到的精度相适应。只要不低于它们就行,太高无意义,且价咼。8位以下:低分辨率,912位:中分辨率,13位以上:高分辨率。(2) A/D转换器转换速率的确定从启动转换到转换结束,输出稳定的数字量,需要一 定的时间,这就是A/D转换器的转换时间。低速:转换时间从几ms到几十ms o中速:逐次比较型的A/D转换器的转换时间可从几匹100p.s 左右 o高速:转换时间仅20-100nso适用于雷达、数字通讯、实时光谱分析、实时瞬态纪录、视频数字转换 系统等。如用转换时间为100匹的集成A/D转换器,其转换 速率为10千次/秒。根据采样定理和实际需要,一个周 期的波形需采10个点,最高也只能处理1kHz的信号。把转换时间减小到10,信号频率可提高到10kHzo(3) 是否加采样保持器直流和变化非常缓慢的信号可不用采样保持器。 其他情况都要加采样保持器。根据分辨率、转换时间、信号带宽关系,是否要加 采样保持器:如果是8位ADC,转换时间100ms,无采样保 持器,信号的允许频率是0.12Hz;如果是12位ADC,该 频率为0. 0077Hzo如果转换时间是100|ns, ADC是8位 时,该频率为12Hz, 12位时是0. 77Hzo(4) 工作电压和基准电压选择使用单一+5V工作电压的芯片,与单片机系统共 用一个电源就比较方便。基准电压源是提供给A/D转换器在转换时所需要的 参考电压,在要求较高精度时,基准电压要单独用高 精度稳压电源供给。11.2.2 MCS-51与ADC 0809 (逐次比较型)的接口1. ADC0809引脚及功能逐次比较式8路模拟输入、8位输出的A/D转换器。 引脚如图。INS128IN4227IN5 326IN6425INI524START623EOC722D38ADC0809 21OE920CLK 1019cc11188(十)1217GND 1316D11415IN2 INI INOABCALEDID6D5D4DOFTD21M4共28脚,双列直插式封装。主要引脚功能如下:IN3IN7: 8路模拟信号输入端。(2) D0-D7:位数字量输出端。A:控制8路模拟通道的切换,C、B、A=000-111分别对应I N0 IN7通道o(4) OE、START、CLK:控制信号端,0E为输出允许端, START为启动信号输入端,CLK为时钟信号输入端。VR (+)和Vr (-):参考电压输入端。2. ADC0809结构及转换原理结构如图11-15o0809完成1次转换需100戶左右,可对05V信号进 行转换。START CLKo oCOBOAO ALE。8路模拟量开关Z3地址锁存与译码QEOC8位A/D转换器三态输出锁存器PO&00000000 一一虫)OE3. MCS-51 与ADC0809的接口单片机如何来控制ADC?首先用指令选择0809的一个模拟输入通道,当执行MOVX DPTR, A时,单片机的WR*信号有效,产生一个启动信号给0809的START脚,对选中通道转换。转换结束后,0809发出转换结束E0C信号,该信号 可供查询,也可向单片机发出中断请求;当执行指令:MOVX A, DPTR,单片机发出RD*信号,加到0E端高电平, 把转换完毕的数字量读到A中。査询和中断控制两种工作方式。(1)査询方式0809与8031单片机的接口如图11-16oALEP0.7PO.O8031WRP2.7|74LS74MlGOE丄721 oJDQCK QupRCLKVr(+)VrC ADC0809BAIN7D7:iDOSTART inoALEOEEOC基准电压7 |7ZHV008路模拟输入11-16ALE脚的输出频率为1MHz,(时钟频率为6MHz),经 D触发器二分频为500kHz时钟信号。0809输出三态锁存,8位数据输出引脚可直接与数据总线相连。引脚C、B、A分别与地址总线A2、A1、A0相连,IN3IN7中的一个。P2.7 (A15)作为片选信号,在启动A/D转换时,由WR*和P2. 7控制ADC的地址锁存和转换启动,由于ALE和START连在一起,因此0809在锁存通 道地址的同时,启动并进行转换。读取转换结果,用RD*信号和P2.7脚经或非后,产 生的正脉冲作为0E信号,用以打开三态输出锁存器。式辔最蠶纂需蠢諾減用软件延时的方MAIN: MOVMOVR1, #data;置数据区首地址DPTR, #7FF8H;端口地址送DPTR, P2. 7=0,;且指向通道INOrrJMOVLOOP: MOVXMOVDELAY: NOPR7, #08HDPTR, AR6, #OAH;置转换的通道个数;启动A/D转换;软件延时,等待转换结束NOPNOPDJNZMOVXR6, DELAYA, DPTR;读取转换结果MOVR1, A;存储转换结果I NO DPTR;指向下一个通道INC R1;修改数据区指针DJNZ R7, LOOP;8个通道全采样完否?未完则继续(2)中断方式将图11-16中EOC脚经一非门连接到8031的INT1*脚即 可。转换结束时,EOC发出一个脉冲向单片机提出中断 申请,单片机响应中断请求,在中断服务程序读A/D结 果,并启动0809的下一次转换,外中断1采用跳沿触发。程序如下:INIT1: SETIT1SETEASETEX1MOV MOV MOVXDPTR, #7FF8H A, #OOH ;DPTR, A中断服务程序:PINT1: MOV DPTR, #7FF8HMOVXA, DPTRMOV3OH, AMOVA, #OOHMOVXDPTR, ARET I外部中断1初始化编程 CPU开中断选择外中断为跳沿触发方式端口地址送DPTR启动0809对I NO通道转换完成其他的工作;A/D结果送内部RAM单元30H启动0809对IN0的转换11.2.3 MCS-51与AD574 (逐次比较型)的接口位分辨率的ADC常常不够,采用10位、12位、16位A/D转换器。12位ADCAD574A (AD674A、AD1674A)。1. AD574简介12位逐次比较型A/D转换器。转换时间为25匹,转换精度为0. 05%,片内有三态输出缓冲电路,可直接与各种8位或16位的微处理器相连,而无须附加逻辑接口 电路,且能与CMOS及TTL电平兼容。28脚双列直插式封装,引脚如图11-17oREFOUTAGNDREFIN BIPOFF10 h20 F4印為hnnnnnnnnnnnnnn1717USTSUDEll(MSB)UDbulo DB9 IDBoo UDBJ 1D86 UDB5 UDB4 UDB3 UDB2 J Dtao(LSB)1DGND引脚的功能如下:CS*:片选信号端。CE:片启动信号。R/C*:读出/转换控制信号。12/8*:数据输出格式选择。1: 12条数据线同时输出转换结果, 0:转换结果为两个单字节输出,即只有高8位或低4位有效。A0:字节选择控制线。分为转换期间、读出期间在转换期间:0:进行12位转换(转换时间为25|is); 1:进行8位转换(转换时间为16)xs) o在读出期间:0:高8位数据有效;1:低4位数据有效,中间4位为“0,高4位为三态。因此当两次读出12位数据时,12位数据遵循左对齐原则,如下所示:结果的高8位结果的低4位+4位尾0上述五个控制信号组合的真值表如表11T所示:表11T AD574JS制真值表CECS*R/C*12/8*A0操作0XXXX无操作X1XXX无操作100X0初始化为12位转换100X1初始化为8位转换101+5VX允许12位并行输出101地0允许高8位输出101地1允许低4位+4位尾0输出STS:转换结束状态引脚。转换完成时为低电平。可作为状态信息被CPU查询,也可用它的下跳沿向CPU发出中断申请,通知A/D转换 已完成,可读取转换结果。2AD574的工作特性工作状态由CE、CS*、R/C*、12/8*、A0五个控制 信号决定,当CE=1, CS*=O同时满足,才处于转换状态。AD57祖于工作状态时,R/C*=O,启动A/D转换;R/g 为数据读出。12/8*和A0端用来控制转换字长和数据格 式。A0=0按12位转换方式启动转换;A0=1按8位转换方 式启动转#奂。当AD574处于数据读出(R/C*=1)状态时,A0和12/8* 成为数据输出格式控制端。12/8*=1对应12位并行输 出;12/8*二0对应8位的双字节输出。其中A0=0时输出 高8位。A0=1时输出低4位,并以4个0补足尾随的4位。注意:12/8*端与TTL电平不兼容,故只能直接接+5V 或地。另外A0在数据输出期间不能变化。3. AD574的单极性和双极性输入特性图11-18(a)为单极性转换电路,可实现:010V 或020V的转换。图11-18(b)为双极性转换电路,可实现:-5+5V或 -10+10V的转换。REFOUTAD574REFIN8BIPOFFREFINREFOUTBIPOFFAD57410F12+5V + 15Vr-15Vf丄100 kQh12 lOOkfl R?10lN20VmDGND10Vm20Vin AGND口149-I-15 VO010 Vo020 V15(a)单极性转换电路DGND AGND_o WV14o -10 +10 V+5 V7+15 V|lo15V丄(b)双极性转换电路11-184MCS-51与AD574的接口设计见图11-19.AD574片内有时钟,无须外加。单极性方式:对010V或020V模拟信号进行转换。结果的高8位从DB11DB4输出,低4位从DB3DBOW出,如左对齐,DB3DBO接单片机数据总线高半字节。为实现启动转换和结果读出,片选信号由A1提供。读结果时,A1=0; CE信号由单片机的WR*和A7经一级 或非门提供,R/C*由RD*和A7经一级或非门产生,A7应为低电平。输出状态信号STS接P3.2,供单片机查询A/D 转换是否结束。12/8*端接+5V, AD574的A0由地址总线A0控制,实现全12位转换,并将12位数据分两次送入数 据总线上。4-5 V+15 V100 kQ-15 V11-19完成一次A/D转换的程序如下:(假定结果高8位在R2中,低4位在R3中,按左对齐原则):MAIN: MOVRO, #7CHMOVX R0, A;选择AD574,并令A0=0;启动A/D转换LOOP: NOPMOVXP3. 2, LOOPA, R0MOVR2, AMOVRO, # 7DHMOVX A, R0;查询转换是否结束;存入R2中;令 A0 二 1;读取低4位地MOV R3, A;存入R3中11.2.4 MCS-51与A/D转换器MC14433 (双积分型) 的接口双积分型由于两次积分时间比较长,所以转换速度 慢,但精度可以做得比较高;对周期变化的干扰信号 积分为零,抗干扰性能也较好。常用的有3%位双积分A/D转换器MC14433 (精度相当 于11位二进制数)和4%位双积分A/D转换器ICL7135 (精度相当于14位二进制数)。1. MC14433A/瞰换器简介MC14433是3%位双积分型A/D转换器,优点:精度 高、抗干扰性能好等,缺点:转换速度慢,约110次 /秒。与国内产品5G14433完全相同,可互换。被转换电压量程为199.9mV或1.999V。转换完的数 据以BCD码的形式分四次送出。(1) MC14433的引脚功能说明MC14433A/蹴换器引脚如11-20:CLKICLKO匸匸匸匚匸匸匸匸匸匚匚匸1242233224215206MC1971443318817916101511141213nnnnnnnnnnnn11-20各引脚的功能如下:(1) 电源及共地端Vdd:主工作电源+5V。Vee:模拟部分的负电源端,接-5V。Vag:模拟地端。Vss:数字地端。Vr:基准电压输入端。(2) 外接电阻及电容端R1:积分电阻输入端,转换电压Vx=2V时, R1=470Q; Vx=200mV时,R1=27kQ。C1:积分电容输入端,一般取0. 1吁。R1/C1: R1与C1的公共端。CLKK CLK0:外接振荡器时钟调节电阻Rc, Rc般 取470 Q左右。(3)转换启动/结束信号端EOC:转换结束信号输出端,正脉冲有效。DU:启动新的转换,若DU与EOC相连,每当A/D转 换结束后,自动启动新的转换。(4)过量程信号输出端OR*:当|Vx|VVr,输出低电平。(5)位选通控制端IT JMX JDS4-DS1:分别为个、十、百、千位输出的选通 脉冲,DS1对应千位,DS4对应个位。每个选通脉冲宽 度为18个时钟周期,两个相应脉冲之间间隔为2个时 钟周期。如图11-21所示土 CLK周期16 400个时钟脉冲周期DS1产=| 18个时钟脉冲周期(最高位)|位2个时钟脉冲周期DS2IDS3(最低位)DS411-21(6) BCD码输出端Q0-Q3: BCD码数据输出线。Q3为最高位,Q0为最 低位。当DS2、DS3和DS4选通期间,输出三位完整的BCD码数,但在DS1 (千位)选通期间,输出端Q0Q3除了表示个位的0或1外,还表示被转换电压的正负极性 (02=1为正)、欠量程还是过量程,具体含义如表行-2所示。表11-2 DS1选通时Q3Q0表示的结果Q3 Q2 Q1 Q0表不结果1XX0千位数为00XX0千位数为1X 1X0结果为正X 0X0结果为负0XX1输入过量程1XX1输入欠量程2. MC14433与8031单片机的接口如图 11-12, MC1403 (与5G1403相同)为 +2. 5V精密 基准源。DU端与E0C端相连,即选择连续转换方式。 E0C:转换结束输出标志。读取A/D转换结果可采用中断方式或查询方式。采用中断方式时,E0C端与8031外部中断输入端INTO* 或INT1*相连。采用查询方式EOC端可与任一I/O口线相 连。8031PLOPL1Pl.2Pl.3Pl.4Pl.5PL6Pl.7| EAFNT1CM pF 470 kQ11-22若用中断方式读结果,选用跳沿触发方式。如转换结果存到8031内部RAM的20H、21H单元中,格式如下:符号X X千百D7D4 D3DO十个D4 D3D0D721 H11-2320 H初始化程序开放CPU中断,允许外部中断1中断请 求,置外部中断1为跳沿触发方式。每次A/D转换结束,都向CPU请求中断,CPU响应中 折,执行中断服务程序,读取A/D转换的结果。程序:ORG 001BHLJMP PINT1;跳外部中断1的中断服务程序ORG 01OOHINITI:SETB IT1;选择外中断1为跳沿触发方式MOV IE,4H;CPU开中断,允许外部中断1PINT1:MOV A, P1;外部中断1服务程序JNAcc. 4,PINT1;等待DS1选通信号的到来Acc. 0, Per ;是否过、欠量程,是则转向Per处理Acc. 2, PL1 ;判结果极性,为正,跳PL1SETB 07H;结果为负,符号位07H置1AJMP PL2PL1:PL2:CLR 07H;结果为正,符号位清0Acc.3, PL3千位为0,跳PL3SETB 04HAJMP PL4PL3: CLR 04HPL4: MOV A, P1JNB Acc. 5, PL4MOV RO, #2OH XCHD A, RO PL5: MOV A, P1;千位为1,把04H位置1 千位为0,把04H位清0 等待百位的选通信号DS2 指针指向20H单元 百位20H单元低4位JNB A”. 6, PL5SWAP AINC ROMOV R0, AMOV A, P1PL6:;等待十位数的选通信号DS3的到来;读入十位,高低4位交换;指针指向21H单元;十位数的BCD?马送入21H的高4位JNB Acc. 7, PL6;等待个位数选通信号DS4的到来;XCHDRET IPEr: SETB 10H个位数送入21H单元的低4位置过量程、欠量程标志RET I中断返回11.3 MCS-51与V/F转换器的接口在既要求数据长距离传输又要求精确度较高的场 合,可使用V/F转换器代替A/D器件。V/噤换器是把电压信号转变为频率信号的器件,有良好的精度、线性,此外,电路简单,外围元件性 能要求不高,适应环境能力强,转换速度不低于一般 的双积分型A/D器件,且价格低,因此V/F转换技术广 泛用于非快速A/D过程中。11.3.1用V/F转换器实现A/D转换的原理工作原理:把V/F转换器输出的频率信号作为计数脉冲,进行定 时计数,这样计数器的计数值与V/F转换器输出的脉冲 频率信号之间的关系为:f=D/TD:计数值,T:计数时间,就可求出V/F转换器的输 出频率,从而知道输入电压V,这就实现了A/D转换。定时/计数器可用单片机内部的,也可使用外部扩展的,用单片机把计数值取入内存即可进行数据处理。冬s电流输出匚参考电流匚27频率输出匚36GND 匚 45二1 ?ss二比较输入二1阈值二7?/C电流输出C1参考电流Q6)阈值4GND87)比较输入11-242电特性参数:(1)电源电压:+15V(2)输入电压范围:010V(3)输出频率:10Hz11KHz(4)非线性失真:0. 03% 3. LMX31的V/F转换外部接线LMX31的V/F转换外部接线如图11-25所示。R 口 iookni% So+ ?ssOss22pF7=15 V? R6.8 mi% -l=Hq0.01 |1FTl-LMX31丁 1%亠47Q10%X11-25212knl%丄VLOGIC iom+io% o To 10 kHz11.3.3 V/F转换器与MCS-51单片机接口被测电压转换为与其成比例的频率信号后送入单 片机进行处理。(1) 直接与MCS-51接口。接口简单,频率信号接入单 片机的定时器/计数器输入端即可。如下图。11-26(2) 在一些电源干扰大、模拟电路部分容易对单片机 产生电气干扰等恶劣环境中,可采用光电隔离的方法使
展开阅读全文