多路电压测量系统

上传人:ning****hua 文档编号:70266456 上传时间:2022-04-06 格式:DOC 页数:39 大小:1.98MB
收藏 版权申诉 举报 下载
多路电压测量系统_第1页
第1页 / 共39页
多路电压测量系统_第2页
第2页 / 共39页
多路电压测量系统_第3页
第3页 / 共39页
资源描述:

《多路电压测量系统》由会员分享,可在线阅读,更多相关《多路电压测量系统(39页珍藏版)》请在装配图网上搜索。

1、 姓姓 名名 苏永斌 专专 业业 电气自动化技术 论论 文文 名名 称称 多路电压测量系统 指指 导导 教教 师师 何跃军 目目 录录摘要.- 1 -第一章 系统总体设计.- 2 -1-1 系统功能介绍.- 2 -1-2 系统设计思想 .- 2 -1-3 多路电压测量系统主要特点.- 3 -1-4 多路电压测量系统设计.- 3 -1-5 多路电压测量系统总体开发与设计流程图 .- 4 -第二章 多路电压测量系统的硬件系统设计.- 5 -2-1 系统硬件电路的设计原理.- 5 -2-2 电压测量系统在设计上特点.- 6 -2-3 多路数字电压测量系统的设计与制作步骤 .- 6 -2-4 电路各部

2、分硬件电路介绍.- 7 -2-4-1 单片机 AT89C51 及其特点.- 7 -2-4-2 数码管驱动电路.- 9 -2-4-3 动态 LED 数字显示电路.- 10 -2-4-4 系统 A/D 电压采样电路.- 12 -2-4-5 4024 分频电路.- 15 -第三章 多路电压测量系统的软件系统介绍.- 16 -3-1 多路数字电压测量系统软件设计概述.- 16 -3-1-3 显示子程序.- 17 -3-1-4 模/数转换测量子程序 .- 18 -3-2 系统软件程序设计.- 21 -第四章 测量系统的调试与测试.- 29 -4-1 电压测量系统的调试.- 29 -4-2 系统测试 .-

3、 30 -4-3 性能分析.- 30 -附件 元器件清单.- 31 -附件 实物电路图。.- 32 -总结.- 33 -参考文献.- 34 -致谢.- 35 - 1 -摘要摘要本毕业设计项目为多路电压测量系统。这是一个以单片机 AT89C51 为控制核心,利用 A/D 转换器、数码管、驱动电路等组成的单片机系统。它的主要功能是能同时测量和显示多路和单路电路的电压,测量电压的范围为 0-5V,电压测量的最小分辨率为 0.019V, 测量通道为 8 路,我们设了两个功能键,对其功能进行选择,其中按键 1 是进行单路和多路切换的;按键 2 是进行通道号选择的。 关键词关键词:单片机;AT89C51;

4、A/D 转换;ADC0809;数据处理 - 2 -第一章第一章 系统总体设计系统总体设计1-1 系统功能介绍系统功能介绍本系统应用的范围主要是能同时测量并显示多路低压电路的电压,我们在系统设计时,测量电压的范围设计成 05V。它能同时对一路电压或多达 8 路电压进行测量,我们可以通过按键 1 进行单路和多路切换;通过按键 2 进行通道号选择,并在四位 LED 数码管上轮流显示或单路选择显示。测量最小分辨率为0.019V,测量误差约为0.02V。1-2 系统设计思想系统设计思想多路电压测量系统由硬件和软件两大部分组成。硬件部分包括单片机电路、过程输入通道(模拟量输入通道)和接口电路。如图 1-1

5、 所示。单片机电路用来存储数据、程序,并进行一系列运算处理,它通常由微处理器(CPU)等芯片组成。模拟量输入通道(模/数转换器 ADC0809)用来采集模拟量信号,经过单片机处理后,在显示电路中,显示电压值。软件部分主要是在硬件电路的基础上,对单片机编写相应程序以实现电路的功能 ,本系统软件采用模块化设计思想,编程语言采用汇编语言,仿真系统采用南京伟福仿真器。 图 1-1 多路电压测量系统硬件组成框图- 3 -1-3 多路电压测量系统主要特点多路电压测量系统主要特点本多路电压测量系统主要特点如下:1)控制灵活:由于采用单片机控制,因此系统可以在不改变硬件电路的情况下,通过编程,增加或修改功能。

