您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > MCS�51单片机的接口与应用
MCS–51单片机的接口与应用MCS–51单片机的接口与应用6.1A/D转换器接口6.2D/A转换器接口6.3按键、键盘及其接口6.4显示及显示器接口MCS–51单片机的接口与应用1A/D转换器接口1.1A/D转换器概述在设计A/D转换器与单片机接口之前,往往要根据A/D转换器的技术指标选择A/D转换器。为此,先介绍一下A/D转换器的主要技术指标。量化间隔和量化误差是A/D转换器的主要技术指标之一。量化间隔可用下式表示。其中n为A/D转换器的位数。nn212满量程输入电压满量程输入电压MCS–51单片机的接口与应用量化误差有两种表示方法:一种是绝对误差,另一种是相对误差。22量化间隔绝对误差%100211n相对误差A/D转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式A/D转换器;按其分辨率可分为8~16位的A/D转换器芯片。目前最常用的是逐次逼近式和双重积分式。MCS–51单片机的接口与应用逐次逼近式转换器的常用产品有ADC0801~ADC0805型8位MOS型A/D转换器、ADC0808/0809型8位MOS型A/D转换器、ADC0816/0817型8位MOS型A/D转换器、AD574型快速12位A/D转换器。双重积分式转换器的常用产品有ICL7106/ICL7107/ICL7126、MC14433/5G14433、ICL7135等。A/D转换器与单片机接口具有硬、软件相依性。一般来说,A/D转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。MCS–51单片机的接口与应用A/D转换器数字量输出线与单片机的连接方法与其内部结构有关。对于内部带有三态锁存数据输出缓冲器的ADC(如ADC0809、AD574等),可直接与单片机相连。对于内部不带锁存器ADC,一般通过锁存器或并行I/O接口与单片机相连。在某些情况下,为了增强控制功能,那些带有三态锁存数据输出缓冲器的ADC也常采用I/O接口连接。还有,随着位数的不同,ADC与单片机的连接方法也不同。对于8位ADC,其数字输出线可与8位单片机数据线对应相接。对于8位以上的ADC,与8位单片机相接就不那么简单了,此时必须增加读取控制逻辑,把8位以上的数据分两次或多次读取。为了便于连接,一些ADC产品内部已带有读取控制逻辑,而对于内部不包含读取控制逻辑的ADC,在和8位单片机连接时,应增设三态缓冲器对转换后的数据进行锁存。MCS–51单片机的接口与应用一个ADC开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供。不同型号的ADC,对于启动转换信号的要求也不同,一般分为脉冲启动和电平启动两种。对于脉冲启动型ADC,只要给其启动控制端上加一个符合要求的脉冲信号即可,如ADC0809、ADC574等。通常用WR和地址译码器的输出经一定的逻辑电路进行控制。对于电平启动型ADC,当把符合要求的电平加到启动控制端上时,立即开始转换。在转换过程中,必须保持这一电平,否则会终止转换的进行。因此,在这种启动方式下,单片机的控制信号必须经过锁存器保持一段时间,一般采用D触发器、锁存器或并行I/O接口等来实现。AD570、AD571等都属于电平启动型ADC。MCS–51单片机的接口与应用当ADC转换结束时,ADC输出一个转换结束标志信号,通知单片机读取转换结果。单片机检查判断A/D转换结束的方法一般有中断和查询两种。对于中断方式,可将转换结束标志信号接到单片机的中断请求输入线上或允许中断的I/O接口的相应引脚,作为中断请求信号;对于查询方式,可把转换结束标志信号经三态门送到单片机的某一位I/O口线上,作为查询状态信号。A/D转换器的另一个重要连接信号是时钟,其频率是决定芯片转换速度的基准。整个A/D转换过程都是在时钟的作用下完成的。A/D转换时钟的提供方法有两种:一种是由芯片内部提供(如AD574),一般不许外加电路;另一种是由外部提供,有的用单独的振荡电路产生,更多的则把单片机输出时钟经分频后,送到A/D转换器的相应时钟端。MCS–51单片机的接口与应用1.2A/D转换器ADC0809与单片机的接口1.ADC0809芯片简介图1ADC0809芯片的内部逻辑结构与引脚图MCS–51单片机的接口与应用表1ADC0809通道地址选择表ADDCADDBADDA选通的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7MCS–51单片机的接口与应用图2ADC0809转换工作时序MCS–51单片机的接口与应用2.ADC0809与单片机接口图3ADC0809与8051的接口连接图MCS–51单片机的接口与应用3.A/D转换应用程序举例设图5.18接口电路用于一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内RAM的30H~37H单元中。采样完一遍后停止采集。其数据采集的初始化程序和中断服务程序如下:初始化程序:MOVR0,#30H;设立数据存储区指针MOVR2,#08H;设置8路采样计数值SETBIT0;设置外部中断0为边沿触发方式SETBEA;CPU开放中断MCS–51单片机的接口与应用SETBEX0;允许外部中断0中断MOVDPTR,#FEF8H;送入口地址并指向IN0LOOP:MOVX@DPTR,A;启动A/D转换,A的值无意义HERE:SJMPHERE;等待中断中断服务程序:MOVXA,@DPTR;读取转换后的数字量MOV@R0,A;存入片内RAM单元INCDPTR;指向下一模拟通道INCR0;指向下一个数据存储单元DJNZR2,INT0;8路未转换完,则继续CLREA;已转换完,则关中断CLREX0;禁止外部中断0中断RETI;中断返回INT0:MOVX@DPTR,A;再次启动A/D转换RETI;中断返回MCS–51单片机的接口与应用1.3单片机与A/D转换器AD574的接口1.AD574芯片简介AD574是一种快速的12位逐次比较式A/D转换芯片,片内有两片双极型电路组成的28脚双插直列式芯片,无需外接元器件就可独立完成A/D转换功能。内部设有三态数据输出锁存器。一次转换时间为25μs。芯片引脚如图5.19所示。MCS–51单片机的接口与应用图4AD574的引脚图MCS–51单片机的接口与应用AD574的引脚定义如下:REOUT:内部参考电源输出(+10V);REFIN:参考电压输入;BIP:偏置电压输入;10VIN:±5V或0~10V模拟输入;20VIN:±10V或0~20V模拟输入;DB0~DB11数字量输出,高半字节为DB8~DB11,低字节为DB0~DB7;MCS–51单片机的接口与应用STS:工作状态指示端。STS=1时表示转换器正处于转换状态,STS返回到低电平时,表示转换完毕。该信号可处理器作为中断或查询信号用;12/-8:变换输出字长选择控制端,在输入为高电平时,变换字长输出为12位,在低电平时,按8位输出;CS、CE:片选信号。当CS=0、CE=1同时满足时,AD574才能处于工作状态。R/C:数据读出和数据转换启动控制;A0:字节地址控制。它有两个作用,在启动AD574(R/C=0)时,用来控制转换长度。A=0时,按完整的12位A/D转换方式工作,A=1时,则按8位A/D转换方式工作。在AD574处于数据读出工作状态(R/C=1)时,A0和12/8成为输出数据格式控制。MCS–51单片机的接口与应用表2AD574控制信号状态表CECSR/C12/8A0功能说明100×012位转换100×18位转换101+5V×12位输出101地0高8位输出101地1低4位输出MCS–51单片机的接口与应用2.AD574模拟输入电路的极性选择图5AD574的模拟输入电路(a)单极性输入;(b)双极性输入MCS–51单片机的接口与应用3.AD574与MCS-51单片机的接口图6AD574与MCS–51单片机接口电路MCS–51单片机的接口与应用4.转换程序设计举例设要求AD574进行12位转换,单片机对转换结果读入,高8位和低4位分别存于片内RAM的31H和30H单元,其转换子程序如下:ADTRANS:MOVR0,#7CH;7CH地址使AD574的CS=0、A0=0、R/C=0MOVR1,#31H;R1指向转换结果的送存单元地址MOVX@R0,A;产生有效的WR信号,启动AD574为12位工作方式MOVA,P1;读P1口,检测STS的状态MCS–51单片机的接口与应用WAIT:ANLA,#01HJNZWAIT;转换未结束,等待,转换结束则进行如下操作INCR0;使CS=0、A0=0、R/C=1,为按双字节读取转换结果,并读高;字节MOVXA,@R0;读取高8位转换结果MOV@R1,A;送存高8位转换结果DECR1;R1指向低4位转换结果存放单元地址INCR0INCR0;(R0)=7FH,使CS=0、A0=1、R/C=1,为读低字节MOVXA,@R0;读取低4位转换结果ANLA,#0FH;只取低4位结果MOV@R1,A;送存低4位结果RETMCS–51单片机的接口与应用2D/A转换器接口2.1D/A转换器概述在设计D/A转换器与单片机接口之前,一般要根据D/A转换器的技术指标选择D/A转换器芯片。(1)分辨率。分辨率是D/A转换器对输入量变化敏感程度的描述。D/A转换器的分辨率定义为:当输入数字量发生单位数码变化时,即LSB位产生一次变化时所对应输出模拟量的变化量。对于线性D/A转换器来说,其分辨率Δ与输入数字量输出的位数n呈现下列关系n2模拟量输出的满量程值MCS–51单片机的接口与应用(2)建立时间。建立时间是描述D/A转换速率快慢的一个重要参数。一般所指的建立时间是输入数字量变化后,模拟输出量达到终值误差±LSB/2(最低有效位)时所经历的时间。根据建立时间的长短,把D/A转换器分成以下几挡:超高速100ns较高速100ns~1μs高速1~10μs中速10~100μs低速≥100μsMCS–51单片机的接口与应用(1)DAC0830系列。DAC0830系列是美国NationalSemiconductor公司生产的具有两个数据寄存器的8位D/A转换芯片。该系列产品包括DAC0830、DAC0831、DAC0832,管脚完全相容为20脚双插直列式封装。(2)DAC82。DAC82是B-B公司生产的8位能完全与微处理器兼容的D/A转换器芯片,片内带有基准电压和调节电阻。无需外接器件及微调即可与单片机8位数据线相连。芯片工作电压为±15V,可以直接输出单极性或双极性的电压(0~+10V,±10V)和电流(0~1.6mA,±0.8mA)。MCS–51单片机的接口与应用(3)DAC1020/AD7520和DAC1220/AD7521系列。DAC1020/AD7520为10位分辨率的D/A转换集成系列芯片。DAC1020系列是美国NationalSemiconductor公司的产品,包括DAC1020、DAC1021、DAC1022,与美国AnalogDevices公司的AD7520及其后继产品AD7530、AD7533完全兼容。单电源工作,电源电压为+5~+15V,电流建立时间为500ns,为16线双插直列式封装。与美国AnalogDevices公司的AD7520及其后继产品AD7530、AD7533完全兼容。单电源工作,电源电压为+5~+15V,电流建立时间为500ns,为16线双插直列式封装。MCS–51单片机的接口与应用(4)DAC1220/AD7521系列。DAC1220/AD7521系列为12位分辨率的D/A转换集成芯片。DAC1220系列包括DAC1220、DAC1221、DAC1222产品,与AD7521及其后继产品AD7531管脚完全兼容,为18线双插直列式封装。(5)DAC1208和DAC1230系列。DAC1208和DAC1230系列均为美国NationalSemico
本文标题:MCS�51单片机的接口与应用
链接地址:https://www.777doc.com/doc-4278870 .html