比较结果存于数据寄存器的Dn-1位。
然后在第二个时钟脉冲的作用下,移位寄存器的次高位置1,其他低位置0。
如最高位已存1,则此时UO=(3/4)UR。
于是Ux再与(3/4)UR相比较,如Ux≥(3/4)UR,则次高位Dn-2存1,否则Dn-2=0;如最高位为0,则UO=UR/4,与UO比较,如Ux≥UR/4,则Dn-2位存1,否则存0。
以此类推,逐次比较得到输出数字量。
4试述软译码静态显示电路工作原理和动态扫描显示电路的工作原理,二者各有什么特点。
软译码静态显示电路工作原理:
静态显示电路即静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
动态扫描显示电路的工作原理:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
5一个线性电位器长为10cm,电阻为200欧姆,若用该电位器式传感器测距离,要求非线性误差小于0.01,则负载电阻应满足什么条件?
并画出相应的电路图。
当位移为x时电位器式传感器电阻和空载输出电压分别为:
由此可求得带负载
时输出的电压为:
引起的负载误差为:
欲使负载非线性误差小于0.01,则必须保证负载电阻至少
。
6在一个51单片机与0832D/A转换的单缓冲电路中,D/A转换器的地址为7FFFH,当输入的数字范围为00H-FFH时,其输出的电压范围为0-5V。
(1)画出接口的电路图;
(2)编一段程序,使其运行后能在示波器上显示大约两个周期的锯齿波(设示波器显示屏X轴满刻度为10格,扫描速度为153.6us/格,单片机平均每条指令执行时间为0.1us)
单缓冲方式:
两级锁存器接受同一控制,例如将W\R\和X\R\E\F\直接接地,8位ADC锁存器处于非受控状态,只有8位输入锁存器处于受控状态,即此时仅有LE1控制ADC。
#include
#include//绝对地址访问头文件
#defineDAC0832XBYTE[0x7fff]//DAC0832的地址为0x7fff
voiddelay()//定时器定时1ms
{
TH1=0xfc;
TL1=0x18;//定时器初值设定
TR1=1;//启动定时器
while(!
TF1);//查询是否溢出
TF1=0;//将溢出标志位清零
}
voidmain()
{
unsignedchari=0,j=2;
TMOD=0x10;//设置定时器工作方式
while(j--)
{
for(i=0;i<=255;i+16)//形成锯齿波,最大值为255
{
DAC0832=i;//D/A转换输出
delay();//延时
}
}
}
7设计一个智能仪表,具体要求:
自选一款模拟量传感器,设计放大器,A/D转换等电路,再通过单片机进行处理,最后用0-10mA的模拟量输出,并尽可能进行误差分析。
设计了一款“温度程序控制仪”,具体设计如下:
为了保证生产过程正常安全地进行,提高产品的质量和数量,减轻工人的劳动强度以及节约能源,常要求加热设备(如电炉)的温度按某种指定的规律变化。
微机温度程控仪就是这样一种能对加热设备的升、降温度速率和保温时间实现严格控制的智能仪表,它将温度变送、显示和数字控制集于一体,用软件实现程序升、降温的调节。
系统组成和控制原理:
加热炉控制系统如图2所示。
控制对象为电炉,检测元件为热电偶,执行器为可控硅电压调整器和可控硅器件。
虚线框中是温度程控仪,它包括主机电路、过程输入/输出通道、键盘、显示器以及稳压电源。
图2加热炉控制系统
该温度程控仪的工作过程如下:
炉内温度由热电偶测量,其信号经过多路开关送入放大器,毫伏信号经放大后有A/D电路转换成相应的数字量,再通过光耦合器隔离,进入主控制器。
由主控制器进行数据,并按一定的控制规律运算后输出数字控制量。
数值信号经光耦隔离,由D/A电路转换成模拟量,再通过V/I转换得到0~10mA的直流电流。
该电流送入可控硅器件,触发可控硅,对炉温进行调节,使其按预定的升、降曲线规律变化。
另外,主控制器还输出开关量信号,发出相应的开关动作,以驱动继电器或发光二极管。
硬件结构和电路设计
硬件结构框图见图2虚线框内的部分,下面就各部分电路设计作具体说明。
主机电路及键盘、显示器接口
按仪表设计要求,可选用指令功能丰富、中断能力强的MCS-51单片机作为主机电路的核心器件。
由803l构成的主机电路如图3所示。
主机电路包括单片机及外接存贮器、I/O接口电路。
程序存贮器和数据存贮器容量的大小同仪表数据处理和控制功能有关,设计时应留有余量。
本仪表程序存贮器容量8kB(选用一片2764),数据存贮器容量为2kB(选用一片6116)。
并行I/O接口电路(本仪表为8155)的选用与输入/输出通道、键盘、显示器的结构和电路形式有关。
上图所示的主控制器电路采用全译码方式,由3-8译码器来选通存贮器6116、扩展器8155以及D/A转换器和锁存器。
低8位地址信号由P0口输出,锁存在74LS373中;高位地址(P2.0-P2.4)由P2口输出,直接连至2764和6116的相应端。
8155用作键盘、显示器的接口电路,其内部的256个字节的RAM和14位的定时/计数器也可供使用。
A/D电路的转换结果直接从8031的P1口输入。
掉电保护功能的实现有两种方案:
一是选用EEPROM(2816或2817等),将重要数据置于其中;二是加备用电池,如图4所示。
稳压电源和备用电池分别通过二极管接于存贮器(或单片机)的Vcc端,当稳压电源电压大于备用电池电压时,电池不供电;当稳压电源掉电时,备用电池工作。
图3由8031构成的主机电路
图4备用电池的连接和掉电检测
光电耦合器的作用是防止因干扰产生误动作。
在掉电瞬间,稳压电源在大电容支持下,仍维持供电(约几十毫秒),这段时间内,主机执行中断服务程序,将断点和重要数据置入RAM。
模拟量输入通道包括多路开关、热电偶冷端温度补偿电路、线性放大器、A/D转换器和隔离电路,如图5所示。
图5模拟输入量通道逻辑电路图
测量元件为镍铬—镍铝热电偶,在0℃-1100℃测量范围内,其热电势为0-45.10mV。
多路开关选用CD405l(或AD7501),它将5路信号依次送入放大器,其中第l-4路为测量信号,第5路(TV)来自D/A电路的输出端,供自诊断用。
多路开关的接通由主机电路控制,选择通道的地址信号锁存在74LS273(I)中。
运算放大器选用低漂移高增益的7650,采用同相输入方式,以提高输入阻抗。
输出端加接阻容滤波电路,可滤去高频信号。
放大器的输出电压为0-2V(即A/D转换器的输入电压),故放大倍数约为50倍,可用W2(1K欧姆)凋整之。
放大器的零点由W1(100欧姆)调整。
按仪表设计要求,选用双积分型A/D转换器MCl4433。
该转换器输出(3+1/2)BCD码,相当于二进制1l位,其分辨率为1/2000。
A/D转换的结果(包括结束信号EOC)通过光耦隔离后输入到8031的P1口。
图中缓冲器(74LS244)专为驱动光耦而设置。
单稳用以加宽EOC脉冲宽度,使光耦能正常工作。
主控电路的输出信号经光耦隔离(在译码信号S,控制下)锁存在74LS273(I)中,以选通多路开关和点亮四个发光二极管。
发光管用来显示仪表的手、自动工作状态和上、下限报警。
隔离电路采用逻辑型光电耦合器,该器件体积小、耐冲击、绝缘电压高、抗干扰能力强。
光电器件选用G0103(或TILll7)。
模拟量和开关量输出通道
模拟量输出电路由隔离电路、D/A转换器、V/I转换器组成;开关量输出通道由隔离电路、输出锁存器和驱动器组成,如图6所示。
D/A转换器选用8位、双缓冲的DAC0832,该芯片将调节通道的输出转换为0-5V的模拟电压,再经V/I电路(3DK4B)输出0-10mA电流信号。
8位开关量信号锁存在74LS273(II)中,通过5G1413驱动继电器J1-J8和发光二极管D1-D8。
继电器和发光管分别用来接通阀门和指示阀的启,闭状态。
图6中虚线框中的隔离电路部分与图5所示的输入通道可以共用,即主机电路的输出经光电耦合器分别连至图5所示模入通道的锁存器273(工)以及图6中273(Ⅱ)和DAC0832的输入端,信号打入哪一个器件则由主机的输出信号s1、s3和s2(经光耦隔离)釆控制。
图6输出通道逻辑电路