6、2)成本较低:本系统采用元件都是普通常用件,因而造价低廉,与同类产品相比,有较大的价格优势。3)精度较高:本系统采用 8 位 A/D 转换器 ADC0809,因而电压转换精度可以达到 0.019V,由于采用三位数码管显示电压,因而最小显示电压为 0.01V.4)有较大的实用价值。本产品可用于多路电压的测量,在电子电气领域因而有较大的使用范围,另外,在保证一定的精度的情况下,本产品有较大的价格优势,这是我们这款产品的特点,从而使它具有较大的实用价值。1-4 多路电压测量系统设计多路电压测量系统设计按系统功能实现要求,决定控制系统采用 AT89C51 单片机为控制核心,A/D转换采用 ADC080

7、9。系统除能确保实现要求的功能外,还可以方便地进行 8 路其它 A/D 转换量的测量、远程测量结果传送等扩展功能。多路电压测量系统设计方案框图如图 1-4 图 1-4 多路电压测量系统设计方案框图- 4 -1-5 多路电压测量系统总体开发与设计流程图多路电压测量系统总体开发与设计流程图 多路数字电压测量系统总体开发与设计流程图如图 1-5 所示: 图 1-5 系统总体开发与设计流程图- 5 -第二章第二章 多路电压测量系统的硬件系统设计多路电压测量系统的硬件系统设计2-1 系统硬件电路的设计原理系统硬件电路的设计原理本多路电压测量系统以单片机为控制核心,包括单片机及其外围电路,A/D 转换电路

8、、分频电路、按键选择电路、数码管动态驱动与显示电路等组成,电路原理图如图 2-1 所示,系统实物图如图 2-2。A/D 转换由 A/D 转换元件ADC0809 完成。ADC0809 具有 8 路模拟输入端口,地址线(2325 脚)可决定对哪一路模拟输入作 A/D 转换。22 脚为地址锁存控制,当输入为高电平时,为地址信号进行锁存。6 脚为测试控制,当输入一个 2S 宽高电平脉冲时,就开始 A/D 转换。7 脚为 A/D 转换结束标志,当 A/D 转换结束时,7 脚输出高电平。9 脚为 A/D 转换数据输出允许控制,当 OE 脚为高电平时,A/D 转换数据从该端口输出。10 脚为 0809 的时

9、钟输入端,利用单片机 ALE 引脚(ALE 引脚,其输出频率为 2M,它是对单片机外接 12M 晶振进行六分频) ,与 4024 相连,经过4024 元件二分频后,得到 1MHz 时钟,作为 A/D0809 的输入时钟。单片机的P1 口最为数码管的段码控制口、P3.0P3.3 端口作为四位 LED 数码管位选控制端口。P3.5 端口用作单路显示/循环显示转换按钮,P3.6 端口用作单路显示时选择通道。P0 端口作 A/D 转换数据读入用,P2 端口用作 0809 的 A/D 转换控制。- 6 - 图 2-1 多路电压测量系统电路原理图 图 2-2 多路电压测量系统实物图2-2 电压测量系统在设

10、计上特点电压测量系统在设计上特点本系统在设计上,有以下几个特点:1)系统硬件结构结合应用软件方案一并考虑。我们在设计上,考虑的原则是:软件能实现的功能尽可能由软件来实现。但必须注意如用软件来实现的硬件功能,其响应时间要比直接用硬件来实现花的时间长,而且占用 CPU 时间。2)系统中相关的器件要尽可能做到性能匹配。3)可靠性及抗干扰设计是硬件系统设计不可缺少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。4)单片机外接电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,解决的办法是增加驱动能力,增设线驱动器或者减少芯片功耗,降低总线负载。在完成各个单元电路的设计

11、与调试后,我们与软件系统进行了联调,且达到了一个较为理想的结果。 2-3 多路数字电压测量系统的设计与制作步骤多路数字电压测量系统的设计与制作步骤研制一个电压测量系统是个复杂的过程,这一过程包括分析仪表的功能要求和拟制总体设计方案,确定硬件结构和软件算法,研制逻辑电路,以及系统的调试和性能的测试等等。为保证系统的质量和提高研制的效率。设计小组应该完成以下几步工作:- 7 -1. 确定设计任务和功能要求2. 按照设计图纸进行电路的焊接和调试3. 电路调试工作完成后利用仿真器进行对电路软件上的调试4. 对电路进行工艺上的修改与性能测试2-4 电路各部分硬件电路介绍电路各部分硬件电路介绍本系统电路以

12、单片机 AT89C51 为控制核心,包括单片机及其外围电路,A/D 转换电路、分频电路、按键选择电路、数码管动态驱动与显示电路等组成,下面我们一一进行阐明。2-4-12-4-1 单片机单片机 AT89C51AT89C51 及其特点及其特点AT89C51 是 ATMEL 公司生产的 CMOS 型 51 系列单片机,具有 MCS-51 内核。ATMELF 是一种低功耗、高性能的含有 4KB 闪速可编程/擦出只读存储器的八位CMOS 微控制器,使用高密度、非易失存储技术制造,并且与 8051 指令系统和引脚完全兼容。芯片上的 FPEROM 允许在线或采用通用的非易失存储编程对程序存储重复编程。1、A

