但是这种设计方法灵活性差,系统功能固定,难以更新扩展,不能满足日益发展的电子工业要求。而应用微处理器(单片机)为核心单元,其灵活性高、系统功能扩展简单,性能稳定可靠。本课题目的就是以单片机为基础设计出一种结构简单、工作可靠、灵活性好的直流数字电压表。要求数字电压表精度为±0.05V ,测量范围为 0~5V 。 2.2 系统概述本课题所设计的数字电压表主要包括两部分:硬件电路及软件程序。而硬件电路采用 ATMEL 公司的 AT89C51 作为主处理器,系统主要由信号采集、A/D 转换、数据处理输出、驱动显示等几个功能模块组成。各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用 C语言编程,利用 Keil 软件对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。系统框图(图 2.1 )如下: 图 2.1 硬件原理框图被测直流电压由 A/D 转换单元采集后被量化,再由单片机对 A/D 转换的结果进行标度变换,得到被测电压的数值,通过单片机对数次转换结果求平均值、并通过 SOI 串行数据接口把所求平均值输出给显示驱动单元,由该单元完成译码, 并驱动数码管显示。 2.2.1 硬件电路图及工作过程简介电压表的数字化是将连续模拟的电压量经 A/D 转化后变为不连续的离散的数字量并加以显示[7]。在设计过程中采用分模块设计,按照图 2.1 把电路分 A/D 转换、数据处理输出、驱动、显示四个单元,分别设计。 A/D 转换器选用的是八位模/数转换器 ADC0809 。其次,计算机中的数字都是十六进制数,而我们习惯于十进制数的读写,因此,在软件设计中则要把十六进制数转换成十进制数。在显示的时候也是如此。本装置的输出用四位 LED 显示, 因此在软件设计中还要解决数字输出与 LED 的接口问题。硬件则需要将输出线接被测电压 A/D 转换单元数据处理单元显示驱动单元显示单元