8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。2.ADC0809与8051接口A/D转换器芯片与单片机的接口是数字量输入接口,其原理与并行I/O输入接口相同,需要有三态门“挂上”数据总线。现以12位A/D转换芯片AD574A为例进行说明。在8051系统中使用AD574A芯片,其转换数据应分两次读出,并按高8位和低4位分次。......
2023-11-17
测控系统中的一些控制对象需要模拟信号进行驱动,例如电动机、变频压缩机、音响、电视机等,于是就把单片机输出的数字量转换为模拟量,以满足模拟控制的需要,于是在模拟输出通道中就要有D/A转换器,D/A转换器也常写为DAC(Digital to Analog Converter)。
1.D/A转换芯片
D/A转换芯片很多,现以DAC0832为例进行说明,它是美国国家半导体公司DAC0830系列中的一个芯片。
DAC0832为8位D/A转换芯片,单一+5V电源供电,基准电压的幅度范围为±10V,电流建立时间为1μs,采用CMOS工艺,低功耗(20mW),芯片为20引脚双列直插式封装。引脚排列如图8-38所示,各引脚名称及其功能说明如下:
DI7~DI0:转换数据输入。
:片选信号(输入),低电平有效。
ILE:数据锁存允许信号(输入),高电平有效。
:第一写信号(输入),低电平有效。该信号与ILE信号共同控制输入寄存器是数据直通方式还是数据锁存方式。当ILE=1且=0时,为输入寄存器直通方式;当ILE=1且=1时,为输入寄存器锁存方式。
图8-38 DAC0832引脚排列图
:数据传送控制信号(输入),低电平有效。
WR2:第二写信号(输入),低电平有效。与信号合在一起控制DAC寄存器是数据直通方式还是数据锁存方式;当=0且=0时,为DAC直通方式;当=1且=0时,为DAC寄存器锁存方式。
IOUT1:电流输出1。当数据为全1时,输出电流最大;当数据为全0时,输出电流最小。
IOUT2:电流输出2。
RFB:反馈电阻端,即运算放大器的反馈电阻端,电阻(15kΩ)已固化在芯片中。因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,RFB即为运算放大器的反馈电阻。
VREF:基准电压,是外加高精度电压源,与芯片内的电阻网络相连接,该电压可正可负,范围为-10~+10V。基准电压决定D/A转换器的输出电压范围,例如VREF接+10V,则输出电压范围是0~-10V。
DGND:数字地。
AGND:模拟地。
DAC0832的D/A转换采用T型电阻解码网络,转换电路为R-2R倒T型电阻网络,网络中的电阻阻值只有R和2R两种,容易实现集成化。其转换过程是先将各位数码按权的大小转换为相应的模拟分量,然后再以叠加方法把各分量相加,其和即为转换结果。DAC0832的内部结构框图如图8-39所示,电阻解码网络包含在图中的8位D/A转换器中。
图8-39 DAC0832内部结构框图
由图8-39可知,输入通道由输入寄存器和DAC寄存器构成两级数据输入锁存,由3个“与”门电路组成控制逻辑,产生和信号,分别对两个输入寄存器进行控制。当LE1时,数据进入寄存器被锁存;当时,锁存器的输出跟随输入。这样在使用时就可根据需要,对数据输入采用两级锁存(双锁存)形式、单级锁存(另一级直通)形式或直通输入(两级直通)形式。
两级输入锁存,可使D/A转换器在转换前一个数据的同时,将下一个待转换数据预先送到输入寄存器中,以提高转换速度。此外,在使用多个D/A转换器分时输入数据时,两级缓冲可以保证同时输出模拟电压。
2.DAC0832单缓冲连接方式
D/A转换器与单片机的接口是数字量输出接口,与并行I/O输出接口一样,必须通过数据缓冲(锁存)器“挂”到数据总线上。下面从数据转换的角度做一些说明。
D/A转换有一个过程,所需要的时间称为建立时间,不同D/A转换芯片建立时间的长短不同,从几纳秒到几微秒不等。转换时被转换数据由单片机通过输出指令送出,送出数据在数据总线上的存在时间比较短,例如8051只有1个机器周期左右。为了在两者之间进行时间协调,在单片机与D/A转换器之间必须加数据缓冲(锁存)器,先把单片机送出的数据放在缓冲器中保存,供转换器使用。所以D/A转换器接口的重点是缓冲器问题。处于简化接口的原因,许多D/A转换器芯片自带缓冲器。
DAC0832自带了两级缓冲器,所以DAC0832与8051的接口十分简单,并且有单缓冲和双缓冲两种连接方式。
所谓单缓冲连接方式,就是使DAC0832的两个输入寄存器中有一个(多为DAC寄存器)处于直通状态,另一个处于受控的锁存状态。在实际应用中,若只有一路模拟量输出,或虽是多路模拟量输出但并不要求输出同步,就应当采用单缓冲方式,其连接如图8-40所示。
为使DAC寄存器处于直通方式,应使。因此,可以把这两个信号端固定接地,或如图8-40所示把和相连,把和相连。
图8-40 DAC0832单缓冲方式连接图
为使输入寄存器处于受控锁存状态,应把接8051的,ILE接高电平,把接高位地址线或地址译码输出,以便对输入寄存器进行选择。
【例8-4】在一些控制应用中,需要有一个线性增长的电压(锯齿波)来控制检测过程、移动记录笔或移动电子束等。试利用DAC0832来实现锯齿波的生成。
【解】可通过在DAC0832的输出端接运算放大器,由运算放大器产生锯齿波来实现,其电路连接如图8-41所示。
图8-41中的DAC0832工作于单缓冲方式,其中输入寄存器受控,而DAC寄存器直通。假定输入寄存器地址为5000H。
图8-41 DAC0832产生锯齿波电路图
编写程序如下:
图8-42 D/A转换产生的锯齿波
由这个例题可见,在单缓冲方式下完成一次D/A转换只需3条基本指令,即地址指向受控的寄存器、转换量装入累加器A和启动D/A转换。执行上述锯齿波程序,在运算放大器的输出端就能得到锯齿波(图8-42)。
对锯齿波的产生作如下几点说明:(www.chuimin.cn)
1)程序每循环一次,R0加1,因此,锯齿波的上升边是由256个小阶梯构成的。但由于阶梯很小,从宏观上来看就如图8-42中所画的线性增长的锯齿波。
2)可通过循环程序段的机器周期数,计算出锯齿波的周期,也可根据需要,通过延时的办法来改变波形的周期。若延迟时间较短,可用NOP指令来实现(本程序就是如此);当需要延迟时间较长时,可以使用一个延时子程序。延迟时间不同,波形周期不同,锯齿波的斜率就不同。
3)通过A加1可以得到正向锯齿波;若要得到负向锯齿波,改为A减1即可实现。
4)程序中A的变化范围是0~255,因此,得到的锯齿波是满幅度的。若要求得到非满幅度的锯齿波,可通过计算求得数字量的初值和终值,然后在程序中通过置初值判终值的办法即可实现。
3.DAC0832双缓冲连接方式
所谓双缓冲连接方式,就是把DAC0832的输入寄存器和DAC寄存器都接成受控锁存方式。在多路D/A转换中,如果要求同步输出,就应当采用双缓冲方式连接,如图8-43所示。
图8-43 DAC0832的双缓冲方式连接图
为了实现对寄存器的控制,应当给两个寄存器各分配一个地址,以便能单独进行操作。图8-43中是使用地址译码输出分别接和实现的。由8051的为和提供选通信号,这样就完成了两个寄存器都可控的双缓冲接口方式。
由于两个寄存器各占据一个地址,因此,在程序中需要使用两条传送指令才能完成一个数字量的模拟转换。假定输入寄存器地址为0EH,DAC寄存器地址为0FH,则完成一次D/A转换的程序段如下:
程序段中的最后一条指令,表面上来看是把A中的数据送入DAC寄存器,实际上这种数据传送并没有真正进行,该指令只是起到打开DAC寄存器使输入寄存器中数据通过的作用,数据通过后就去进行D/A转换。
双缓冲方式的最典型应用,是在多路D/A转换系统中通过双缓冲方式实现多路模拟信号的同步输出。例如,X-Y绘图仪由X、Y两个方向的步进电机驱动,其中一个电机控制绘笔沿X轴方向运动,另一个电机控制绘笔沿Y轴方向运动。因此,对XY绘图仪的控制就有两点基本要求:一是需要两路D/A转换器分别给X通道和Y通道提供驱动信号,驱动绘笔沿X-Y轴作平面运动;二是两路模拟信号要保证同步输出,以使绘制出的曲线光滑。否则,绘制出的曲线就会呈台阶状,如图8-44所示。
在使用单片机控制绘图仪时,要使用两片DAC0832并采用双缓冲方式连接,如图8-45所示。电路中以译码法产生地址,两片DAC0832共占据3个单元地址,其中两个输入寄存器各占一个地址,而两个DAC寄存器则合用一个地址。
图8-44 单片机控制下的X-Y绘图仪输出图
图8-45 控制X-Y绘图仪的双片DAC0832接口图
编程时,先用一条传送指令把X坐标数据送到X向D/A转换器的输入寄存器;再用一条传送指令把Y坐标数据送到Y向D/A转换器的输入寄存器;最后再用一条传送指令打开两个转换器的DAC寄存器,进行数据转换,即可实现X、Y两个方向坐标的同步输出。
假定X方向DAC0832输入寄存器的地址为F0H,Y方向DAC0832输入寄存器的地址为F1H,两个DAC寄存器公用地址为F2H。X坐标数据存于Data单元中,Y坐标数据存于Data+1单元中,则绘图仪的驱动程序为
双缓冲方式的另一个特点是,可以通过输入寄存器快速修改DAC寄存器的内容,供特殊需要时使用。
习题8
1.填空题
(1)扩展并行I/O 口的编址方式有____________和____________。
(2)通过并行总线扩展I/O口时,要求输入接口具有________功能;输出接口具有________功能。
(3)MCS-51单片机在外扩ROM、RAM和I/O口时,P0口提供________总线和地址总线的________位,P2口提供地址总线的________位。
(4)外扩程序存储器时用到的控制总线有____________、___________和____________,外扩数据存储器时用到的控制总线有_____________、___________和_____________。
(5)存储芯片27128的存储容量是________字节,共有地址总线________根,数据总线________根。
(6)LED数码管按其内部电路结构可分为________结构和________结构。
(7)在单片机应用系统中,LED数码管显示电路可分为________显示方式和________显示方式。
(8)按键去抖的方法有____________和____________。
2.简答题
(1)说出线选法和译码法的优、缺点及应用场合。
(2)说出LED静态显示和动态显示的优、缺点及应用场合。
(3)MCS-51单片机如何使得内、外程序存储器和数据存储器正常工作。
3.应用设计题
(1)试用8051单片机的P0口扩展一个并行输出接口和一个并行输入接口,要求扩展的输入接口用74LS273,输出接口用74LS244,输入/输出接口地址均为0BFFFH,从74LS273输入的数据取反后由74LS244输出。画出硬件电路图并编写应用程序。
(2)试用8051单片机扩展1片程序存储器2732(容量为4K×8位)和1片数据存储器6264(容量为8K×8位),要求程序存储器的地址和内部程序存储器的地址衔接。画出硬件电路图,写出各芯片的地址范围,编写把6264某一连续的100个单元内容低4位置1的程序。
(3)试用8051单片机扩展两片6264(8KB×8位)的存储芯片、一个4×4的矩阵键盘和4位LED显示器,画出硬件电路图,写出其地址和每个键的键值,编写典型的应用程序。
(4)试用8051单片机与一片ADC0809设计一个数据采集系统,要求ADC0809的8个输入通道的地址为7FF8H~7FFFH,每个通道一次连续采集5个数据,每隔1min轮流采集一次8个通道的数据。要求采集20min的数据,把每个通道采样值分别存入片外RAM的2000H、2100H、2200H、2300H、2400H、2500H、2600H、2700H单元开始存储区中,画出硬件电路图并编写应用程序。
(5)试设计8051单片机和DAC0832数模转换芯片的接口电路,并编程实现从DAC0832输出一个等边三角形的电压波形,要求三角波的最大幅值为4.0V(假设单片机晶振为12MHz)。
(6)试用8051单片机扩展1片程序存储器2764(容量为8K×8位)、1片数据存储器6264(容量为8K×8位)和1片8255,8255上接一个4×8的矩阵键盘和6位LED显示器,要求程序存储器的地址和内部程序存储器的地址衔接。画出硬件电路图,写出各芯片的地址范围、键值,编写其初始化和各部分的典型应用程序。
有关单片机基础及应用的文章
8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。2.ADC0809与8051接口A/D转换器芯片与单片机的接口是数字量输入接口,其原理与并行I/O输入接口相同,需要有三态门“挂上”数据总线。现以12位A/D转换芯片AD574A为例进行说明。在8051系统中使用AD574A芯片,其转换数据应分两次读出,并按高8位和低4位分次。......
2023-11-17
1.8255的I/O控制方式8255中可以使用无条件方式、查询方式和中断方式共3种I/O控制方式。因为传送这些信号的口线分别为PC5和PC1,所以查询就是对输入这些口线的状态进行测试。2.端口选择及读/写控制8255共有4个可寻址端口:A口、B口、C口和控制寄存器,由CS和地址A0、A1的状态组合进行选择,由读/写信号和进行端口操作控制,具体设置见表8-8。......
2023-11-17
图8-23电压抖动图图8-24独立式未编码键盘图1.独立式键盘接口及处理程序独立式键盘是各按键相互独立地接通一条输入数据线,如图8-24所示。图8-25行列式键盘的结构及键盘扫描示意图如果把列线接到单片机的输入口,行线接到单片机的输出口,则在单片机的控制下,先使行线D0为低电平,其余7根行线都为高电平,读列线的状态,如果D0、D1、D2、D3都为高电平,则D0这一行没有键闭合。......
2023-11-17
在ADS1216中,如果通道1被选择作为正差分输入通道,任何其他通道可选为负差分输入通道。当使用ADS1216的内部电压基准时,可用做IDAC的参考电压。ADS1216的内部校准称自校准,通过3个命令实现。时钟发生器ADS1216使用的时钟源可由晶体、陶瓷谐振器、振荡器或外部时钟提供。数字I/O接口ADS1216有8个专用的数字I/O引脚。存储器ADS1216使用两种类型的存储器:寄存器和RAM。ADS1216支持8个模拟输入的任意组合。......
2023-11-20
8051有5个中断源,即两个外部中断、两个定时/计数器中断和一个串行发送/接收中断。1.外部中断外部中断是由连接到单片机外部引脚信号变化而引起的中断,反映外部某一事件的发生。CPU是在每个机器周期的S5P2检测P 3.2和P 3.3上的信号,如果是有效信号则对定时器控制寄存器TCON中的IE0或IE1置1,建立中断请求标志。表6-1中断源的主要内容及说明......
2023-11-17
1.基本组成微型计算机的基本组成如图1-2所示。图1-2微型计算机的组成框图中央处理器CPUCPU是计算机的核心部件,它由运算器和控制器组成,完成计算机的运算和控制功能。电池式NVRAM是由CMOS的SRAM、备用电池和切换电路组成,在电源断开或低于某值时切换电路把备用电池接入,对RAM进行写保护,防止意外数据写入和信息丢失。......
2023-11-17
MCS-51单片机的算术运算类指令包括加、减、乘、除、加1、减1等指令。这类指令有ADD、ADDC、INC、SUBB、DEC、DA、MUL、DIV共8种。表3-3算术运算类指令注:√表示该指令影响某一标志位。运算结果对PSW的影响同上述4条ADD指令。6.十进制调整指令十进制调整指令只有以下1条:该指令用于BCD码加法运算时,对BCD码的加法运算结果自动进行调整,但对BCD码的减法运算不能用此指令来调整。在运算过程中,单片机按二进制规则进行运算。......
2023-11-17
1.生产厂商常见的单片机生产厂商有Intel公司、Motorola公司、Philips公司、Atmel公司、Zilog公司、NEC公司、MicroChip公司、ADI公司、Epson公司、NS公司、AMD公司、WinBond公司、Scenix公司、Toshiba公司、Fujitsu公司、Samsung公司等。2.单片机系列常见的单片机系列有Intel公司的MCS-51、MCS-96/98系列,Motorola公司的68HC05、68HC5X、68HC12、68HC16、683XX系列,Philips公司的80C5X系列,Atmel公司的AT89系列,Zilog公司的Z8、Z86系列,ADI公司的MC-6801系列,MicroChip公司的PIC16CX、PIC16FX、PIC17CX、PIC18CX系列,NEC公司的μPD7800系列,Toshiba公司的MB8900、MB90系列等。......
2023-11-17
相关推荐