13、T89C51 的主要性能包括:(1) 与 MCS-51 微控制器产品系列兼容(2) 片内有 4KB 可在线重复编程闪速擦写存储器(3) 存储器可循环写入/擦出 1000 次(4) 存储数据保存时间为 10 年(5) 全静态工作:可由 0HZ 到 16MHZ(6) 程序存储具有 3 级锁存保护(7) 1288 位内部 RAM(8) 32 条可编程 I/O 线(9) 两个 16 位定时器/计数器(10)中断结构具有 5 个中断源和两个优先级(11)空闲状态维持低功耗和掉电状态保存存储内容2、AT89C51 系列引脚及功能:AT89C51 系列有 40 个引脚,采用双列直插(DIP)封装形式,使用很

14、方便。AT89C51 引脚如图 2-3 所示。 - 8 - 图 2-3 引脚图其各个引脚功能如下:P0 口(3932):P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收8TTL 门电流。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1 口(18):P1 口是从内部提供上拉电阻器的 8 位双向 I/O 口,P1 口缓冲器能接收和输出 4 个 TTL 门电流。 P2 口(2128):P2 口为内部上拉电阻器的 8 位双向 I/O 口,P2 口缓冲器可接收和输出 4 个 TTL 门电流。 P3 口(1017):P3 口是 8 个带内部上拉电阻器的双向 I/O 口,可

15、接收和输出 4 个 TTL 门电流,P3 口也可作为 AT89C51 的特殊功能口。 RST(9):复位输入。当振荡器复位时,要保持 RST 引脚 2 个机器周期的高电平时间。 ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据- 9 -存储器时,将跳过 1 个 ALE 脉冲。PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周

16、期 2 次 PSEN 有效,但在访问外部数据存储器时,这 2 次有效的PSEN 信号将不出现。EA/VPP(31):当 EA 保持低电平时,外部程序存储器地址为(0000HFFFFH)不管是否有内部程序存储器。FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。 XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入。 XTAL2(18):来自反向振荡器的输出2-4-22-4-2 数码管驱动电路数码管驱动电路为提供单片机对显示数码管的驱动能力,我们采用总线驱动器 74HC244 对数码管进行驱动,其工作原理与管脚排列图如图 2-4:其功能表如表 1 所示:图 2-

17、4 74HC244 引脚图输入输出GAYLLHLHXLHZ表 1,74HC244 功能表74HC244 功能表说明如下:L:低电平- 10 -H:高电平Z:高阻状态X:高低电平均可(包括跳变)G:输出禁止控制端。高电平,输出禁止,位高阻状态。量组电路分开控制。电源电压参考值:TTL 极限值 + 7V,一般使用 + 5V, CMOS 极限值 + 20V,一般使用 +15V,其典型参数如表 2 所示。型号最大拉出电流(mA)最大吸收电流(mA)典型传播延迟时间(ns)典型总功耗(mW)54S244-1248655874S244-1564655854LS244-12121212774LS244-15

18、2412127 表 2 ,74HC244 典型参数2-4-32-4-3 动态动态 LEDLED 数字显示电路数字显示电路在本系统中,需要用到的数码管比较多,包括 1 位显示通道号,三位显示电压值,电压显示精确到小数点后两位。为减少 I/O 数目,简化电路,降低成本,我们的数码管采用动态显示方式。动态 LED 显示器接口及工作原理: 动态 LED 显示器的电路连接特点是将各位 LED 显示器的所有对应段线并联在一起,由一个 8 位 I/O 口控制输出字段码,而每位 LED 显示器的公共端(共阳极点或共阴极点)不直接接地或+5V 电源,而是分别由另外的 I/O 口线控制(称为位选) 。LED 显示

19、器的显示内容通过段码 I/O 口和位选 I/O 口的相互配合控制,以动态扫描显示的工作方式输出待显示的内容。- 11 - 图 2-5 单片机与数码管连接实物图数码显示(LED)及接口:(1)LED 显示器结构LED 显示器内部由发光二极管组成。根据内部二极管连接方式,数码管结构又分为共阴极和共阳极型。共阳极型发光二极管阳极连在一起接高电平,共阴极型发光二极管阴极连在一起接低电平。电压测量系统采用的是共阳极型。图 2-6 数码管引脚及内部结构图由图可见,a.、b、c、d、f、g、分别为七个发光段引脚,dp 引脚为小数点。3 与 8 脚接电源或接地端,共 10 个引脚。(2)显示字形与字段码关系数

