数字电压表的设计与实现_第1页
数字电压表的设计与实现_第2页
数字电压表的设计与实现_第3页
数字电压表的设计与实现_第4页
数字电压表的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. . . 国 家 示 性 高 等 职 业 院 校职业技术学院毕业设计(论文)题目:数字电压表的设计与实现 姓 名 weihongji 学 号专 业 应用电子技术 年 级 2009级 指导教师 黎 艺 华 完成时间 2011年11月18日职业技术学院毕业设计(论文)任 务 书电子电气工程系(部)应用电子技术专业2009应用电子技术(1)班学生weihongji学号一、毕业设计(论文)题目:数字电压表的设计与实现二、毕业设计(论文)工作规定进行的日期:2011年11月1日起至2011年12月31日止三、毕业设计(论文)进行地点:职业技术学院四、任务书的容:目的:通过数字电压表的设计与制作,巩固数

2、电的知识点,理论联系实际,掌握数字电压表原理、调试方法;掌握电子线路实际操作技能(焊接、测量、器件拆装、万用表等);训练整体分析的能力,以与故障排除的能力。具体目的是:掌握3位半数字电压表的设计、组装和调试方法;熟悉集成电路MC14433,MC1413,CD4511和MC1413的使用方法,并掌握其工作原理。任务:1 计指标 输入基本量程:0±2VDC 精度:0.05%FS 测量速率>2次/秒 具有极性显示,溢出报警 显示器件可用LED数码管 具有较强的常模干扰抑制能力设计要求 画出电路原理图(或仿真电路图); 元器件与参数选择; 电路仿真与调试; PCB文件生成与打印输出。制

3、作要求 自行装配和调试,并能发现问题和解决问题。编写设计报告 写出设计与制作的全过程,附上有关资料和图纸,有心得体会。设计(论文)要求:要求提供以下设计资料,汇报设计与制作的全过程,附上有关资料和图纸,有设计心得体会并装订成册:1.摘要(所做的设计如有特别之处,一定要挑明);2. 原理框图3. 元器件明细表与参数选择4. 各功能块电路图5. PCB文件生成与打印输出6. 操作原理简要说明7.调试的结果是否满足设计要求学生开始执行任务书日期 200 年 月 日 指导教师签名:年 月 日学生送交毕业设计(论文)日期: 200年 月 日 教研室主任签名:年月日学生签名:年月日目录任务书 3前言 5第

