资源预览内容
第1页 / 共61页
第2页 / 共61页
第3页 / 共61页
第4页 / 共61页
第5页 / 共61页
第6页 / 共61页
第7页 / 共61页
第8页 / 共61页
第9页 / 共61页
第10页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第七章 单片机I/O口扩展及外 围接口技术,7.1 51单片机I/O口直接应用7.2 通过并行总线扩展I/O口7.3 8255A可编程并行I/O口扩展芯片7.4 8155可编程I/O口扩展芯片7.5单片机键盘接口技术7.6 单片机LED显示器接口技术7.7 DAC接口技术7.8 ADC接口技术,7.1,输出,7-2,7-2-1,Q,7-2-1,7-2-3,7-3-1,7-3,7-5,0 1 1 1 1 1 1 1,1111,1 0 1 1 1 1 1 1,1 1 0 1 1 1 1 1,D0 D1 D2 D7,假设A口地址0101HC口地址0103H,7-6,显示器显示方法:,静态显示动态显示静态显示:静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字形码。送入一次字形码显示字形一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高,可以控制整个显示块是否发光,称字位控制控制某一字段发光,称为字形控制,动态显示,动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。,ACALL,5,A,R3,7.7 DAC 接口,输入二进制数,输出为电压或电流,大多数情况是电流,内部无锁存器:DAC800(8) AD7520(10) AD7521(12)内部有锁存器:DAC0832 DAC1230 AD7542 AD9549,D/A转换器的主要性能指标,1、分辨率分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(常为电压)的变化量。它反映了输出模拟量的最小变化值。 分辨率与输入数字量的位数有确定的关系,可以表示成FS /2n。FS表示满量程输入值,n为二进制位数。对于5V的满量程,采用位的DAC时,分辨率为5V/25619.5mV;当采用12位的DAC时,分辨率则为5V/40961.22mV。显然,位数越多分辨率就越高。,2、线性度线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程的百分数表示。如是指实际输出值与理论值之差在满刻度的以内。,3、绝对精度和相对精度绝对精度(简称精度)是指在整个刻度范围内,任一输入数码所对应的模拟量实际输出值与理论值之间的最大误差。绝对精度是由DAC的增益误差(当输入数码为全1时,实际输出值与理想输出值之差)、零点误差(数码输入为全时,DAC的非零输出值)、非线性误差和噪声等引起的。绝对精度(即最大误差)应小于1个LSB。,相对精度与绝对精度表示同一含义,用最大误差相对于满刻度的百分比表示。,4、建立时间建立时间是指输入的数字量发生满刻度变化时,输出模拟信号达到满刻度值的1/2LSB所需的时间。是描述D/A转换速率的一个动态指标。电流输出型DAC的建立时间短。电压输出型DAC的建立时间主要决定于运算放大器的响应时间。根据建立时间的长短,可以将DAC分成超高速(1S)、高速(101S)、中速(10010S)、低速(100S)几档。,应当注意,精度和分辨率具有一定的联系,但概念不同。DAC的位数多时,分辨率会提高,对应于影响精度的量化误差会减小。但其它误差(如温度漂移、线性不良等)的影响仍会使DAC的精度变差。,7.7.2 D/A转换器的接口电路,1数据线的连接,D/A转换器与单片机的数据线的连接主要考虑两个问题: 一是位数,当高于8位的D/A转换器与8位数据总线的MCS-51单片机接口时,MCS-51单片机的数据必须分时输出,这时必须考虑数据分时传送的格式和输出电压的“毛刺”问题; 二是D/A转换器有无输入锁存器的问题,当D/A转换器内部没有输入锁存器时,必须在单片机与D/A转换器之间增设锁存器或I/O接口。,2地址线的连接,一般的D/A转换器只有片选信号,而没有地址线。这时单片机的地址线采用全译码或部分译码,经译码器输出来控制D/A转换器的片选信号,也可由某一位I/O线来控制D/A转换器的片选信号。,3控制线的连接,D/A转换器主要有片选信号、写信号及启动转换信号等,一般由单片机的有关引脚或译码器提供。,AD7520内部无锁存器代表:分辨率 10位;建立时间 500ns;非线性 0.05%;参考电压 15V;电源电压 +5V+15V,数字信号放在20H21H中CLR P3.2 ;禁止所存器输出数据MOV R0, #20H ;指向数据缓冲区MOV A, R0 ;取高8位数据MOV P1, A ;输出高8位INC R0MOV A, R0 ;取低2位数据MOV P3, A ;输出低2位SETB P3.2 ;产生上升沿,锁存输出数据,DAC0832芯片及其与单片机接口,DAC0832是使用非常普遍的位D/A转换器,内部有锁存器,可以直接与单片机接口。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换。DAC0832主要特性:,分辨率位;电流建立时间S;数据输入可采用双缓冲、单缓冲或直通方式;输出电流线性度可在满量程下调节;逻辑电平输入与TTL电平兼容;单一电源供电(5V15V);低功耗,20m。,DAC0832的引脚,DAC0832有20引脚,采用双列直插式封装,如图所示。,DAC0832内部结构及引脚,DAC0832与80C51单片机的接口、单缓冲工作方式 此方式适用于只有一路模拟量输出,或有几路模拟量输出但并不要求同步的系统。,双极性模拟输出电压 :,双极性输出时的分辨率比单极性输出时降低1/2,这是由于对双极性输出而言,最高位作为符号位,只有7位数值位。,单缓冲工作方式实际电路,2、双缓冲工作方式 双缓冲器方式:输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号; 多路D/A转换输出,如果要求同步进行,就应该采用双缓冲器同步方式 。,完成两路D/A同步输出的程序如下:MOVDPTR,#0DFFFH ;指向0832()输入锁存器MOV A,#data1 MOVX DPTR,A ;data1送入0832()输入锁存器MOV DPTR,#0BFFFH ;指向DAC0832()输入锁存器MOV A,#data2MOVX DPTR,A ;data2送入0832(2)输入锁存器MOV DPTR,#7FFFH ;同时启动0832 (1)、0832(2)MOVX DPTR,A ;完成D/A转换输出,3、直通工作方式输入寄存器和DAC寄存器共用一个地址,同时选通输出。当DAC0832芯片的片选信号、写信号、及传送控制信号的引脚全部接地,允许输入锁存信号ILE引脚接5V时,DAC0832芯片就处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。,7.8 ADC接口 模/数转换器是一种将模拟信号转换成二进制数的器件,1、模拟信号输入(不大于Vref )2、启动开始转换3、等待转换结束(检测“忙”)4、输出数据,三、A/D转换器的主要技术指标,1、分辨率ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度FS的1/ 212。一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V1/ 212=2.4mV。,2、量化误差ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。,3、偏移误差偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。,、满刻度误差满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。,5、线性度线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。,6、绝对精度在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。,7、转换速率ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间)则是转换速率的倒数。,主要性能为:分辨率为位;精度:ADC0809小于1LSB(ADC0808小于1/2LSB);单+5V供电,模拟输入电压范围为05V;具有锁存控制的路输入模拟开关;可锁存三态输出,输出与TTL电平兼容;功耗为15mW;不必进行零点和满度调整;转换速度取决于芯片外接的时钟频率。时钟频率范围:101280KHz。典型值为时钟频率640KHz,转换时间约为100S。,7.8.2 ADC0809芯片及其与单片机的接口,一、ADC0809的内部结构及引脚功能,1、IN0IN7,路模拟量输入端。2、D7D0,位数字量输出端。3、ALE, 地址锁存允许信号输入端。通常向此引脚输入一个正脉冲时,可将三位地址选择信号A、B、C锁存于地址寄存器内并进行译码,选通相应的模拟输入通道。4、START,启动A/D转换控制信号输入端。一般向此引脚输入一个正脉冲,上升沿复位内部逐次逼近寄存器,下降沿后开始A/D转换。5、CLK,时钟信号输入端。6、EOC,转换结束信号输出端。A/D转换期间EOC为低电平,A/D转换结束后EOC为高电平。7、OE,输出允许控制端,控制输出锁存器的三态门。当OE为高电平时,转换结果数据出现在D7D0引脚。当OE为低电平时,D7D0引脚对外呈高阻状态。8、C、B、A,路模拟开关的地址选通信号输入端,3个输入端的信号为000111时,接通IN0IN7对应通道。9、VR()、VR():分别为基准电源的正、负输入端。,二、ADC0809与单片机的接口1、查询方式,编程步骤1、选择通道2、启动转换3、等待转换结束4、读取数据,例:对路模拟信号轮流采样一次,并依次把转换结果存储到片内RAM以DATA为起始地址的连续单元中。MAIN:MOV R1,#DATA ;置数据区首地址 MOV DPTR,#7FF8H;指向通道 MOV R7,#08H ;置通道数LOOP:MOVX DPTR,A;启动A/D转换HER:JB P3.3,HER ;查询A/D转换结束 MOVX A,DPTR ;读取A/D转换结果 MOV R1,A;存储数据 INC DPTR ;指向下一个通道 INC R1;修改数据区指针 DJNZ R7,LOOP ;个通道转换完否? ,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号