毕业设计(论文)-基于AT89S51单片机的智能数字万用表设计.doc

上传人:李主任 文档编号:3282768 上传时间:2019-08-07 格式:DOC 页数:34 大小:846.52KB
返回 下载 相关 举报
毕业设计(论文)-基于AT89S51单片机的智能数字万用表设计.doc_第1页
第1页 / 共34页
毕业设计(论文)-基于AT89S51单片机的智能数字万用表设计.doc_第2页
第2页 / 共34页
毕业设计(论文)-基于AT89S51单片机的智能数字万用表设计.doc_第3页
第3页 / 共34页
毕业设计(论文)-基于AT89S51单片机的智能数字万用表设计.doc_第4页
第4页 / 共34页
毕业设计(论文)-基于AT89S51单片机的智能数字万用表设计.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《毕业设计(论文)-基于AT89S51单片机的智能数字万用表设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于AT89S51单片机的智能数字万用表设计.doc(34页珍藏版)》请在三一文库上搜索。

1、湖北经济学院本科毕业(设计)论文 1 存档编号: 毕业论文(设计)毕业论文(设计) 智能数字万用表设计智能数字万用表设计 专 业: 电子信息工程 院 系: 电子工程系 年 级: 电信 Q0542 学 号: 姓 名: 指导教师: 湖北经济学院教务处 制 届普通本科毕业论文(设计) 湖北经济学院本科毕业(设计)论文 2 目 录 摘要摘要 3 ABSTRACTABSTRACT.3 文献综述文献综述.3 第第 1 1 章章 前前 言言6 1.1 数字万用表简介6 1.2 单片机发展与应用7 第第 2 2 章章 智能型数字式多用表设计原理智能型数字式多用表设计原理7 2.1 系统设计方框图8 2.2 系

2、统设计方案8 第第 3 3 章章 智能型数字式多用表硬件设计智能型数字式多用表硬件设计8 3.1 A/D 转换电路.8 3.2 直流电压测量电路10 3.3 交流/直流转换电路12 3.4 电流/电压转换电路13 3.5 电阻/电压转换电路14 3.6 单片机控制与显示电路14 3.7 自动量程转换模块.15 第第 4 4 章章 智能型数字式多用表软件设计智能型数字式多用表软件设计16 4.1 程序流程图16 4.2 程序源代码17 第第 5 5 章智能型数字式多用表系统测试章智能型数字式多用表系统测试17 5.1 直流电压测试17 5.2 交流电压测试17 5.3 直流电流测试18 5.4

3、电阻测试19 结束语结束语.19 致谢词致谢词.23 参考文献参考文献.23 附附 录录.25 附录 A:整机硬件电路图.25 附录 B:程序源代码.26 湖北经济学院本科毕业(设计)论文 3 摘要摘要 本文介绍一种基于 AT89S51 单片机的智能型数字式多用表,该系统采用 MC144333 1/2 位 A/D 转换器和 LED 数码显示,可以测量直流电压、交流电压、 直流电流和电阻,并且具有键盘选择测量对象、量程和自动量程转换功能。 关键词:关键词:A/D 转换器,单片机,转换电路,模拟开关 AbstractAbstract This paper presents a AT89S51 MC

4、U-based intelligent digital multimeter, the system uses the MC14433 - 3 1/2 bit A/D converter and LED digital display, can measure DC voltage, AC voltage, DC current and resistance, and has a keyboard to choose measurement object, measurement range and automatic range conversion functions. KeyKey Wo

5、rdsWords: A/D converter,SCM,converting circuit,analog switch 文献综述文献综述 我选择的课题是智能数字万用表,为了实现这个系统的功能,我查阅了大量的文 献资料。这些资料主要分为三类:一类是芯片说明书,一类是数字万用表的设计分 析,一类是数字万用表的扩展功能。 1 1数字万用表(数字万用表(DMMDMM)背景简介)背景简介 湖北经济学院本科毕业(设计)论文 4 自从 1977 年世界上首台手持式数字万用表问世以来,研究者在万用表的功能和 设计上不断创新,新品迭出。 数字万用表是电测技术中的一种常用仪表,它把电子 技术、计算技术、自动化技

