1、 本科毕业设计论文 题目 : 基于单片机的数字电压表设计 院、 系: 光电工程学院 学科专业: 光电信息工程 学 生: 学 号: 040110107 指导教师: 2008 年 6 月I 基于单片机的数字电压表设计 摘 要 在日常维修、教学和科研中,电压表是不可缺少的。 本课题目的就是以单片机为基础设计出一种结构简单、工作可靠、灵活性好的数字电压表。 本文首先介绍了数字电压表的发展现状及课题的目的和意义。然后,对 基于单片机的数字电压表的硬件系统、软件系统的设计原理及具体实现方案作以详细介绍,其中,在硬件部分,较为详细的讨论了硬件的选择、设计原理、使用方法和功能,同时,对各部分接口电路作以介绍;
2、在软件部分,介绍了软件所使用的编程语言和编程思路。最后,对电路调试、印刷 PCB 板的制作及系统的抗干扰设计作了进一步分析和总结。 本文设计的数字电压表,其硬件电路所用元件较少、成本低、调节简单;软件采用 C语言编程,其灵活性高,可读性强。经过理论研究、原理设计和整机调试,实验结果表明,该方案可行。 关键词 : 单片机; 电压表; A/D 转换器;串行总线 II Design of Digital Voltage Meter Based on MCU Abstract In routine maintenance, teaching and research, voltage meter is
3、 indispensable. A direct current digital voltage meter has been designed, which is based on MCU, and has a simple structure, reliable, flexible. Firstly, this paper introduced the development of the base on MCU digital voltage meter and the purpose and significance of topic. Then in details this pap
4、er described the design principle of hardware and software systems. And in details the hardware part present a discussion in hardware selection, design principles, instructions and the function, further more, some of the interface circuit have been introduced. The software part introduced the progra
5、mming language and programming ideas used in codes. Finally, the circuit debugging, the printed plate of PCB production and the anti-jamming system were designed to further analysis and synthesis. The digital voltage meter designed here, have less components in the hardware part, lower cost and easi
6、er testing; software used C programming language which is high flexibility and strong readability. After theoretical research, principle design and debugging, the experimental results suppose it is feasible of choosing this program. Keywords: Micro Controller Unit; voltage meter; A/D Converters; Ser
7、ies Bus i 目录 1.1.2 数字电压表的发展历程 ( 1) 1.1.3 国内外的发展现状与趋势 ( 1) 2.2.1 硬件电路图及工作过程简介 ( 4) 2.2.2 软件程序设计简介 ( 6) 3.2.1 A/D 转换芯片的选择 ( 7) 3.2.2 ADC0809 转换原理介绍 ( 7) 3.2.3 ADC0809 芯片介绍 ( 8) 3.2.4 ADC0809 与单片机的接口方法 ( 9) 3.3.1 单片机介绍 ( 10) 3.3.2 采用 AT89C51 的原因 ( 10) TOC O “1-3“ H Z U 中文摘要 ( ) 英文摘要 ( ) 1 绪论 ( 1) 1.1 课
8、题概述 ( 1) 1.2 课题的意义和目的 ( 3) 1.3 本文所作的主要工作 ( 3) 2 基于单片机数字电压表的总体设计 ( 4) 2.1 设计指标 ( 4) 2.2 系统概述 ( 4) 2.3 小结 ( 6) 3 基于单片机数字电压表的硬件设计 ( 7) 3.1 器件的选择 ( 7) 3.2 A/D 转换电路 ( 7) 3.3 单片机介绍 ( 10) ii 3.3.3 AT89C51 芯片 主要性能参数 ( 10) 3.3.4 功能介绍 ( 10) 3.3.5 芯片管脚介绍及分配 ( 11) 3.4.1 ZLG7289 芯片介绍 ( 13) 3.4.2 ZLG7289 的主要特征 (
9、13) 3.4.3 ZLG7289 引脚功能说明 ( 14) 3.4.4 ZLG7289 与单片机及数码管的连接 ( 15) 3.4.5 时 序图中的各项延迟时间 ( 16) 3.4.6 控制指令 ( 16) 3.5.1 SPI 总线简介 ( 17) 3.5.2 SPI 总线的基本结构 ( 17) 3.5.3 数据的传输 ( 18) 4.1.1 C51 简 介 ( 20) 4.1.2 程序流程图 ( 21) 4.1.3 数据采集模块的设计 ( 23) 4.1.4 数据处理模块的设计 ( 23) 5.1.1 供电系统抗干扰措施 ( 23) 3.4 显示驱动单元设计 ( 13) 3.5 SPI 接
10、口技术 ( 17) 3.6 电压显示电路 ( 19) 3.7 小结 ( 19) 4 基于单片机数字电压表的软件设计 ( 20) 4.1 软件系统整体设计 ( 20) 4.2 C51 程序 ( 23) 4.3 小结 ( 23) 5 基于单片机数字电压表的抗干扰设计 ( 23) 5.1 硬件系统的可靠性与抗干扰设计 ( 23) iii 5.1.2 接地 ( 23) 5.1.3 传输通道的抗干 扰措施 ( 24) 6.3.1 调试步骤 ( 28) 6.3.2 可能出现的问题解答 ( 28) 7.1 主要结论 ( 30) 7.2 进一步工作及展望 ( 31) 致谢 ( 32) 参考文献 ( 33) 附
11、录 ( 34) 附录 A ( 34) 附录 B ( 39) 5.2 软件系统的可靠性与抗干扰设计 ( 24) 5.3 小结 ( 24) 6 电路制作及调试 ( 26) 6.1 PCB 板的制作 ( 26) 6.2 系统外观 ( 27) 6.3 电路调试 ( 28) 6.4 系统调试及结果分析 ( 29) 6.4 小结 ( 29) 7 结论 ( 30) 1 绪论 1 1 绪论 1.1 课题概述 1.1.2 数字电压表的发展历程 数字电压表简称 DVM,它是采用数字化测量技术设计的电压表。从性能来看:数字电压表的发展从一九五二年美国 NLS 公司由四位电子管数字电压表精度千分之一到现在已经出现 8
12、 位数字电压表。参数可测量直流电压、交流电压、电流、阻抗等。测量自动化程度不断提高,可以和计算机配合显示、计算结果、然后打印出来。目前世界上美国 FLUKE 公司,在直流和低频交流电量的校准领域居国际先进水平。例如该公司生产的“ 4700A”多功能校准器和“ 8505”危机数字多用电压表,可用 8 位显示,直流精度可达到 5/10-6,读书分辨力为 0.1 V。带有 A/D 变换模式、数据输出接口形式 IEEE-488。具有比率测量软件校准和有交流电阻、电流选件。还具有高精度电压校准器“ 5400A”、“ 5200A”、“ 5450A”等数字仪表,都是作为一级计量站和国家级计量站使用的标准仪表
13、。还有英国的“ 7055”数字电压表采用脉冲调制技术。日本横河公司的“ 2501”型采 用三次采样等等在不断的蓬勃发展 1。 从发展过程来看:数字电压表自 1952 年问世以来,已有 50 年多年的发展史,大致经历了五代产品。第一代产品是 20 世纪 50 年代问世的电子管数字电压表,第二代产品属于 20 世纪 60 年代出现的晶体管数字电压表,第三带产品为 20 世纪 70 年代研制的中、小规模集成电路的数字电压表。今年来,国内外相继推出有大规模集成电路( LSI)或超大规模集成电路( VLSI)构成的数字电压表、智能数字电压表,分别属于第四代、第五代产品。它们不仅开创了电子测量的先河,更以
14、高准确度、高可靠性、高分辨力、高性 价比等优良特性而受到人民的青睐 2。 1.1.3 国内外的发展现状与趋势 数字电压表作为电压表的一个分支,在近五十年间得到巨大发展,构成数字电压表的核心器件已从早期的中小规模电路跨入到 大规模 ASIC(专用集成电路 )阶段。数字电压表涉及的范围也从传统的测量扩展至自动控制、传感、通信等领域,展示了广阔的应用前景。 传统电压表的设计思路主要分为:用电流计和电阻构成的电压表;用中小规模集成电路构成的电压表;用大规模 ASIC(专用集成电路 )构成的电压表。这几中电压表设计方式各有优势和缺点,分别适用于几种特定的应用环境 ,同时,也为很多新颖的电压表的设计所借鉴
15、和依据 2。 近入 21 世纪,随着信息技术一日千里的发展,电压表也必经历从单一测量向数据处理、自动控制等多功能过度的这一历程,特别是计算机技术的发展必将西安工业大学学士学位论文 2 出现智能化技术。因此,把电压表和计算机技术相结合的智能化电压表就将成为21 世纪的新课题。 目前,数字化仪器与微处理器取得令人瞩目的进展,就其技术背景而言,一个内藏微处理器的仪表意味着计算机技术向仪器仪表的移植,它所具有的软件功能使仪器 呈现出有某种延伸,强化的作用。这相对于过去传统的、纯硬件的仪器来说是一种新的突破,其发 展潜力十分巨大,这已为 70 年代以来仪表发展的历史所证实。概括起来,具有微处理器的仪表具
16、有以下特点:测量过程的软件控制对测量数据进行存储及运算的数据处理功能是仪表最突出的特点;在仪器的测量过程中综合了软件控制及数据处理功能,使一机多用或仪器的多功能化易于实现,成为这类仪器的又一特点;以其软件为主体的智能仪器不仅在使用方便、功能多样化等方面呈现很大的灵活性 3。 下面从 5个方面阐述新型数字仪表的发展趋向。 (1).广泛采用新技术,不断开发新产品 随着科学技术的发展,新技术的广泛应用,新器件的不断出现。 首先是 A/D转换器: 20 世纪 90 年代世界各国相继研发了新的 A/D 转换技术。例如,四斜率A/D 转换技术(美国)、余数再循环技术(美国)、自动校准技术(英国)、固态真有
17、效值转换技术(英国)、约瑟夫森效应基准源( 2 个纳米稳定度)、智能化专用芯片( 80C51 系列,荷兰)等,这些新技术使数字电压表向高准确度、高可靠性及智能化、低成本方向发展。另外,集成电路的发展使电压表只在外围配置少量元器件,即可构成完整的智能仪表,可以完成储存、计算、比较、控制等多项功能 4。 (2).广泛采用新工艺 新一代数字仪表正朝着标准模块 化的方向发展。预计在不久的将来,更多的数字仪表将由标准化、通用化、系列化的模块所构成,给电路设计、安装调试和维修带来极大方便。 (3).多从显示仪表 为彻底解决数字仪表不便于观察连续变化量的技术难题;“数字 /模拟条图”双显示仪表已成为国际流行
18、款式,它兼有数字仪表准确度高、模拟式仪表便于观察被测量的变化过程及变化趋势这两大优点 。 (4).提高安全性 仪器仪表在设计和使用中的安全性,对生产厂家和广大用户都至关重要。一方面厂家必须为仪表设计安全保护电路,并使之符合国家标准;另一方面用户必须安全操作,时刻注意仪表上 的各种安全警告指示。 (5).操作简单化 集成电路的发展使电压表只在外围配置少量元件,即可构成完整的智能仪表,可以完成储存、计算、比较、控制等多项功能。这使的按键变少,操作简单。但是数字电压表并不能完全取代指针式的电压表,在反映电压的连续变化和变化趋势方面不如指针表的直观。为克服这种缺憾, 20 世纪 90 年代初,一种“数
19、字/光柱”的双重显示仪表已经出现,并成功地应用于生产实践中 5。 西安工业大学学士学位论文 3 综上所述,十几年来智能仪器虽然有了很大的发展,但总的看来,人们还是较习惯于从硬件的角度做工作,这是由于设计者的(硬件)技术背景 , LSI 器件不断迅速更新的冲击以及在现阶段仪器硬件更新的数量还很大等因素所造成的。这种趋势虽然仍会继续下去,但从智能仪表的内涵,从软件的角度上看,软件的作用还远未发挥出来,这里有许多的领域等待着去开发。智能仪表最终必然会与人工智能联系起来开创出全新的仪器。从这个观点看,目前的智能仪器尚处于“幼年时期”。所以,就仪表的发展看来电压表会朝着具有微控制处理单元的智能仪表方向发
20、展。 1.2 课题的意义和目的 数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电 量的数字化仪表(如:温度计,湿度计,酸度计,重量,厚度仪等),几乎覆盖了电子电工测量,工业测量,自动化仪表等各个领域。除此之外,数字电压还有着传统指针电压表无可比拟的优点:读数直观、准确,显示范围宽、分辨力高,转入阻抗高,功耗小、抗干扰强等 3。因此 对数字电压表作全面深入的了解是很有必要的。但是 传统的数字电压表设计通常以大规模 ASIC(专用集成电路 )为核心器件,并辅以少量中规模集成电路及显示器件构成,可是这种设计方法灵活性差,系统功能固定,难以
21、更新扩展,不能满足日益发展的电子工业要求 6。而应用微处理 器(单片机)为核心单元的数字电压表,其灵活性高、系统功能扩展简单,性能稳定可靠。在这些背景下,设计一种以单片机为基础、结构简单、工作可靠、灵活性好的数字电压表是很有意义的。 1.3 本文所作的主要工作 1对系统总体框架进行分析,根据系统所要实现的目标,设计基于单片机的数字电压表的硬件系统,以模块设计法为依据进行系统各个部分的具体设计。 2设计基于单片机的数字控制系统,发挥单片机的处理功能强大,运算速度快的特点,对被测电压进行实时检测和显示。 3制作印刷电路板,使硬件电路的设计更加清晰,同时使系统的抗干扰 能力进一不加强。 4针对系统的
22、总体框架和硬件设计的特点,设计相应的软件系统,更合理的去完成系统测电压的目的。 5对系统进行整机调试,使得基于单片机的数字电压表的实验结果尽可能的满足设计指标。 2 基于单片机数字电压表的总体设计 4 2 基于单片机数字电压表的总体设计 2.1 设计指标 在日常维修、教学和科研中,电压表是不可缺少的,传统的数字电压表设计通常以大规模 ASIC(专用集成电路 )为核心器件,并辅以少量中规模集成电路及显示器件构成,但是这种设计方法灵活性差,系统功能固定,难以更新扩展,不能满足日益发展的电子工业要求。而应用微处理器 (单片机)为核心单元,其灵活性高、系统功能扩展简单,性能稳定可靠 。 本课题目的就是
23、以单片机为基础设计出一种结构简单、工作可靠、灵活性好的直流数字电压表。要求 数字电压表 精度 为 0.05V,测量范围为 0 5V。 2.2 系统概述 本课题所设计的数字电压表主要包括两部分: 硬件电路及软件程序。而硬件电路 采用 ATMEL 公司的 AT89C51 作为主处理器,系统主要由信号采集、 A/D 转换、数据处理输出、驱动显示等几个功能模块组成。 各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用 C语言编程,利用 Keil 软件 对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。 系统框图(图 2.1)如下: 图 2.1 硬件原理框图 被测直流电压由 A
24、/D 转换单元采集后被量化,再由单片机对 A/D 转换的结果进行标度变换,得到被测电压的数值,通过单片机对数次转换结果求平均值、并通过 SOI 串行数据接口把所求平均值输出给显示驱动单元,由该单元完成译码,并驱动数码管显示。2.2.1 硬件电路图及工作过程简介 电压表的数字化是将连续模拟的电压量经 A/D 转化后变为不连续的离散的数字量并加以显示 7。在设计 过程中采用分模块设计,按照图 2.1 把电路分 A/D转换、数据处理输出、驱动、显示四个单元,分别设计。 A/D 转换器选用的是八位模 /数转换器 ADC0809。其次,计算机中的数字都是十六进制数,而我们习惯于十进制数的读写,因此,在软件设计中则要把十六进制数转换成十进制数。在显示的时候也是如此。本装置的输出用四位 LED 显示,因此在软件设计中还要解决数字输出与 LED 的接口问题。硬件则需要将输出线接被测电压 A/D 转换 单元 数据处 理单元 显示驱 动单元 显示 单元