20、码管发光原理情况:共阳极型如图 2-6(b)所示,ag 哪个为低电平,- 12 -哪个二极管亮。每个二极管为一段,不同的发光段亮,可组成不同字形。输入到数码管 dp、g、f、e、d、c、b、a 的进制码称为字段吗(或字形吗) ,数码管显示的结果为字形。本系统中,数码管各个字段和 PA 口输出字形码对应关系如表 3 和表 4 所示:PA7PA6PA5PA4PA3PA2PA1PA07PA6PA5PA4PA3PA2PA1PA0PA小数点gfedcba 表 3C0HF9HA4HB0H99H92H82HF8H80H90H0123 456789表 42-4-42-4-4 系统系统 A/DA/D 电压采样电

21、路电压采样电路本系统 A/D 电压采样电路采用专用集成电路芯片 ADC0809,下面我们介绍一下 ADC0809。1) ADC0809 的结构 ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及微处理机兼容的控制逻辑的 CMOS 组件。它是逐次逼近式 A/D 转换器,可以和单片机直接接口。其内部有一个 8 路通道多路开关,它可以根据地址码锁存译码后的信号,只选通8 个单断模拟输入信号中的一个进行 A/D 转换。如图 2-7 管脚图所示。- 13 - 图 2-7 管脚图 A/D 转换器是连接模拟世界与数字世界的桥梁,它担负着将模拟信号变换成适合数字处理的二进制代码的任务。目前,8

22、 位 A/D 转换器的转换速度以及达到 1.5GHz; 2 )ADC0809 主要特性: 8 路 8 位 A/D 转换器,即分辨率 8 位; 具有锁存控制的 8 路模拟开关; 易与各种微控控制接口; 可锁存三态输出,输出与 TTL 兼容; 转换时间(f500KHz):128US; 转换精度:0.2%;3 )ADC0809 A/D 工作原理本系统中,ADC0809 与单片机连接图如图 2-8 所示,其工作过程是:首先- 14 -输入 3 位地址,并使 ALE=1,将地址存入地址锁存器中。此地址经译码选通 8路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动A/D 转换结束

23、,结果数据已存入锁存器,这个信号可用作中断申请。当 OE 输入高电平时,输出三台门打开,转换结果的数字量输出到数据总线上。图 2-8 ADC0809 与单片机接口电路图 图 2-9 ADC0809 与单片机连接实物图- 15 -ADC0809 具有 8 路模拟输入端口,由于 ADC0809 内部含有输出三态缓冲锁存器,所以可以直接将 8 位数字量输出端与单片机 P0 口相连。P0 端口作 A/D 转换数据读入用,P2 端口用作 0809 的 A/D 转换控制。地址线(2325 脚)可决定对哪一路模拟输入作 A/D 转换。22 脚 ALE 为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6

24、 脚 START 为测试控制,当输入一个 2us 宽高电平时,就开始 A/D 转换。7 脚 EOC 为 A/D 转换结束标志,当 A/D 转换结束时,7 脚输出高电平。9 脚为 A/D 转换数据输出允许控制,当 OE 脚为高电平,A/D 转换数据从该端口输出。10 脚为 ADC0809 的时钟输入端,利用单片机 30 脚的六分频晶振频率再通过分频器二分频得到 1MHz 时钟。2-4-52-4-5 40244024 分频电路分频电路本系统采用 4000 系列电路中的 4024 对 ALE 引脚进行 2 分频,得到 1M 频率的方波信号,提供给 ADC0809 作为工作频率,我们采用的是硬件分频的

25、方法,其特点是不影响软件编程,简化了软件程序。当然我们也可以采用软件方法,利用单片机的定时器,定时周期为 10US,利用一个 IO 口,则单片机每到 10US,使这个 IO 口反相,则可以通过 IO 口,产生一个周期为 20US 的方波,作为ADC0809 的工作频率,用软件分频的方法是,节省了硬件资源,但使得编程复杂化。- 16 -第三章第三章 多路电压测量系统的软件系统介绍多路电压测量系统的软件系统介绍3-1 多路数字电压测量系统软件设计概述多路数字电压测量系统软件设计概述在系统软件设计时,应根据系统软件功能要求,将系统软件分成若干个相对独立的部分,并根据它们的联系和时间上的关系,设计出合