6、术的成果和电测技术结合在一起,以其操作方便、读数 准确、体积小巧、携带方便等优点成为现代测量中不可缺少的仪器,它可以测量直 流电流、交流电流、直流电压、交流电压、电阻、电容、二极管的正向压降等,正 在许多领域取代模拟式(即指针式)万用表。具有使用方便、灵敏度高、测量速度快、 量程宽、过载能力强、输人阻抗高、指示值具有客观性(不存在视觉误差)、扩展能 力强等优点。 2.2.数字万用表设计分析数字万用表设计分析 本设计可以分为直流电压测量电路;交流/直流转换电路;电流/电压转换电路; 电阻/电压转换电路;功能控制和数据显示电路这五个的主要电路模块。在设计各个 模块时,文献中有很多不同的方法,我仔细

7、研究了资料中述说的方法,并自己加以 改进,设计出可行方案,通过在实践中检验,在老师的指导下加以改进以达到设计 任务书中的要求。 在设计直流电压测量电路时,我利用华成英、童诗白 主编, 模拟电子技术基 础 (第四版)M.高等教育出版社,2006 年第 325 页所介绍的反相比例运算电路, 加上自己设计的四选一模拟开关,组成了一个直流电压测量电路。但该电路在实践 中存在问题,不能实现预期的结果。在老师的指导下,我将该电路做了适当的修改, 改为由电阻、模拟开关和运放组成放大倍数可调的比例电路,从而达到了任务书的 要求。 在设计 A/D 转换器时,余孟尝 主编, 数字电子技术基础简明教程 (第二版)

8、北京:高等教育出版社 1999(2006 重印)第 400 页至第 410 页讲述了三种 A/D 转 换器,但该书只是以基本逻辑电路讲述了 A/D 转换器的基本工作原理,及其转换过 程,并未介绍如何利用具体的芯片设计 A/D 转换器。为此,我又查阅了黄海萍、陈 用昌 编 微机原理与接口技术实验指导M.北京:国防工业出版社,2004 年, 杨立、邓振杰、荆淑霞 微型计算机原理与接口技术M.中国铁道出版社,2006 年及 http:/ A/D 转换器的 湖北经济学院本科毕业(设计)论文 5 性能指标和价格选择了 ICL7106 和 MC14433 这两个 A/D 转换器作为候选芯片。比较 这两个芯

9、片,ICL7106 是 CMOS 大规模集成电路芯片,它将模拟电路与数字电路集成 在一个有 40 个功能端的电路内,所以只需外接少量元件就可组成一个 3 1/2 位数字 电压表。但是 ICL7106 是以静态方式驱动 LCD 转换器,无 BCD 码输出端,因此不能 直接获得降量程信号。而 MC14433 采用动态扫描显示,有多路调制的 BCD 码输出端 和超量程信号输出端,便于与单片机相连构成智能控制系统。我最终确定采用 MC14433 设计 A/D 转换器,并成功的在实践中完成了任务书的要求。 由于无论是指针式万用表还是普通的真有效值或平均值响应的数字万用表,其 交流电压档的频率特性都较差,

10、一般只能测量几十赫兹到几千赫兹的低频电压。但 设计任务书在频率特性方面要求并不高,为简单起见,在我的系统中,并未采取特 别的提高频率特性的措施。但在查阅万用表频率特性改善方法王翠珍 唐金元, 海军航空工程学院青岛分院 山东青岛 一文中,我发现对于指针式万用表造成频率 特性较差的原因主要是万用表的分压电阻采用精密电阻器,其本身的分布电容较大, 在对高频电压信号进行测量时,由于分布电容的容抗大为减少使得测量值明显低于 实际电压值,而对于数字万用表除上述原因以外,另一主要原因是受平均值响应, 转换器本身频率特性的限制。但此缺陷可通过采用宽频带运算放大器加以改善。因 此,消除分压电阻器分布电容的影响就

