您当前的位置:五五电子网电子知识电子知识资料仪器仪表读写器单片机实现数字电压表的软硬件设计 正文
单片机实现数字电压表的软硬件设计

单片机实现数字电压表的软硬件设计

点击数:7717 次   录入时间:03-04 11:36:41   整理:http://www.55dianzi.com   仪器仪表读写器

  实现数字电压表的电路,一般所用的元件较多,调节起来也不太方便。本文介绍用数字电位器和单片机相联来实现,比一般A/D一数控一D/A 的方法要大大简化和方便,可使调节工作实现自动化,不但元件少,而且成本低。

  1 硬件设计

  整个硬件电路图如1所示。实现本数字电压表的主要元件之一是单片机89C51.89C51是ATMEL公司推出的高性能CMOS 8位微控制器,指令和管脚与MCS一51产品兼容,片内带有4 KB闪烁可编程存储器。所以不须在外围电路设置程序存储器_1].

硬件电路原理图

图1 硬件电路原理图

  实现本数字电压表的另一主要元件是数字电位器X9313.X9313是一个包含31个电阻单元的电阻阵,在每个单元之间和两个端点都有可以被滑动单元访问的抽头点,滑动单元的位置可以被储存在一个非易失性存储器中。X9313有3个部分:输入控制、计数器和译码部分;非易失性存储器;以及电阻阵列。CS,U/D 和INC的3个输入端控制滑动端沿着电阻阵列在 "与 之间移动。当CS,INC都保持为低时,若U/D 为高,滑动端将上升;若U/D 为低,滑动端下降。可以由单片机控制U/D 的状态,从而控制X9313移动滑动端上升或下降达到合适的微调为止。当CS转变为高,而INC也是高时,无论U/D 为何值,计数器的值都将被储存在非易失性存储器中 ].如果将X9313的 接+ 5V,V 接地,则X9313一个单元代表的电压数为10/31(V),即(OAH/1FH )c .

  被测电压 与X9313的抽头电压 w用电压比较器339进行比较。339的逻辑功能如下:若输入端A 的值小于输入端B的值,则输出端c为0;若输入端A 的值大于输入端B的值,则输出端C为1.在此,将339的输入端A 接被测电压 x,输入端B接X9313的抽头电压w ,其比较结果c通过端口P1.1送到单片机,单片机通过判断,再用P1.3,P1.2,P1.0分别控制X9313的U/D,INC,CS端子,指挥X9313动作,即是抽头上滑,下滑还是储存数据。经多次循环比较,当调整的抽头电压 w等于被测电压 x时,单片机将 u,的数值变为BCD码送往显示驱动器CD4511,显示电压值。本设计分别用P3.0~P3.3控制显示第一位数的4511的,B,C,D,用P1.4~P1.3控制显示第二位数的4511的 ,B,C,D.

  2 软件设计

  主程序框图如图2所示。在状态初始化部分,首先保证Vw一0,即抽头要滑到最下端。操作过程如下:单片机控制X9313的CS,U/D,INC,使向下滑动,每滑动一个单元,储存一次抽头位置,这样,一直下滑31次,以此保证Vw=0.初始化完成后,单片机控制X9313的抽头往上滑动,每上滑一个单元,储存一次抽头位置,作为下次滑动的基础,然后将Vw与Vx比较,单片机检查比较结果P1.1的情况决定 w是否等于 .如不等,则控制抽头再上移,同时储存抽头位置,直至Vw-V .用寄存器R.来统计抽头从零上移的单元个数。

主程序流程图

图2 主程序流程图

具体算法及显示流程图

图3 具体算法及显示流程图

  用单片机对数字电位器编程控制实现数字电压表,不仅所用元器件数量少,而且调节起来非常方便,整个系统因为使用逻辑控制,性能也更稳定。


本文关键字:单片机  电压表  仪器仪表读写器电子知识资料 - 仪器仪表读写器