26、理的软件总体结构。通常在编制程序前先根据系统输入和输出变量建立起正确的数学模型,然后画出程序流程框图,要求流程框图结构清晰、简捷、合理,画流程框图时还要对系统资源作具体的分配和说明。编制程序时一般采用自顶向下的程序设计技术,先设计测量程序再设计各应用程序模块。各功能程序应模块化、子程序化,这样不仅便于调试、链接,还便于个性和移植。在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相结合进行。当系统的电路设计定型后,软件的任务也就明确了。下图为多路数字电压测量系统设计流程图及系统框图如下图 3-1 所示:图 3-1 多路数字电压测量系统软件系统设计流程图- 17 -3-1-2 主程序在刚

27、上电时,系统默认为循环显示 8 个通道的电压值状态。当进行一次测量后,将显示每一通道的 A/D 转换值,每个通道的数据显示时间为 1s 左右。主程序在调用显示子程序和测试子程序之间循环,主程序流程图如下图 3-2 所示:图 3-2 主程序流程图3-1-33-1-3 显示子程序显示子程序系统显示子程序采用动态扫描法,实现四位数码管的数值的动态显示。我们把测量所得的 8 个通道的 A/D 转换数据分别存放在 70H77H 寄存器,每个通道的测量数据在显示时,需转换成为 3 位十进制 BCD 码,放在 78H7AH 单元中,7BH 存放通道标志数。寄存器 R3 用作 8 路循环控制,R0 用作显示数

28、据地址指针。系统软件显示子程序如下:*;* 显示控制程序 *- 18 -;*DISPLAY: JB 00H,DISP11;标志位为 1,则转单路显示控制子程序 MOV R3,#08H;8 路信号循环显示控制子程序 MOV R0,#70H;显示数据初址 70H 77H MOV 7BH,#00H;显示通道路数初值DISLOOP1: LCALL TUNBCD;显示数据转为三位 BCD 码存入7AH,79H,78H MOV R2,#0FFH;每路显示时间控制在 4ms X 255,约 1 sDISLOOP2:LCALL DISP;调四位显示程序 LCALL KEYWORK1;按键检测 DJNZ R2,

29、DISLOOP2 INC R0;显示下一路 INC 7BH;通道显示数加 1 DJNZ R3,DISLOOP1 RETDISP11: MOV A,7BH;单路显示控制子程序 SUBB A,#01H MOV 7BH,A ADD A,#70H MOV R0,ADISLOOP11: LCALL TUNBCD;显示数据转为三位 BCD 码存入7AH,79H,78H MOV R2,#0FFH;每路显示时间控制在 4ms X 25DISLOOP22: LCALL DISP;调四位显示程序 LCALL KEYWORK2;按键检测 DJNZ R2,DISLOOP22 INC 7BH;通道显示数加 1 RET-

30、 19 -3-1-43-1-4 模模/ /数转换测量子程序数转换测量子程序模/数转换测量子程序用来实现对 A /D 转换模块 ADC0809 的模拟输入电压进行 A/D 转换,并将其转换后的数值存入 70H77H 内存单元。其程序流程见图 3-3,子程序源程序如下所示。 图 3-3 A/D 转换测量程序流程图*;* 电压测量(A/D)子程序 *;*;一次测量数据 8 个,依次放入 70H 77H 单元中TEST: CLR A;模/数转换子程序 MOV P2,A MOV R0,#70H;转换值存放首址 MOV R7,#08H;转换 8 次控制LCALL TESTART;启动测试WAIT: JB

31、P3.7,MOVD;等 A/D 转换结束信号- 20 - AJMP WAITTESTART: SETB P2.3;测试启动 NOP NOP CLR P2.3 SETB P2.4 NOP NOP CLR P2.4 NOP NOP NOP NOP RETMOVD: SETB P2.5;取 A/D 转换数据 MOV A,P0 MOV R0,A CLR P2.5 INC R0 MOV A,P2;通道地址加 1 INC A MOV P2,A CJNE A,#08H,TESTEND;等 8 路 A/D 转换结束TESTEND: JC TESTCON CLR A;结束恢复端口 MOV P2,A MOV A,

32、#0FFH MOV P0,A MOV P1,A- 21 - MOV P3,A RETTESTCON: LCALL TESTART LJMP WAIT3-2 系统软件程序设计系统软件程序设计本系统采用汇编语言编写,调试与仿真采用南京伟福公司生产的 WAVE2000 仿真系统,经过调试,达到了满意的效果。系统源程序清单如下:主程序;*;* 主程序和中断程序入口 *;*ORG 0000HLJMP STARTORG 0003HRETIORG 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETIORG 002BHRETI;*;* 初始化程序中的各变量 *- 2