11、可以提高万用表工作频率的上限,大大改善 其频率特性。虽然在我的设计中,没有用到这一方法,但这个发现无疑仍是具有很 高实用价值的。 3万用表的功能扩展:万用表的功能扩展: 随着科技的发展,更多的创新将应用在万用表上,在查阅这些资料时,我大开 眼界。 数字万用表增加测温功能辽宁 薛福连 介绍了一种将一只温度传感器 LM35D,与一块 976130 型数宇万用表连接的方法,使数字万用表即成为一台精密 的数显式温度测量仪,测量温度范围为 0-100 摄氏度,温度误差与标准温度计相比不 大于士 0.5 摄氏度。 宁夏电力2008 年第 1 期数字万用表的扩展应 , 政.马 龙 (宁夏银南供 湖北经济学院

12、本科毕业(设计)论文 6 电局,吴忠市 751100) 介绍了利用数字万用表进行二次交流电压相序的测量和音频 通道电压电平的测量。 语音数字万用表的单片机实现 吴 宁 (安徽机械工业学校, 安徽 淮南 232052)介绍了利用数字万用表里的单片机,设计自动语音播放单元,提高仪表的智 能化的简单方法。 为数字万用表增加磁悬挂功能湖南 易永丰介绍的增加磁悬挂功能也颇为新 奇易用。 4小结小结 由于条件有限,我的毕业设计里并未将数字智能万用表做的很复杂,在认真研 究整理手头的文献,并在实验室进行实践操作后,我设计出了一个满足设计任务书 要求的数字智能万用表。该系统采用 MC144333 1/2 位

13、A/D 转换器和 LED 数码显 示,以 A/D 转换器(MC14433)为核心,设计一个多档的直流电压测量电路,再在此基 础上对电路进行扩展,使其能多量程的测量交流电压、直流电流和电阻的测量电路。 然后通过单片机(AT89S51)编程对各个主要模块的进行智能控制和数据处理,实现 对直流电压、交流电压、直流电流和电阻测量对象切换;具有键盘选择测量对象、 量程和自动量程转换功能手动和自动量程转换等功能,并将测量数据转换为人们日常 习惯的十进制数字形式显示在 LED 显示器上。 第第 1 1 章章 前前 言言 1.11.1 数字万用表简介数字万用表简介 数字万用表(DMM)亦称数字多用表,是目前在

14、电子检测及维修工作中最常用、 最得力的一种工具类数字仪表。它采用的数字化测量技术,通过对连续的模拟量 (直流输入电压)的采样将其转换成不连续、离散的数字量,并以十进制数字形式 显示出来。由于内部采用了运放电路,内阻可以做得很大,往往在 1M 欧或更大(即可 以得到更高的灵敏度)。这使得对被测电路的影响可以更小,测量精度较高。 传统的指针式万用表功能单一、精度低,已经不能满足数字化时代的需求,而 湖北经济学院本科毕业(设计)论文 7 采用单片 A/D 转换器构成的数字万用表,具有读数方便、精度高,测试功能强、集 成度高、微功耗、抗干扰能力强等特点,另外带有单片机的智能型数字万用表更是 具有自动校

15、准,自动测量,自动数据处理和实时通讯等多种功能。 目前,数字万用表已被广泛用于电子及电工测量、工业自动化仪表、自动测试 系统等智能化测量领域,示出强大的生命力。与此同时,由 DMM 扩展而成的各种通 用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。 1.21.2 单片机发展与应用单片机发展与应用 早期的单片机都是 8 位或 4 位的。其中最成功的是 INTEL 的 8031,因为简单可 靠而性能不错获得了很大的好评。此后在 8031 上发展出了 MCS51 系列 单片机系统。 基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高, 开始出现了 16 位单片机,