4、一章 设计任务与要求91.1任务设计 91.2设计要求 91.3设计方案 9第二 相关设计元件说明10 2.1AT89C51单片机10 2.2 ADC0809数模转换芯片14 2.3 12864液晶显示屏18第三章 硬件系统的设计22 3.1硬件电路系统模块的设计 22 3.2元器件清单25第四章 系统软件的设计25 4.1汇编语言与C语言的特点与选择25 4.2主程序设计26 4.3全部程序27 第五章 调试与性能分析32 5.1硬件调试 32 5.2软件调试 33 5.3测试对比 33 5.性能分析 34第六章 总结 34 致 36第七章 主要参考文献 36附录 37 前 言数字电压表(D

5、igital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。如今随着科学技术和相关电子行业的飞速发展数字电压表,人们对电压表等测量工具的要求也越来越高,传统的指针式电压表功能单一、精度低,读取数据的时候也非常不方便,很容易出错,已经不能满足数字化时代的需求,而采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子与电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩

6、展而成的各种通用与专用数字仪器仪表,也把电量与非电量测量技术提高到崭新水平。到今天为止,数字电压表的发展已经是非常的成熟,就原理上来讲它从原来的一两种发展到今天的多种,在功能上来讲它从测单一参数发展到测多种参数;从制作元件需求来说已经发展到了集成电路;准确度应经有了很大的提高,功能越来越强大,价格也越来越低。数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种

7、转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的数字电压表。一般说来,A/D转换的方式可分为两类:积分式和逐次逼近式。积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式与零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。过去电压表经历了很多的转变过程,传统的指针式电压表功能单一、精确度低,不能满足数字化时代的需求,采用单片

8、机的数字电压表,由于精度高、抗干扰能力强,可扩展性强、集成方便,还与PC进行实时通信。目前,由各种单片机A/D转换器构成的数字电压表,已被广泛用于电子与电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。与此同时,有DVM扩展而成的各种通用与专用数字仪器仪表,也把电量与非电量测量技术提高到崭新新水平。数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量,如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针式加刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。目前数字电压表的部核心部件是A/D转换器,转换器的精度很大程度上影响着数字电压

9、表的准确度,本文A/D转换器采用ADC0809对输入模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。数字是电压表是由高阻抗电压表头与分压电路组成的。数字式电压表的等效输入电阻通常在200M欧以上,满量程时所流经的电流与量程有关,通常在1PA至100微安之间。数字电压表是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量工具有关数字电压表的书籍和应用已经非常普与了。数字电压表的设计和开发,已经有很多类型和款式。传统的数字电压表各有各的特点,它们适合在现场做手工测量,要完成远程测量并要对测量数据做进一步处理,传统数字电压表是无法完成的

10、。然后基于PC通信的数字电压表,既可以完成测量数据的传递,又可以借助PC做测量数据的处理。所以这种类型的数字电压表无论在功能和实际上,都具有传统数字电压表无法比拟的特点,这使得它的开发和引用具有良好的前景。容摘要 在现代检测技术中,我们常需用高精度的数字电压表进行现场电压检测,然后将检测到的数据导入微计算机系统中,完成计算、存储、控制和显示等功能。数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。在这个设计中我们采用了以AT89C5

11、1单片机为核心,以逐次比较型A/D转换器ADC8090、12864液晶显示器为主体,构造了一款简易的数字电压表,该系统的数字电压表电路简单,所用到的元件较少,作品体积小,成本低,使用简单方便等。关键词AT89C51单片机ADC8090数模转换器 12864液晶显示器 数字电压表第一章 设计任务与要求1.1设计任务我们选择单片机与A/D转换芯片结合的方法实现本设计。使用的基本元器件是:AT89C51单片机,ADC0809模数转换芯片,12864液晶显示器,开关,按键,电容,电阻,晶振,标准电源等等。1.2设计要求 输入基本量程:0±2VDC 精度:0.05%FS 测量速率>2次/

12、秒 通过按键可以显示5秒的平均电压的电压值1.3设计方案设计的基本框图如下:单片机系统模块1602液晶显示模块A/D转换模块输入电路模块按键模块第二章 相关设计元件说明在这个设计中我们使用的主要元器件是:AT89C51单片机,TLC2543模数转换芯片,1602液晶显示器,下面是这些元件的详细资料:2.1 AT89C51单片机2.1(1)管脚说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作

13、为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部

14、数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 2.1(2)接口管脚备选功能介绍:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2

15、/INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然

16、而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部

17、程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入与部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的容并且冻结振荡器,

18、禁止所用其他芯片功能,直到下一个硬件复位为止。 2.2 ADC0890模数转换芯片 ADC0809介绍ADC0809是带有8位A/D转换器、8路多路开关以与微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。1.主要技术指标和特性(1)分辨率:8位。(2)总的不可调误差:ADC0809为±1LSB。(3)转换时间:取决于芯片时钟频率, 如CLK=500kHz时,TCONV=128s。(4)单一电源:+5V。(5)模拟输入电压围:单极性05V;双极性±5V,±10V(需外加一定电路)。(6)具有可控三态输出缓存器。(7)启动转换控

19、制为脉冲式(正脉冲),上升沿使所有部寄存器清零,下降沿使A/D转换开始。(8)使用时不需进行零点和满刻度调节。ADC0809的部逻辑结构 图2.1 ADC0809的部逻辑结构上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。引脚结构 图2.2 ADC0809引脚结构图IN0IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压围是05V,

20、若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。表2.3 地址输入线的通道选择CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出与控制线:11条 ST为转换启动信号。当ST上跳沿时,所

21、有部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(),VREF()为参考电压输入。 ADC0809应用说明:(1) ADC0809部带有输出锁存器,可以与AT89S51单片机直接相连。 (2) 初始化时,使S

22、T和OE信号全为低电平。 (3) 送要转换的哪一通道的地址到A,B,C端口上。 (4) 在ST端给出一个至少有100ns宽的正脉冲信号。 (5) 是否转换完毕,我们根据EOC信号来判断。 (6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。2.3 12864液晶显示屏1. 12864液晶接线原理(1)串口接口信号说明:(2)并口接口说明管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)H/LR/W=

23、“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源负端(见注释3)2.控制器接口信号

24、说明:(1)E信号E状态执行动作结果高>低I/O缓冲>DR配合/W进行写数据或指令高DR>I/O缓冲配合R进行读数据或指令低/低>高无动作(2)RS,R/W的配合选择决定控制界面的4种模式:RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)与地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据(3) 指令表1说明:(RE=0:基本指令)指令指 令 码功 能RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满"20H",并且设定DDRAM的地址

