工控网首页
>

应用设计

>

直流数字电压表的设计

直流数字电压表的设计

2007/11/26 10:39:00
摘 要:随着单片机技术的发展,单片机广泛的应用于测量技术中。 以往的测量技术与之相比,只能将被测量通过指针式指示仪表指显示测量数值。但是指针式指示仪表读数不方便,且不易于实现计算机控制。本文利用了单片机在测量技术中的应用,采用AT89C51单片机实现模拟电压信号的检测与显示,构成数字式电压表。以便于与其它设备进行数据交换,便于实现智能化控制。 关键字: ADC0804 七段译码/驱动电路 AT89C51单片机芯片 数码管LED 0.引言 在广泛的自动控制领域中,需要有类似微型计算机功能的支持,但常常又不可能把微型计算机安装在设备里面。因此,微型控制器的一个重要分支(单片机)应运而生。随着单片机技术的发展,有许多新一代的单片机已经在片内集成了多路A/D转换通道,大大简化了连接电路和编程工作。单片机以其稳定可靠、体积小、功耗低、价格低廉的特点广泛应用于多重需要计算机控制功能的现场控制领域和实时控单片机控制系统。目前企业较多的采用了微机控制技术,广泛应用于各种工业自动控制、检测技术、测量技术等领域。 1.系统概述 数字电压表主要由模/数转换电路、单片机控制电路、显示电路等三部分组成。其中ADC0804等器件组成的转换电路,将输入的模拟量信号进行取样、转换、然后将转换的数字信号送进单片机。单片机控制电路主要实现对数据进行程序处理;显示电路主要用于将单片机的信号数据转换后显示测量结果。 2.系统组成框图 数字电压表电路组成框图如图1所示。
图1 电路组成框图 3.系统硬件电路 3.1电源电路 电路中涉及到的集成电路有74LS47、ADC0804、AT89C51,根据它们的技术参数要求,正常工作时均为5V供电,且电路工作静态电流较小,因此对电源的要求并不高。本电路采用LM7805集成稳压电路,它的输出电压为5V,输出电流可达1.5A。电路由变压器、整流电路、滤波电路、稳压电路组成。(见图2)
图2 电源电路 3.2模/数转换电路 数字电压表电路首先要对待测电压信号进行采样,而采样的电压信号是模拟信号,而单片机的控制只能是数字信号,因此要将采样的模拟电压信号转换成数字信号,本电路选用了模/数转换集成电路,而众多的模/数转换集成电路中ADC0804的性能要求最符合本设计中的要求,所以设计模/数转换电路选用了ADC0804作为转换芯片,其引脚图如图3所示。ADC0804是用CMOS集成工艺制成的逐次比较型摸数转换芯片。分辨率8位,转换时间100μs,输入电压范围为0-5V,增加某些外部电路后,输入模拟电压可为 5V。该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接在CPU数据总线。该芯片为单一+5V供电,时钟脉冲CLK由CPU提供或自身产生。利用CPU时钟脉冲时,将CPU的CLK分频接至ADC0804芯片的CLKIN端(管脚4)。
图3 ADC0804引脚图 电路对待测模拟电压信号进行采样,输入电压Uin(+)(0~51V)经过电阻R1、R2分压,由ADC0804(○6脚)输入,作为ADC0804的输入转换电压,电阻R1、R2的作用是使ADC0804输入电压在其允许工作电压范围内;ADC0804的时钟控制CLKIN、CLKR与电阻R3、电容器C1相连,构成时钟振荡电路,其振荡频率为1/(1.1RC);Vin(-)、AGND接地,作为ADC0804模/数转换时的参考点;电阻R4、R5和稳压二极管D1组成分压电路,连接至ADC0804的VREF端,作为其辅助参考电压; 为ADC0804芯片片选信号,低电平有效,此电路中只使用一片ADC0804,ADC0804始终处于工作状态,所以片选端应接地。(见图3) 3.3单片机控制电路 单片机控制系统具有控制能力强、体积小、速度快、成本低的特点,随着单片机应用技术的发展,目前企业较多的采用了微机控制技术。由单片机实现仪表的测量,不仅控制简单、精度高,还便于实现数据交换和智能化控制。由于数字电压表的程序较简单,数据存储量小,对单片机控制系统的要求并不是很高,本文采用了AT89C51作为控制芯片。 利用AT89C51单片机的P0口与ADC0804的8位数据(DB0-DB7)直接相接,因为P0口通常作为数据总线使用,所以用P0口作为ADC0804的数据输入接口。在访问外部存储器时,P2口作为8位地址总线,将P2.0与ADC0804芯片INTR控制端○5脚相连用来控制模/数转换是否结束,再通过单片机软件程序对数字信号程序进行数据处理。单片机AT89C51的P1口是准双向I/O口,带负载能力强可以驱动4个LSTTL门,将P1口输出的地址码作为四位数码管的显示地址控制线进行分时选通,作用是将采样转换电路输入的电压通过程序调整,输出显示代码传送给译码电路,再由译码显示电路直接驱动数码管显示测量结果。(见图4)
3.4显示电路 根据技术要求须将测量结果显示出来,考虑到显示电路如不用译码电路则电路会较复杂,为简化电路便于安装、调试,可采用译码驱动显示电路。 本电路选用74LS47作为译码驱动芯片,74LS47是将锁存、译码、驱动三种功能集于一身的“三合一”器件。AT89C51的P1口低4位直接与译码电路的BCD码输入端连接,输出的BCD码信号,通过译码器译码输出七段显示码,直接与数码管的a~g笔端相连。AT89C51的P1口高4位输出的地址码经三极管接数码管的公共端,作为四位数码管显示的地址控制线进行分时选通,采用的动态扫描显示方式。数码显示电路的作用是显示测量输入电压。 使用普通LED数码管时,工作电流一般选择在10mA/段左右,这样既保证亮度适中,又不会损坏器件,故使用时必须在数码管的每段中串接一适当阻值的限流电阻。(见图4)。 3.5系统硬件电路 结合以上各部分单元电路的功能分析,对照系统技术要求进行全面分析 ,得出系统硬件电路图,电路如图3所示。 待测电压输入信号Uin经电阻(R1、R2)分压,使其输入的电压在ADC0804芯片承受的最大工作电压(5.1V)范围内,经过模/数转换电路实现A/D转换,通过单片机控制电路进行程序数据处理,然后通过七段译码/驱动显示电路实现数码管动态扫描显示输入电压。 图4 系统电路原理图 系统功能: 1)从将测试端输入的0~51V电压,经电阻R1、R2分压,所以ADC0804输入电压Uin大约只有测试端输入电压(0~51V)的十分之一,经过AT89C51程序处理,最后将测量结果显示在数码管D4、D3、D2、D1上。 2)本电路中ADC0804的输入电压Uin是可变电阻器的模拟待测电压。 3)输出最大转换值为0FFH(255),即最大显示电压为51V。 4)若测试端输入电压为8V,则ADC0804的实际采样输入电压只有0.8V。 ○1经A/D转换后为28H。 ○214H经十进制调整为0040,则令寄存器(R4)=00,(R5)=40。 ○3再将此0040×2=0080,再使(R4)=00;(R5)=80。 ○4经译码器译码后在数码管上显示0 0 8 0。 ⑤将小数点设在D2上,并将其分别显示为: 0 0 8. 0 D4 D3 D2 D1 4.系统软件 4.1程序流程图 根据设计要求结合硬件电路,在输入模拟信号时采用电阻分压,最终的采样输入电压只有实际输入电压的十分之一,所以在编写程序中要编写一段数据调整程序,其中还应注意硬件显示电路采用了动态扫描显示,在动态扫描显示方式中,动态扫描的频率有一定的要求,频率太低,数码管LED将会出现闪烁现象,通常在数码管点亮时间间隔一般均取5ms左右为宜,这就要求在编写程序时,使其点亮并保持一定的时间,所以在程序编写时还要考虑到显示子程序。 总结以上所分析,程序流程图如图5所示。
图5 程序流程图 4.2系统程序 ORG 0000H ANL P1,#0F0H ;清除显示器 START:MOVX @R0,A ;令ADC0804 开始转换/WR=0 WAIT:JB P2.0,ADC ;检测ADC0804转换完成否? ACALL DISP ;调用显示子程序 JMP WAIT ADC: MOVX A,@R0 ;将转换好的数据读入 ACALL L1 ;调用十进制转换子程序 MOV R1,#05H ;显示延时 DISP1: ACALL DISP ;调用显示子程序 DJNZ R1,DISP1 JMP START SJZZH: MOV B,#100 ;置除数100 DIV AB ;除以100 MOV R4,A ;百位数(商)→20H MOV A,B ;余数→A MOV B,#10 ;置除数10 DIV AB ;除以10,十位数→A、个位数→B SWAP A ;十位数→A7~4,A3~0=0 ADD A,B ;个位数→A3~0,十位数→A7~4 ,组成压缩BCD码 MOV 21H,A ;存十位、个位BCD码 DISP: MOV A,R5 ANL A,#0FH ;取低4位,即D1的值 ORL A,#10H ;令D1使能+D1值 MOV P1,A ;显示D1 ACALL DELAY MOV A,R5 ANL A,#0F0H ;取高4位,即D2的值 SWAP A ;高低4位交换 ORL A,#20H ;令D2使能+D2值 MOV P1,A ;显示D2 ACALL DELAY MOV A,R4 ANL A,#0FH ;取低4位,即D3的值 ORL A,#40H ;令D1使能+D3值 MOV P1,A ;显示D3 ACALL DELAY
投诉建议

提交

查看更多评论
其他资讯

查看更多

西门子-WinCC flexible 2008系统手册

用单片机进行数字信号处理的温度计