16、但因为性价比不理想并未得到很广泛的 应用。90 年代后 随着消费电子产品大发展,单片机技术得到了巨大的提高。随着 INTEL i960 系列特 别是后来的 ARM 系列的广泛应用,32 位单片机迅速取代 16 位单片机的高端地位, 并且进入主流市场。而传统的 8 位单片机的性能也得到了飞速提高,处理能力比起 80 年代提高了数百倍。 单片机比专用处理器更适合应用于嵌入式系统, 因此它得到了最多的应用。现 代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、 计算器、 家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有单片机。事 实上单片机是世界上数量最多的计算机。单片机

17、是嵌入式系统的独立发展之路,向 MCU 阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用 单片机的发展自然形成了 SoC 化趋势。随着微电子技术、IC 设计、EDA 工具的发展, 基于 SoC 的单片机应用系统设计会有较大的发展。 湖北经济学院本科毕业(设计)论文 8 第第 2 2 章章 智能型数字式多用表设计原理智能型数字式多用表设计原理 2.12.1 系统设计方框图系统设计方框图 系统测量时,单片机与控制电路控制输入电路进行功能转换,将输入信号转换 为符合 A/D 转换器的输入信号,然后 A/D 转换器将其输出数据传送到单片机,单片 机对数据进行智能处理,最后显示在 L

18、ED 显示器上。 图 2.1 系统设计方框图 2.22.2 系统设计方案系统设计方案 首先以 A/D 转换器(MC14433)为核心,设计一个多档的直流电压测量电路,再在 此基础上对电路进行扩展,使其能多量程的测量交流电压、直流电流和电阻的测量电 路。然后通过单片机(AT89S51)编程对各个主要模块的进行智能控制和数据处理, 实现对直流电压、交流电压、直流电流和电阻测量对象切换;手动和自动量程转换 等功能,并将测量数据转换为人们日常习惯的十进制数字形式显示在 LED 显示器上。 所以本设计可以分为直流电压测量电路;交流/直流转换电路;电流/电压转换 电路;电阻/电压转换电路;功能控制和数据显

19、示电路这五个的主要电路模块。 第第 3 3 章章 智能型数字式多用表硬件设计智能型数字式多用表硬件设计 3.13.1 A/DA/D 转换电路转换电路 A/D 转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。 所以我依据设计性能指标要求,并综合 A/D 转换器的性能指标和价格选择了 ICL7106 和 MC14433 这两个 A/D 转换器作为候选芯片。ICL7106 的输入阻抗为 1010,转换速率为 0.1-15 次/s,转换准确度为0.05%1 个字;MC14433 的输入 湖北经济学院本科毕业(设计)论文 9 阻抗为 109,转换速率为 3-10 次/s,转换准确度为0.

20、05%1 个字,因此这两块 芯片的性能指标大大超过设计要求的性能指标。 方案一方案一:采用 ICL7106。ICL7106 是 CMOS 大规模集成电路芯片,它将模拟电路 与数字电路集成在一个有 40 个功能端的电路内,所以只需外接少量元件就可组成一 个 3 1/2 位数字电压表。但是 ICL7106 是以静态方式驱动 LCD 转换器,无 BCD 码输 出端,因此不能直接获得降量程信号。 方案二方案二:采用 MC14433。MC14433 是一个低功耗 3 1/2 位双积分式 A/D 转换器, 与 ICL7106 相比,MC14433 采用动态扫描显示,有多路调制的 BCD 码输出端和超量 程