33、2 -;*CLEARMEMIO: CLR A MOV P2,A MOV R0,#70H MOV R2,#0DHLOOPMEM: MOV R0,A INC R0 DJNZ R2,LOOPMEM MOV 20H,#00H MOV A,#0FFH MOV P0,A MOV P1,A MOV P3,A*;* 主程序 *;*START: LCALL CLEARMEMIO;初始化MAIN: LCALL TEST;测量一次 LCALL DISPLAY;显示数据一次 AJMP MAIN NOP;PC 值出错处理 NOP NOP LJMP START*;* 显示控制程序 *;*DISPLAY: JB 00H,D

34、ISP11;标志位为 1,则转单路显示控制子程序- 23 - MOV R3,#08H;8 路信号循环显示控制子程序 MOV R0,#70H;显示数据初址 70H 77H MOV 7BH,#00H;显示通道路数初值DISLOOP1: LCALL TUNBCD;显示数据转为三位 BCD 码存入7AH,79H,78H MOV R2,#0FFH;每路显示时间控制在 4ms X 255,约 1 sDISLOOP2:LCALL DISP;调四位显示程序 LCALL KEYWORK1;按键检测 DJNZ R2,DISLOOP2 INC R0;显示下一路 INC 7BH;通道显示数加 1 DJNZ R3,DI

35、SLOOP1 RETDISP11: MOV A,7BH;单路显示控制子程序 SUBB A,#01H MOV 7BH,A ADD A,#70H MOV R0,ADISLOOP11: LCALL TUNBCD;显示数据转为三位 BCD 码存入7AH,79H,78H MOV R2,#0FFH;每路显示时间控制在 4ms X 25DISLOOP22: LCALL DISP;调四位显示程序 LCALL KEYWORK2;按键检测 DJNZ R2,DISLOOP22 INC 7BH;通道显示数加 1 RET;*;*显示数据转为三位 BCD 码子程序*;*- 24 -;显示数据转为三位 BCD 存入 7AH

36、,79H,78H(最大值 5.00V)TUNBCD: MOV A,R0;255/51=5.00V 运算 MOV B,#51 DIV AB MOV 7AH,A;个位数放入 7AH MOV A,B;余数大于 19H,F0 为 1,乘法溢出,结果加5 CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,LOOP2 ADD A,#5LOOP2: MOV 79H,A;小数后第 1 位放入 79H MOV A,B CLR P0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51

37、DIV AB JB F0,LOOP3 ADD A,#5LOOP3: MOV 78H,A;小数后第 2 位放入 78H RET- 25 -;*;* 显示子程序 *;*;共阳显示子程序,显示内容在 78H 7BHDISP: MOV R1,#78H;共阳显示子程序,显示内容在 78H 7BH MOV R5,#0FEH;数据在 P1 输出,列扫描在 P3.0 P3.3PLAY: MOV P1,#0FEH MOV A,R5 ANL P3,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A JB P3.2,PLAY1;小数点处理 CLR P1.7;小数点显示(显

38、示格式为 XX.XX)PLAY1: LCALL DL1MS INC R1 MOV A,P3 JNB ACC.3,ENDOUT RL A MOV R5,A MOV P3,#0FFH AJMP PLAYENDOUT: MOV P3,#0FFH MOV P1,#0FFH RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;段码表;- 26 -;*;* 延时程序 *;*DL10MS: MOV R6,#0D0H;10ms 延时子程序DL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1 RETDL1M

39、S: MOV R4,#0FFH;513 + 513 = 1 msLOOP11: DJNZ R4,LOOP11 MOV R4,#0FFHLOOP22: DJNZ R4,LOOP22 RET;*;* 电压测量(A/D)子程序 *;*;一次测量数据 8 个,依次放入 70H 77H 单元中TEST: CLR A;模/数转换子程序 MOV P2,A MOV R0,#70H;转换值存放首址 MOV R7,#08H;转换 8 次控制LCALL TESTART;启动测试WAIT: JB P3.7,MOVD;等 A/D 转换结束信号 AJMP WAITTESTART: SETB P2.3;测试启动 NOP N

40、OP CLR P2.3 SETB P2.4- 27 - NOP NOP CLR P2.4 NOP NOP NOP NOP RETMOVD: SETB P2.5;取 A/D 转换数据 MOV A,P0 MOV R0,A CLR P2.5 INC R0 MOV A,P2;通道地址加 1 INC A MOV P2,A CJNE A,#08H,TESTEND;等 8 路 A/D 转换结束TESTEND: JC TESTCON CLR A;结束恢复端口 MOV P2,A MOV A,#0FFH MOV P0,A MOV P1,A MOV P3,A RETTESTCON: LCALL TESTART LJ