25、计数器(AC)到"00H"地址归位000000001X设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的容显示状态开/关0000001DCBD=1:整体显示ONC=1:游标ONB=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向与指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的容功能设定00001DLXREXXDL=0/1:4/8位数据RE=1:扩充指令操作RE=0:基本指令操作

26、设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM 地址设定DDRAM地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)指令表2:(RE=1:扩充指令)指令指 令 码功

27、 能RSR/WD7D6D5D4D3D2D1D0待命模式0000000001进入待命模式,执行其他指令都棵终止待命模式卷动地址开关开启000000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM和CGRAM地址反白选择00000001R1R0选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R000,第一次设定为反白显示,再次设定变回正常睡眠模式0000001SLXXSL=0:进入睡眠模式SL=1:脱离睡眠模式扩充功能设定00001CLXREG0CL=0/1:4/8位数据RE=1:扩充指令操作RE=0:基本指令操作G=1/0:绘图开关设定绘图RAM地址0010AC60A

28、C50AC4AC3AC3AC2AC2AC1AC1AC0AC0设定绘图RAM先设定垂直(列)地址AC6AC5AC0再设定水平(行)地址AC3AC2AC1AC0将以上16位地址连续写入即可第三章 硬件系统的设计3.1 硬件电路系统模块的设计(1)单片机系统 (2) 按键电路(3)12864液晶电路(4)ADC0809的电路原理图(5)ADC0809与单片机的连接图(6)ADC0809电路的PCB图3.2元器件清单元器件清单元件名称数量参数型号/规格STC89C521块ADC08091块电阻3个10K 10K 1K1/4W电容3个20pF 0.1电解电容发光二极管1个TOPLED5050NE5551

29、块排针若干第四章 系统软件的设计4.1汇编语言和C语言的特点与选择本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。汇编语言的特点是占用存单元少,执行效率高。执行速度快。但它依赖于计算机硬件,程序可读性和可移植性比较差。而C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。由于现在单片机的发展已经达到了很高的水平,部的各种资源相当的丰富,CPU的处理速度非常的快。用C语言来控制单片

30、机无疑是一个理想的选择。所以在本设计中采用C语言编写软件程序。4.2 主程序设计主程序设计包括以下方面:按照硬件电路对单片机位定义。编写延时模块程序。编写驱动1602液晶显示模块程序。编写驱动A/D转换模块程序。编写键盘扫描模块程序。主程序的总体流程如下图:开始对液晶,定时器初始化A/D转换数据转换显示瞬时电压值键盘判断显示5秒的平均电压值3秒后清屏4.3全部软件程序如下:#include<reg52.h>#define uint unsigned int#define uchar unsigned charuint get_result;sbit st=P32;sbit eoc=

31、P33;sbit oe=P34; sbit e_clk=P37; /串行时钟信号sbit rw_sid=P36; /串行数据线void delay_50ms(uint j)uint i;for(;j>0;j-)for(i=6245;i>0;i-);void delay_50us(uint j)uint i;for(;j>0;j-)for(i=19;i>0;i-);/串行发送一字节数据void send_byte(uchar dat)uchar i;for(i=0;i<8;i+)e_clk=0;if(dat&0x80)/读取最高位的值如果是1则rw_sid为

32、1,否则rw_sid为0;rw_sid=1;elserw_sid=0; e_clk=1;dat=dat<<1; /右移一位/写控制命令分三个字节写 void write_(uchar dat) send_byte(0xF8);/串口控制格式 1111 1000 RW=0,RS=0 RW=0表示数据从MCU写到LCD RS=0表示数据是控制指令 send_byte(dat&0xF0);/并行8位数据高4位格式 1111 0000 低四位置0 RW=1表示数据从LCD写到MCD RS=1表示显示数据 send_byte(dat&0x0F)<<4);/并行8位