21、信号输出端,便于与单片机相连构成智能控制系统。 鉴于此,采用方案二。 MC14433 是美国摩托罗拉(Motorola)公司生产的 COMS 单片 3 1/2 位 A/D 转换 器,也是目前国内外数字式多用表中普遍采用的一种芯片。 MC14433 的主要特点: (1) 工作电压为4.5-8V。一般选典型值5V,工作电流小于 2mA,功耗 为 8mW。 (2) 输入阻抗为 109,转换速率为 3-10 次/s,转换准确度为0.05%1 个 字。 (3) 采用 CMOS 工艺制成的大规模集成电路(LSI)。 (4) 芯片内部设有时钟振荡器,使用时仅需外接一只振荡电阻。亦可采用外 部时钟输入方式,时

22、钟频率范围大约为 48kHz-160kHz。 (5) 有多路调制的 BCD 码输出,可直接配微型计算机或打印机。 (6) 具有超量程、欠量程指示信号,便于实现自动量程转换。 (7) 能增加读数保持功能。 (8) 采用动态扫描显示方式。 如图 3.1 所示,MC1403 提供输出可调基准电压 Vref(大小为 2V) ,被测信号(0- 2V 的直流电压)从 MC14433 的 Vin引脚输入 A/D 转换器 MC14433,每次当 A/D 转换 湖北经济学院本科毕业(设计)论文 10 结束时,MC14433 的 EOC 引脚会输出一个高电平脉冲送给单片机,然后单片机会对 MC14433 的 DS

23、1-DS4 引脚进行动态 扫描,读取 MC14433 的 Q0-Q3 引 脚的数据。 A/D 转换相关理论推导: 双积分过程可以由下面的式 子表示: 1 11 2 1 11 01 1 T CR V dtV CR V x t t x 因为,故 0201 VV ,式中=4000, REF x X V T T V 1 1 T CP T 是定时时间,是变时间,由 1 T X T 确定斜率,若用时钟脉冲数 1 R 1 C N 来表示时间,则被测电压就转换成了相应的脉冲数,实现了 A/D 转换。 X T 的参数计算: 1 R 1 C (式 1) C X V T C V R 1 1 (max) 式中为积分电

24、容上充电电压具有自动调零和自动转换极性功能。 C V 幅度,=,且=0.5V, =4000。 C VVVV xDD (max) VT clk f 1 假定=0.1,=5V,=66kHz。当=2V 时,代入式 1,可得 1 CuF DD V clk f (max)x V =480 1 R ,取标称值 470。kk 图 3.1 A/D 转换电路图 湖北经济学院本科毕业(设计)论文 11 3.23.2 直流电压测量电路直流电压测量电路 如图 3.2.1 所示,被测电压(0-200V)从 DC V 端输入,通过单片机控制模拟 开关 CD4052 选择相应的量程,将被测电压值衰减到 0-200mV,然后

25、在经过由精密运 算放大器 OP07 组成的放大电路,将电压值放大 10 倍后输入到 A/D 转换器 MC14433 的 Vin 端。分压电阻采用误差为0.5%的精密金属膜电阻。 图 3.2.1 直流电压测量电路 在实践中采用该方案时,若输入信号小于正 5 伏,结果正确,但是当输入信号 大于正 5 伏时,模拟开关 CD4052 和集成运放 OP07CP 均工作不正常。向老师请教后, 得知该方案中,输入信号不经过任何衰竭直接加在模拟开关的 1 脚,使模拟开关处 于不受保护的状态,当输入信号为大信号时,可能会使模拟开关工作不正常,甚至 烧毁模拟开关,且模拟开关与运放直接相连,导致运放处于不受保护的工

26、作状态。 为了解决这些问题,我修改了设计电路。如下图 3.2.2 所示,该电路输入信号 经过 100 千欧的电阻,从集成运放的反相输入端输入,由电阻、模拟开关和运放组 成放大倍数可调的比例电路,并且这个 100 千欧的电阻还可以起到限流的作用,成 功的解决了原电路的弊端。实践证明,该电路可以达到任务书的要求。 湖北经济学院本科毕业(设计)论文 12 图 3.2.2 改进后的直流电压测量电路 3.33.3 交流交流/ /直流转换电路直流转换电路 方案一方案一:半波整流电路。利用二极管的单向导电性,可以很容易的得到直流电 压,且能满足设计要求。 方案二方案二:采用真有效值转换芯片,性能参数方面也都