41、MP WAIT;- 28 -;*;* 按键检测子程序 *;*KEYWORK1: JNB P3.5,KEY1KEYOUT: RETKEY1: LCALL DISP;延时消抖 JB P3.5,KEYOUTWAIT11: JNB P3.5,WAIT12 CPL 00H MOV R2,#01H MOV R3,#01H RETWAIT12: LCALL DISP AJMP WAIT11 ;键释放等待时显示用KEYWORK2: JNB P3.5,KEY1 JNB P3.6,KEY2 RETKEY2: LCALL DISP ;延时消抖用 JB P3.6,KEYOUTWAIT22: JNB P3.6,WAIT

42、21 INC 7BH MOV A,7BH CJNE A,#08H,KEYOUT11KEYOUT11: JC KEYOUT1 MOV 7BH,#00HKEYOUT1: RET- 29 -WAIT21: LCALL DISP;键释放等待时显示用 AJMP WAIT22END第四章第四章 测量系统的调试与测试测量系统的调试与测试4-1 电压测量系统的调试电压测量系统的调试系统调试包括硬件调试和软件调试。硬件调试的任务是排除系统的硬件电路故障,包括设计性错误和工艺性故障,其调试原则按先“局部”再“整体” ;先单元,再系统的原则进行。软件调试是利用开发工具进行在线仿真调试,除发现和解决程序错误外,也可以

43、发现硬件故障。在硬件调试完成后,我们接着进行软件调试。软件程序调试一般是一个模块一个模块地进行,一个子程序一个子程度地调试,最后联起来统调。利用开发工具的单步和断点运行方式,通过检查应用系统的 CPU 现场、RAM 和 SFR 的内容以及 I/O 口的状态,来检查程序的执行结果和系统 I/O 设备的状态变化是否正常,从中发现程序的逻辑错误,转移地址错误以及随机的录入错误等。也可以发现硬件设计与工艺错误和软件算法错误。在调试过程中,要不断调整、修改系统的硬件和软件,直到其正确为止。联机调试运行正常后,将软件固化到 EPROM 中,脱机运行,并到生产现场投入实际工作,检验其可靠性和抗干扰能力,直到

44、完全满足要求,系统才算研制成功。调试的具体步骤如下:首先是模拟调试,先调试各个功能模块,成功后再进行在线仿真调试和系统联调。软件调试中,我们首先调试的模块是显示模块,我们首先通过编程,使单片机 P1 口输出固定的段码,以来检验显示电路是否连接正确。接着调试A/D 转换后的数据处理子程序,其步骤是把 AD 转换后,得到的数值变量值固定,看数码管是否正确显示电压值,以检验我们的数值处理程序是否正确。接下来,我们调试 AD 转换模块,调试 AD 转换模块时,首先使得电压输入- 30 -为一固定的值,比如 5V,如果数码管输出显示为 5.00,则说明 AD 转换模块固定值调试成功,然后我们在电路中,接

45、上需要测量的电压,进行联调,直到全部调试成功。调试时,我们采用 Wave E2000 编译器进行源程序编译及仿真调试,调试成功后,把编译好的 16 进制文件,通过烧录器 G540 进行烧录,这样我们就完成了整个系统的制作。4-2 系统测试系统测试系统调试结束后,我们对系统的输入端口电压与标准电压表进行了对比测试,测试对比表见表 4-1。表中标准电压值采用 UT56 数字万用表测得。表 4-1 多路数字电压测量系统与”标准”数字电压表对比测试表标准值/V0.000.150.851.001.251.751.982.322.65电压表测得值/V0.000.170.861.021.261.762.00

46、2.332.66绝对误差/V0.00+0.02+0.01+0.02+0.01+0.01+0.02+0.01+0.01标准值/V3.003.453.554.004.504.604.704.814.90电压表测得值/V3.013.473.564.014.524.624.724.824.92绝对误差/V+0.01+0.02+0.01+0.01+0.02+0.02+0.02+0.01+0.02从表中可以看出,多路数字电压测量系统与“标准”数字电压表测得的绝对误差均在 0.02V 以内。这与采用 8 位 A/D 转换器所能达到的理论误差精度相一致,在一般的应用场合完全满足要求。4-3 性能分析性能分析

47、由于单片机为 8 位处理器,当输入电压为 5.00V 时,输出数据值为255(FFH) 。因此单片机最大的数值分辨率为 0.0196V(5/255) 。这就决定了该电压的最大分辨率(精度)只能达到 0.0196V。测试时电压数值的变化一般以 0.02 的电压幅度变化。如要获得更高的精度要求,应采用 12 位、13位的 A/D 转换器。 多路数字电压测量系统测得的值基本上均比标准值偏大 0.010.02V。这可以通过修正 0809 的基准电压来解决,因为该多路数字电压测量系统设计时直接用 7805 的供电电源作为基准电压。电压可能有偏差。另外可以用软件编程来校正测量值。- 31 - ADC080