33、数据低4位格式 高四位置0 0000 1111 左移4位后位1111 0000 /写显示数据或单字节字符 void write_data(uchar dat) send_byte(0xFA);/1111 1010 RW=0,RS=1 send_byte(dat&0xF0);/高四位send_byte(dat&0x0F)<<4);/低四位void disp_line(uchar n,uchar m,uchar *s) /写字符在哪行那列switch(n)case 1:write_(0x80+m-1);break;case 2:write_(0x90+m-1);brea

34、k;case 3:write_(0x88+m-1);break;case 4:write_(0x98+m-1);break;default:;while(*s>0)write_data(*s);s+;delay_50us(1);/初始化 LCM void init_12864(void) delay_50us(100); /初始化等待时间40ms write_(0x30);/功能设置,一次送8位数据,基本指令集 delay_50us(3);/等待是间要大于100个uswrite_(0x30);/功能设置,一次送8位数据,基本指令集 delay_50us(2);/等待是间要大于37个us

35、write_(0x0C);/0000,1100 整体显示,游标off,游标位置off delay_50us(3);/等待是间要大于37个us write_(0x01);/0000,0001 清屏 delay_50us(200);/等待时间大于10mswrite_(0x06);/0000,0010 DDRAM地址归位 delay_50us(10);void init_ADC0809()oe=1;st=0;oe=0; void consersion(uchar add,uint num)/分离常数uchar temp,hundred,ten,entries;temp=num/100;hundred

36、=temp;temp=num%100;ten=temp/10;temp=num%10;entries=temp;write_(add);write_data(hundred+0x30);write_data('.');write_data(ten+0x30);write_data(entries+0x30);write_data('V');void main()init_12864();init_ADC0809();disp_line(1,3,"5V电压表");disp_line(4,2,"电压值:");while(1)s

37、t=1;delay_50us(10);st=0;while(eoc=0)get_result=P1;oe=1;consersion(0x9d,get_result*1.96);第五章 调试与性能分析完成了系统的硬件设计,制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。调试分了硬件和软件调试。5.1硬件调试硬件调试的主要任务是排除硬件故障,其中包括设计的错误和工艺性故障等。1.检查所设计的硬件电路板所有的器件和引脚是否正确,尤其是电源的连接是否正确;检查各总线是否有短路的故障。检查开关/按键是否正常,是否连接正确,确保AD转换芯片ADC0809与51单片机的连接正确。2.检

38、查好后给单片机和相关硬件上电进行调试,检查各接口是否满足设计的要求,有正常的程序测试硬件电路的好坏。3.对实际电压进行测试,对照测试的效果。5.2软件调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序的错误,同时也能发现硬件的故障。软件调试是一个模块一个模块进行的。首先单独调试各子程序是否能够按照预期的功能,接口电路的控制是否正常。最后调试整个程序。尤其注意的是各模块间能否正确的传递参数。1. 对程序进行仿真处理,纠正程序中出现的错误并对相应的数据进行核对修改。2.程序仿真成功后,将其下载至51单片机中,并对12864液晶显示屏进行显示。3.检查A/D转换模块程序。可以在硬件电路

39、的输入端输入已知的几个电压,分别观察液晶上是否显示相应的电压值。5.3测试对比采用Keil编译器进行源程序编译与仿真调试,同时进行硬件电路板的设计制作,烧录好程序后进行软硬件联调,最后进行端口电压的对比测试测试对比表如表1所列。表1简易数字电压表与“标准”数字电压表对比测试表标准电压值/V0.000.651.351.932.463.123.894.534.90简易电压表测得值/V 0.00 0.66 1.37 1.95 2.47 3.13 3.90 4.54 4.92绝对误差/V0.00+0.01+0.02+0.02+0.01+0.01+0.01+0.01+0.02从表1中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均在0.02V以,这与采用A/D转换器所能达到的理论误差精度相一致,在一般的应用场合可完全满足要求。5.4性能分析(1)由于单片机为8位处理器,当输入电压为5.00V时,ADC0809输出数据值为255,因此单片机最高的数值分辨率为0.0196V。这就决定了该电压表的最高分辨率只能达到0.0196V,测试时电压一般以

温馨提示

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

评论

0/150

提交评论