27、能满足设计要求,并且还能 测量非正弦波,但一般真有效值转换芯片价格比较贵。 鉴于此,故采用方案一。 如图 3.3 所示,这个电路是利用低漂移单运算放大器 TL062 与二极管 D1 1N4148 组成平均值响应的线性半波整流电路。该电路可避免二极管在小信号整理时所引起 的非线性误差,使交流/直流转换电路的输入电压与输出电压成线性关系,适合测量 40-400Hz 的正弦电压,测量准确度优于1%。 湖北经济学院本科毕业(设计)论文 13 图 3.3 交流/直流转换电路图 3.43.4 电流电流/ /电压转换电路电压转换电路 如图 3.4 所示,普通模拟开关可以通过的电流很微小,所以通过单片机控制继

28、 电器来控制线路导通断开,将被测电流信号(0-500mA)转换为相应的电压信号(0- 200mV) ,然后经过 OP07 将信号放大 10 倍,最后输入 A/D 转换器 MC14433 的 Vin端。 1A/250V 的熔丝管 FU 为限流保护电路,两个二极管 1N4007 构成保护为过压保护电 路。阻值为 90、9 的电阻采用误差为0.5%的精密金属膜电阻,而阻值为 0.4、0.6 的电阻通过的电流很大必须采用误差为0.5%的精密绕线电阻。 图 3.4 电流/电压转换电路图 湖北经济学院本科毕业(设计)论文 14 3.53.5 电阻电阻/ /电压转换电路电压转换电路 方案一方案一:利用运算放

29、大器采用反相比例运算的方法进行测量。该方法实现比较 简单,且能满足设计要求。 方案二方案二:采用分压原理,利用流过标准电阻 R0 和被测电阻 Rx 的电流基本相等 来得到电压与电阻的关系,但当电阻很小时电流过大。 鉴于此,故采用方案一。 如图 3.5 所示。稳压二极管 1N4730A 的稳压值为 3.9V(即 B 点处电压值),采 用运算放大器反相比例运算的方法,将 B 点处的电压值衰减到 2V(即 A 点处电压值) ,单片机通过控制模拟开关 MAX4618(超低导通电阻)选择适当的标准参照电阻 R1 ,再利用运算放大器反相比例运算的方法,将被测电阻 RX的阻值转换成与之相对应 的电压量,输入

30、 A/D 转换电路。 电阻/电压转换电路的计算公式:UA/R1=Uin/Rx,推得:Rx=R1* Uin/ UA。 图 3.5 电阻/电压转换电路图 3.63.6 单片机控制与显示电路单片机控制与显示电路 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In- system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 湖北经济学院本科毕业(设计)论文 15 引脚结构,芯片内集成了通用 8 位中央处理器和

31、 ISP Flash 存储单元,功能强大的 微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51 具有如下特点:40 个引脚,4k Bytes Flash 片内程序存储器,128 bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出(I/O)口,5 个中 断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口, 看门狗(WDT)电路,片内时钟振荡器。 如图 3.6 所示,单片机采用 12MHz 时钟晶振,LED 显示电路采用共阳极动态法 连接,占有 I/O 接口少,连线较简单。开关 K1 为功能选择