48、9 的直流输入阻抗为 1M,能满足一般的电压测试需要频率外,经测试 ADC0809 可直接在 2MHz 的频率下工作,这样可省去分频器 14024。附件附件 元器件清单元器件清单器件类别型号参数数量参考价格备注单片机AT89C5118 元晶振12MHZ1数码管共阳4开关按键开关3三极管PNP4A/D 转换器ADC0809110 元驱动器244110K24.7K4普通电阻0.51K8分频器40241磁片电容30PF2电解电容10uf1- 32 -附件附件 实物电路图。实物电路图。 - 33 -总结总结经过将近 2 个月对毕业设计的准备和制作工作后,我们终于完成了多路电压测量系统的软、硬件设计与调

49、试。从课题选择到硬件焊接,硬件及软件调试成功,一步步实现,使得我巩固了三年来在大学里所学到知识,更进一步地做到综合运用。本系统设计过程中,首先,在何老师悉心指导下,查找了相关的资料,并运用网络对资料做了更进一步的收集和整理。经过与何老师探讨后我们选定了课题:多路电压测量系统的设计和制作。对于硬件电路的设计与制作,首先,我们熟悉本系统原理图,接着进行软件仿真,之后合理排版并焊接电路板。电路板焊接完毕,我们按照先局部后整体的原则进行检查电路。对于系统软件的设计,我们采用模块化的方式进行编程,使用汇编语言进行编写程序,使得程序可读性较强,清晰,易修改。使用南京伟福仿真器将程序烧入芯片进行仿真调试。经

50、过了硬件,软件的调试,期间遇到了很多难题,在老师的精心教导下,我们一一找出问题并克服了难题。在这期间,学会了如何检查电路,发现问题并掌握了解决问题的关键,同时对单片机系统及系统中的各个电路有了更深入的了解。两个月的毕业设计时间,虽然很短暂,但和老师,组员一起艰苦奋斗,踊跃探讨,不懈努力地学习感到很荣幸,也扩展了学习科学的视野,同时被何老师的严谨对待科学态度,悉心教导的工作作风深深感染,正因为他的指导和帮忙和组员的不懈努力才使得多路电压测量系统的制作及论文的顺利完成。- 34 -参考文献参考文献单片机课程设计指导. 北京航空航天大学出版社 2007编著:楼然苗 李光飞.微型计算机控制技术 电子工

51、业出版社.2006编著:潘新民 王燕芳MCS-51 系列单片机原理与接口技术 人民邮电出版社编著:李玉蜂、倪虹霞MCS-51 系列单片机原理及嵌入式系列应用 西安电子科技大学出版社编著:王忠飞、胥芳 编著单片机原理与应用 中国轻工业出版社编著:陈亚民单片机系统设计及工程应用 西安电子科技大学出版社编著:雷思孝、冯育长 编著MCS-51 系列单片机原理与接口技术 电子工业出版社编著:汪德彪 MCS-51 系列单片机应用系统设计 北京航空航天大学出版社编著:何立民 - 35 -致谢致谢本多路电压测量系统的设计过程中,硬件调试,软件调试到最后系统成功正常工作,在这期间,遇到很多问题,但在何老师的悉心

52、教导下,一起探讨,最后一步步实现,这些经历使我一步步积累了宝贵的经验。感谢何跃军老师的悉心指导,正因为何老师严肃对待科学的态度,精心指导的工作作风,才能使得多路电压测量系统的制作完成;正因为何老师严谨负责的教学思想,科学指导的教学理念才让我一步步地完善了自己的论文。在此,衷心地说声:何老师,您辛苦了!从这次毕业设计中我还是学到了不少知识 , 能将自己所学的知识用运与解决实际问题之中,使我对所学的知识有了更加深刻的理解。也为我今后从事这方面的工作提供可借鉴的经验。在此,我还要感谢在一起的组员,黄龙,乔欢江同学,正是由于你们的不懈努力,从选课题,到硬件,软件的调试成功,你们都踊跃参与专研,讨论。正是因为我们的团结,才能克服一个个困难和疑惑,直至项目顺利完成。在这两个月时间里,虽然时间短暂,却从中我学到了很多的东西,老师对待科学的态度和精心教导的工作作风,组员的不懈努力,奋勇顽强地学习态度都时刻感染着我。当然,从开始进入课题选择到论文的顺利完成,当中我们借用网络查找了很多对我们有用的信息以及参考了诸多资料,正因为有了这些参考文献才使得我顺利完成系统设计及论文。期间还有很多老师、同学、都给了我诸多的帮助与建议,在此,我衷心地向你们说声:谢谢! - 36 - 学生: 苏永斌 2012-5-31

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!