32、开关,K2 为量程选择开 关,K3 为选择确认开关(在读数显示时,K3 为数据显示与单位显示切换开关) 。 P3.1-P3.5 为模拟开关控制信号。开机自动复位。 图 3.6 单片机控制与显示电路图 3.73.7 自动量程转换模块自动量程转换模块 方案一方案一:采用软件来实现。通过单片机读取 MC14433 的数字信号来控制模拟开关, 从而改变反馈电阻的大小实现档位的不同选择,能够很容易满足测量范围的要求。 此方案是电路比较简单,实现也较容易。 湖北经济学院本科毕业(设计)论文 16 方案二方案二:采用硬件实现。电路的核心是一块双向移位寄存器 CC40194,移位方向由 MC14433 过量程

33、信号控制,并且还要外接一些数字电路才能实现换档,电路比较复 杂,不方便。 鉴于此,故采用此方案一。 第第 4 4 章章 智能型数字式多用表软件设计智能型数字式多用表软件设计 4.14.1 程序流程图程序流程图 程序的主要功能: 1、直流电压、交流电压、直流电流和电阻测量对象切换功能; 2、手动量程和自动量程功能(超量程和欠量程判断) ; 3、超量程指示功能; 4、数据显示功能(十进制数字形式,无效位消隐,小数点控制) ; 5、单位显示功能(正负极,数据单位)。 图 4.1 程序流程图 湖北经济学院本科毕业(设计)论文 17 4.24.2 程序源代码程序源代码 见附录 B。 第第 5 5 章智能

34、型数字式多用表系统测试章智能型数字式多用表系统测试 5.15.1 直流电压测试直流电压测试 测试方案:通过按钮开关选择直流电压档,由直流稳压源提供电压进行测量, 然后由单片机显示输出。 档 位输入电压实际电压误差(%) 50 mV50.4 mV0.84 200mV 100 mV100.7 mV0.78 0.5 V0.501 V0.23 2 V 1 V1.003 V0.26 5 V5.02 V0.31 20 V 10 V10.03 V0.25 50 V50.1 V0.24 200V 100 V100.2 V0.23 结果分析:测量误差大部分在-0.2%+0.2%范围内,在 200mV 档测量时,

35、由于没有精 密电阻,实践所用 1M 欧电阻误差较大,所以误差较大。测量结果基本满足设计任务 书的要求。 5.25.2 交流电压测试交流电压测试 测试方案:通过按钮开关选择交流电压档,由函数信号发生器提供一个 50 赫兹 湖北经济学院本科毕业(设计)论文 18 左右的正弦交流电压,输入到交流端进行测量。 档 位输入电压实际电压误差(%) 50mV50.7 mV1.31 200mV 100mV101.3 mV1.32 0.5V0.504 V0.89 2 V 1.0V1.008 V0.78 5.0V5.04 V0.84 20 V 10.V10.09 V0.86 输入电压频率为:50Hz 结果分析:交

36、流电压:0.220V ,误差 #define uchar unsigned char #define uint unsigned int sbit ds1=P14; /测量数据选择位 sbit ds2=P15; sbit ds3=P16; sbit ds4=P17; sbit ado=P20; /A/D 转换结束指示 uint dso1;dso2;dso3;dso4; uint data1;data2;data3;data4; /分别为千位,百位,十位,个位的测量数据缓冲区 sbit ls1=P24; /显示器选择位 sbit ls2=P25; sbit ls3=P26; sbit ls4=P

37、27; uint led1;led2;led3;led4; /分别为千位,百位,十位,个位的显示缓冲区 uchar led= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0xff,0xbf,0xc1,0Xc8,0x7f ; /编码 09,全黑,-,U,小数点 sbit key1=P23; /控制开关 sbit key2=P22; sbit key3=P21; uint k1=0;k2=0;k3=0;s=0;sw_d=0; /s 为单位判断信号;sw_d 为模拟开关控制信号缓冲区 uint sw= 0x83, /模拟开关常态 0x80,0

38、x84,0x82,0x86, / 直流电压 200mV,2V,20V,200V 0xb0,0xb4,0xb2, / 交流电压 200mV,2V,20V 0x42,0x40, / 直流电流 2mA,20mA, 0x00,0x02,0x06,0x04 ; / 电阻 2k,20k,200k,2Mk uint j;k;g;h=0;ing=0;L=0;N=0;Z=0; /ing 指示数据是否正在处理,1 为真;L 为 A/D 转换指示;Z 为自动量程转换指示 /* * *名称:delay *功能:延时 *输入: 延时时间 *返回值:无 * 湖北经济学院本科毕业(设计)论文 27 */ void dela

39、y(int i) /延时 for(j=i;j0;j-) for(k=120;k0;k-); /* * *名称:display *功能:动态显示数码管, led1,led2,led3,led4 依次为千位,百位,十位,个位的显 示内容 *调用: delay() *返回值:无 * */ void display(void) ls1=ls2=ls3=ls4=1; P0=led1; ls1=0; delay(1); ls1=1; P0=led2; ls2=; delay(1); ls2=1; P0=led3; ls3=0; delay(1); ls3=1; P0=led4; ls4=0; delay(

40、1); ls4=1; /* * *名称:measure *功能:单位显示控制,根据 s 的值显示不同的单位,根据千位数据 data1 的值显 示正负 *返回值:无 湖北经济学院本科毕业(设计)论文 28 * */ void measure(void) if(s=1|s=5) /mV 显示为“0V“ led1=led0;led2=led12;led3=led4=led10; if(s=2|s=3|s=4|s=6|s=7) /V 显示为“1V“ led1=led1;led2=led12;led3=led4=led10; if(s=8|s=9) /mA 显示为“0A“ led1=led0;led2=

41、led11led3=led4=led10; if(s9 else N=0; else if(data1=7|data1=3) /超量程,量程加大一档 N=1; if(s=1)|(s=5)|(s=8)|(s=10) s=s+1; else N=0; else N=0; sw_d=sws; if(Z=0|N=0) ing=0;datadisplay();L=0; /* * *名称:dcvoltage *功能:测量直流电压,千位显示“U”,根据 k2 的值判断档位 *调用:delay() *返回值:无 * */ void dcvoltage(void) if(key2=0 while(key2=0

42、k2+;/每按一次开关 2,k2 加一,5 次一循环 if(k2=5) k2=0; switch(k2) case(0) : /自动量程,百位显示“0” led1=led12;led2=led0;led3=led4=led10; sw_d=sw4;s=4; Z=1; break; 湖北经济学院本科毕业(设计)论文 31 case(1) : /200V 档,百位显示“1” led1=led12;led2=led1;led3=led4=led10; sw_d=sw4;s=4; Z=0; break; case(2) : /20V 档,百位显示“2” led1=led12;led2=led2;led

43、3=led4=led10; sw_d=sw3;s=3; Z=0; break; case(3) : /2V 档,百位显示“3” led1=led12;led2=led3;led3=led4=led10; sw_d=sw2;s=2; Z=0; break; case(4) : /200mV 档,百位显示“4” led1=led12;led2=led4;led3=led4=led10; sw_d=sw1;s=1; Z=0; break; /* * *名称: acvoltage *功能:测量交流电压,千位显示倒“A“,根据 k2 的值判断档位 *调用: delay() *返回值:无 * */ voi

44、d acvoltage(void) if(key2=0 while(key2=0 k2+;/每按一次开关 2,k2 加一,4 次一循环 if(k2=4) k2=0; switch(k2) case(0) : /自动量程,百位显示“0” led1=led11led2=led0;led3=led4=led10; sw_d=sw7;s=7;Z=1; break; case(1) : /20V 档,百位显示“1” led1=led11led2=led1;led3=led4=led10; sw_d=sw7;s=7; Z=0; break; case(2) : /2V 档,百位显示“2” led1=led11led2=led2;led3=led4=led10; sw_d=sw6;s=6; Z=0; break; case(3) : /200mV 档,百位显示“3” led1=led11led2=led3;led3=led4=led10; sw_d=s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1