简易数字电压表的设计毕业论文.doc

上传人:文库蛋蛋多 文档编号:3927126 上传时间:2023-03-28 格式:DOC 页数:31 大小:425KB
返回 下载 相关 举报
简易数字电压表的设计毕业论文.doc_第1页
第1页 / 共31页
简易数字电压表的设计毕业论文.doc_第2页
第2页 / 共31页
简易数字电压表的设计毕业论文.doc_第3页
第3页 / 共31页
简易数字电压表的设计毕业论文.doc_第4页
第4页 / 共31页
简易数字电压表的设计毕业论文.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《简易数字电压表的设计毕业论文.doc》由会员分享,可在线阅读,更多相关《简易数字电压表的设计毕业论文.doc(31页珍藏版)》请在三一办公上搜索。

1、简易数字电压表的设计The Design of Simple Digital Voltmeter摘 要随着单片机技术的发展,单片机广泛的应用与测量技术中。以往的测量技术与之相比,只能将被测量通过指针式指示仪表显示测量数值,但是指针式仪表读数不方便,且不易于实现计算机控制。本文中数字电压表的控制系统采用AT89S52单片机实现模拟电压信号的检测与显示,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化,还可以方便地进行8路A/D转换的测量,远程测量结果传送等功能。数字电压表可以测量05V的8路输入

2、电压值,并在四位LED数码管上轮流显示或单路显示。设计结果能实现相应的功能。关键词转换器; 单片机; 数码管; 数字电压表 Abstract With SCM technology, a wide range of applications and measurement of micro-controller technology. Compared with the previous measurement techniques can only be measured through the instruction pointer instrument displays measured

3、 values, but the pointer meter readings inconvenient, and not easy to implement computer control. Digital voltage meter in this article uses the control system of AT89S52 microcontroller analog voltage signal detection and display, A / D converter ADC0809 as the main use of the hardware, the hardwar

4、e implementation of digital voltage meter circuit and software design. The digital voltmeters circuit is simple,with using fewer components, lower cost, adjusting this system can be automated , be easily carried out 8-way A / D converter measurement, and be remitted the remote metric results and so

5、on. Digital voltage meter can measure the 8-way 0 5V input voltage value, and four rotating LED digital tube display or a single display. Design results to achieve the corresponding functionality.Key words Conversion; SC Computer; Digital tube; Digital Voltmeter目 录1.引言11.1 设计背景11.2 设计目的21.3 作品要求及功能2

6、2. 总体设计22.1 各模块方案选择与论证22.2 总体设计框图33.系统硬件电路设计43.1 单片机芯片选择AT89S52介绍43.1.1 主要特性43.1.2 引脚说明53.1.3 振荡器特性73.1.4 芯片擦除73.2 A/D转换模块设计83.2.1 ADC0809A/D功能描述83.2.2 ADC0809A/D工作原理93.2.3 ADC0809应用说明93.3 电压显示电路93.4 时钟电路设计103.5 复位电路设计114.系统程序设计124.1 软件总体框架设计124.2 模/数转换测量子程序124.3 LED显示子程序135.制作与调试145.1 硬件电路的布线与焊接145

7、.2 调试155.2.1 系统硬件调试155.2.2 系统软件调试155.2.3 调试心得165.2.4 测试数据166.结论16参考文献18谢辞19附 件20附件1 实物图20附件2 系统原理图21附件3 系统PCB图22附件4 元器件清单表23附件5 简易数字电压表的源程序24 毕业设计(论文) 1.引言数字电压表(Digital Voltmeter )简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。数字电压表自从一九五二年问世以来,随着电子技术的飞跃发展,特别是目前,作为测量仪表、模拟指示仪表的数字化以及自动测量的系统,而得

8、到了很大的发展。数字电压表是从电位差计的自动化这种想法研制出来的,因此即便是最初的数字电压表,其精度也要比模拟式仪表高,而其成本比电位差计也高。以后,DVM的发展就着眼在高精度和低成本两个方面。单片机可单独的完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以用软件控制来实现,并能够实现智能化1。1.1设计背景数字电压表出现在50年代初,60年代末发起来的电压测量仪表,简称DVM,它采用的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加以数字处理,然后再通过显示器件显示。这种电子测量的

9、仪表之所以出现,一方面是由于电子计算机的应用逐渐推广到系统的自动控制信实验研究的领域,提出了将各种被观察量或被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测量仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的繁琐和陈旧方式也催促了它的飞速发展,如今,它又成为向智能化仪表发展的必要桥梁。如今,数字电压表已绝大部分取代了传统的模拟指针式电压表。因为传统的模拟指针式电压表功能单一,精度低,读数的时候也非常不方便,很容易出错。而采用单片机的数字电压表由于测量精度高,

10、速度快,读数时也非常的方便,抗干扰能力强,可扩展性强等优点已被广泛的应用于电子及电工的测量,工业自动化化仪表,自动测试系统等智能化测量领域。显示出强大的生命力2。1.2 设计目的通过制作简易数字电压表,加深对所学专业知识的认识,提高分析、解决工程实际问题的能力,提高对单片机的应用能力,提高收集文献、资料的能力,从而达到综合运用所学的专业知识进行电子产品的设计、制作与调试的能力。1.3 作品要求及功能 设计的基本内容是使基于单片机所设计出的数字电压表可以测量0-5V的8路输入电压值,并在四位LED数码管上轮流显示或单路显示。测量最小分辨率为0.019V,测量误差约为0.02V。系统除能确保实现要

11、求的功能外,还可以方便地进行8路其他A/D转换量的测量、远程测量结果传送等功能。所要解决的主要问题是如何更有效地设计出符合设计要求的简易数字电压表,特别是要注意其测量电压的误差,难点是数码管需轮流显示或单路显示所测出的电压值,并且能使软硬件有效的结合起来3。基本功能:1) 电压测量范围0-5V2) 能用数码管显示电压值3) 测量误差0.02V4) 系统具备复位功能5) 系统具备选择显示功能2. 总体设计2.1各模块方案选择与论证 A/D转换模块:方案一:A/D转换器采用ICL7107型三位半显示的芯片,输入信号,流经取样电路取样后送到ICL7107型三位半A/D转换器,只需要很少的简单外围元件

12、,就可组成数字电流表模块,直接驱动三位半LED显示器显示,最后输入电流在显示部分显示。由于本人对此电路布熟悉,而且ICL7107做的LED数字表,最大的确定就是数字乱跳不稳定,特别最后一位。所以不采用此方案。方案二:采用ADC0809转换芯片,其中A/D转换器用于实现模拟量向数字量的转换,单电源供电。它是具有8路模拟量输入、8位数字量输出功能的A/D转换器,转换时间为100us,模拟输入电压范围为0V+5V,不需要零点和满刻度校准,功耗低,约15mW。由于模拟转换电路的种类很多,通过对转换速度,精度和价格方面考虑,所以选择方案二采用ADC0809为本次设计的转换芯片4。接口模块: 方案一:使用

13、数字电路实现,采用译码芯片CD4543作为接口芯片,这种方案能实现功能,但稳定性不高,结构复杂。方案二:采用AT89S52单片机作为系统的控制单元,通过A/D转换将被测值转换为数字量送入单片机,再由单片机来送显。此方案各功能易于实现,成本低、功耗低,显示稳定。通过比较,选择方案二。2.2 总体设计框图总体设计框图如图2-1所示,通过模数转换器ADC0809采集模拟数据并转换为数字信号,在51单片机的控制与74LS74及三极管的驱动下,将采集的数据显示在LED数码管上。两个开关用作选择测量电压的路数,一个控制单路显示,另一个控制循环显示,能够同时测量8路电压值5。电源电路串口通信上电复位LED显

14、示器ADC0809AT89C52 P0 P2 P1 P3图2-1简易数字电压表总体设计框图3.系统硬件电路设计3.1单片机芯片选择AT89S52介绍单片机采用MCS-51系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,

15、32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路6。3.1.1 主要特性AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,

16、2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本7。其功能如下所示:1) 与MCS-51单片机产品兼容2) 8K字节在系统可编程Flash存储器3) 1000次擦写周期4) 全静态操作:0HZ33HZ5) 三级加密程序存储器6) 32个可编程I/O口线7) 三个16位定时器/计数器8) 八个中断源9) 全双工UART串行通道10) 低功耗空闲和掉电模式11) 掉电后中断可唤醒12) 看门狗定时器13) 双数据指针14) 掉电标示符8

17、3.1.2 引脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的引脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口引脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

18、P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其引脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的引脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口引脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们

19、被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如表3.1所示。表3.1 AT89S52特殊功能口表P3口引脚第二功能P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0输入)P3.3INT1(外部中断1输入)P3.4T0(定时器0外部脉冲输入)P3.5T1(定时器1外部脉冲输入)P3.6WR(外部数据存储器写脉冲输出)P3.7RD(外部数据存储器读脉冲输出)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST

20、脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器

21、周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出9。图3-1AT89S52引脚图3.1.3 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶

22、瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度10。3.1.4 芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89S52设有稳态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,能保存RAM的内容并且冻结振荡器,禁止所

23、用其他芯片功能,直到下一个硬件复位为止11。3.2A/D转换模块设计3.2.1 ADC0809A/D功能描述ADC0809是采样频率为8位的、以逐次逼近原理进行模数转换的器件。下面3-2是ADC0809管脚图介绍,其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换12。图3-2ADC0809引脚图A/D转换器是连接模拟世界与数字世界的桥梁,它担负着将模拟信号变换成适合数字处理的二进制代码的任务。目前,8位A/D转换器的转换速度已经达到1.5GHz;并且,有些A/D转换器还可以工作在欠采样状态。对于高速A/D转换器动态性能的测试,目前常

24、用的方法主要是相干采样测试法和加窗测试法13。ADC0809主要特性如下:l 8路8位A/D转换器,即分辨率8位;l 具有锁存控制的8路模拟开关;l 易与各种微控制器接口;l 可锁存三态输出,输出与TTL兼容;l 转换时间(f=500KHZ):128USl 转换精度:0.2%;l 单个+5V电源供电;l 模拟输入电压范围0 +5V,无需外部零点和满度调整;l 低功耗,约15mW。3.2.2 ADC0809A/D工作原理ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动

25、AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上14 。 3.2.3 ADC0809应用说明1) ADC0809内部带有输出锁存器,可以与AT89S52直接相连。2) 初始化时,使ST和OE信号全为低电平。3) 送要转换的哪一通道的地址到A,B,C端口上。4) 在ST端给出一个至少有100NS宽的正脉冲信号。5) 是否转换完毕,我们根据EOC信号来判断。6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片

26、机了。3.3电压显示电路设计中采用的是8段LED数码管来显示电压值。LED具有耗电低、亮度高、视角大、线路简单、耐震及寿命长等优点,它由8个发光二极管组成,其中7个按8字型排列,另一个发光二极管为圆点形状,位于右下角,常用于显示小数点。把8个发光二极管连在一起,公共端接高电平,叫共阳极接法,相反,公共端接低电平的叫共阴极接法,我们采用共阳极接法。当发光二极管导通时,相应的一段笔画或点就发亮,从而形成不同的发光字符。其8段分别命名为dp g f e d c b a。例如,要显示“0”,则dp g f e d c b a分别为:1100 0000B;要显示“A”,则dp g f e d c b a

27、分别为:0001 0001B(共阳极)。若要显示多个数字,只要让若干个数码管的位码循环为低电平就可以了。根据设计要求,显示电路需要4位LED数码管来显示电压值,我们再多加一位用来显示电压单位“V”,则有7位LED循环显示。利用单片机的I/O口驱动LED数码管的亮灭,设计中由P0口驱动LED的段码显示,即显示字符,由P2口选择LED位码。图3-3电压显示电路另外,一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。驱动电路有多种,常用的是TTL或MOS集成电路驱动器,在本设计中采用了7

28、4LS245芯片驱动电路,如上图3-3所示15。3.4 时钟电路设计 单片机工作是在同一的时钟脉冲下一拍一拍的进行的,这个脉冲是单片机控制中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。为了保证各部件的同步工作,单片机内部电路应在唯一的时钟信号下严格地按时序进行工作。 89S52内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需要附加电路。89S52的时钟产生方法有两种:一种是内部时钟方式,一种是外部时钟方式。本设计采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简单,只需要一个晶振和2个电容即可,如图3-4所示。图3-4 时钟电路

29、3.5复位电路设计复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作,单片机复位后(RST从高电平变为低电平),从0000H地址开始执行指令。单片机的RST引脚为主机提供一个外部复位信号输入端口。复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。单片机的复位方式有上电复位和手工复位两种,图3-5是51系列单片机常用的上电复位和手动复位组合电路,只要VCC上升时间不超过1MS,他们都能很好的工作16。图3-5复位电路4.系统程序设计调用显示子程序调用A/D转换子程序初始化开始4.1软件总体

30、框架设计图4-1主流程图如图4-1,为主流程图,本软件充分采用了模块化设计,包括主程序,显示控制程序,显示数据转为三位BCD码子程序,显示子程序,延时程序,电压测量子程序,按键检测子程序等子程序。首先初始化程序,所谓初始化,是对将要用到的MCS-51系列单片机内部部件或扩展芯片进行初始工作设定。初始化子程序的主要工作是设置定时器的工作模式、初值预置、开中断和打开定时器等。系统上电时,将70H77H内存单元清0,P2口置0。在刚上电时,因70H77H内存单元的数据位0,则每一通道的数码管显示值都为0。当进行一次测量后,将显示每一条通道的A/D转换值。每个通道的数据显示时间在1us左右。主程序在调

31、用显示程序和测试程序之间循环17。4.2模/数转换测量子程序显示子程序采用动态扫描法实现四位数码管的数值显示。测量所得的A/D转换数据放在70H77H内存单元中,测量数据在显示时需转换成10进制BCD码放在78H7BH单元中,其中7BH存放通道标志数。寄存器R3用作8路循环控制,R0用作显示数据地址指针。其程序流程图如图4-2所示。开始启动测试(TESTART) A/D转换结束?P3.7=1?取数据(P2.5=1)0809地址加1地址数小于8?Y 结束图4-2 A/D转换测量程序流程图4.3 LED显示子程序显示子程序采用动态扫描实现四位数码管的数值显示。在采用动态扫描显示方式时,要使得LED

32、显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率。当扫描频率在70HZ左右时,能够产生足够的图像和较好的显示效果。一般可以采用间隔10MS对LED进行动态扫描一次,每一位LED的显示时间为1MS。在单片机中,定时功能既可以由硬件(定时/计数器)实现,也可以通过软件定时程序实现。软件延时程序占用CPU的时间,因此,它降低了CPU的利用率;硬件定时是利用单片机内定时器定时,启动以后定时器可与CPU并行工作,不占用CPU的时间,使CPU工作有较高的工作效率。由于本设计简单,可靠性较高,因而采用软件实现的方式对CPU的影响不大。在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢

33、出中断功能实现11US定时,通过软件延时程序来实现5MS的延时。1.T0定时器中断服务程序的功能: 从显示缓冲区分别取出4位LED显示器显示数据的位码和段码,送到P1口,依次显示每一位,每一位的显示时间为5MS,显示4位需要20MS的时间。2.定时器T0的计数初值 设时钟频率为12MHZ,1个机器周期时间为1US。T0定时器产生11US的定时,可以计算出计数值和计数初值:计数值=定时时间/机器周期时间=11US/1US=11计数初值=256-11=245初值寄存器的初值为:TH0=245; TL0=00H工作方式寄存器TMOD=XXXX0010B=X2H,T0定时器,工作方式2.最大定时值为2

34、56US18。5.制作与调试5.1硬件电路的布线与焊接根据原理图生成PCB图,在把完成的PCB图打印到转印纸上,然后用热转印制作线路板。做出线路板后再打孔,注意钻头尺寸。然后是元器件的焊接,焊接时要注意元器件的正负极,不要焊错。还要注意不要虚焊,虚焊是很难检查的。因为是双面板,有铜线相连的焊盘正反面都要焊,以确保线路连通,所以必须万分仔细,避免漏焊。5.2调试 5.2.1系统硬件调试在系统上电开始测量前,要用万用表的电压档对被测电压进行估测,然后以此选择适当的量程,防止过大电压烧坏A/D转换器。首先用万用表按照原理图逐步检查印刷板中各器件的电源及各引脚的连接是否正确,有否断路、短路或者虚焊,尤

35、其是给电路供电的电源部分要重点检查,用数字万用表测量输出端的电压是否为+5V,是否稳定,能输出+5V,且稳定即可说明电源电路的设计基本达到要求。如果电压要求没有达到,要及时排查给与解决,以免烧坏芯片和其他元器件。5.2.2 系统软件调试 软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序的错误,同时也能发现硬件的故障。软件调试是一个模块进行的。首先单独调试各子程序是否能够按照预期的功能,接口电路的控制是否正常。最后调试整个程序。尤其注意的是各模块间能否正确的传递参数。1) 检查LED显示模块程序。在主程序中调用DISPLAY()和DISLAY_ZIFU()函数,观察在LED上是否能够

36、显示相应的字符。如果不能,则在相关的子程序中设计断点,反复调试直到能够显示。2) 检查按键模块程序。本设计的按键模块程序是用状态机的方法,可以在KEY_STATEL状态下加一个任务,如显示一个字符在LED上。观察是否能正确显示。3) 检查A/D转换模块程序。可以在硬件电路的输入端输入已知的几个电压,分别观察LED上是否能显示相应的电压值。4) 检查数据的转换模块程序。可以输入相应电压,观察LED显示的电压值是否一致。如果一致。则数据转换的算法正确的。5) 总调试。当相应的各模块环节都正确后,可程序下载到单片机。接上电源运行。再检查所有功能,观察是否能预期的一样。如果一样,说明设计成功完成。在一

37、开始调试时,数码管的显示较不稳定,感觉较闪烁,数据变化不连贯,好像在跳变。经过反复思考发现,一开始程序是使用静态显示方法。查了很多资料发现,一般数码管显示采用动态扫描的方法,于是将程序的显示部分改成动态扫描程序,经再次调试可以显示比较稳定的数字串了。5.2.3 调试心得回顾起此次毕业设计,我感慨颇多,从理论到实践,在整整几个月的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际

38、动手能力和独立思考的能力。在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。5.2.4测试数据调试完后,对电路进行精度、准确度进行测试,为了保证精确度,要多测几个点,除了零点和满度值外,再选择两个中间值进行比较,测试结果如表5.1所示。表5.1测试数据表输入值(V)测量值(V)0000011.00021.97932.98143.99654.998以上数据符合要求,测试成功。6. 结论经过接近两个月的努力,终于完成了毕业设计简易数字电压表的设计。无论是在硬件连

39、接方面还是在软件编程方面,都取得了新的收获。本次实验采用了AT89S52单片机芯片,与以往我们所熟悉的C51芯片有许多不同之处,通过本次设计,我对其之间区别有了一定的认识,S52在C51的基础上增加了许多新的功能,使其功能更完善。经过这个设计,在大学多门专业课的知识都得到了巩固的同时,对自己的身心也有很好的帮助。由于第一次做这种设计,对电路的理解,元器件的多样性等理解的不是很透彻,现在电子器件发展日新月异,新的器件如雨后春笋般出现,也不可能一一尝试,所以还肯定有很多值得改进的地方。在以后的实践中,我将继续努力学习电子电路设计,力争取得更大的进步。毕业设计培养了严肃认真和实事求是的科学态度。而且

40、培养了吃苦耐劳的精神以及相对应的工程意识,同学之间的友谊互助也充分的在毕业设计当中体现出来了,特别是在之前的查找资料,身旁的同学都给予了不少的帮助与支持。27参考文献1沙占友.新型数字电压表原理与应用M. 北京:机械工业出版社,2006, 1-52 余永权,汪明慧,黄英.单片机在控制系统中的应用M.北京:电子工业出版社,2003, 34-563 叶挺秀.应用电子学M.浙江:浙江大学出版社,1994,34-56.4 王宝香.数字电压表自动测试系统J宇航计测技术,1998,(11),5-125 朱承高.电工及电子技术手册M.北京:高等教育出版社,1990,60-65.6 何立民单片机高级教程应用与

41、设计M北京:北京航空航天大学出版社,2000,53-607 刘乐善,李红,于林韬.单片机原理及应用(第3版)M.北京:电子工业出版社50-558 胡汉才.单片机原理及接口技术M.北京:清华大学出版社,2000,88-89.9 刘文涛单片机应用开发实例M北京:清华大学出版社,2005,16-31 10 李广弟,朱月秀.单片机基础(第3版)M.北京:北京航空航天大学出版社,2007,212-214.11 童诗白,华成英.模拟电子技术基础M.北京:高等教育出版社,2005,21-33.12 胡辉,李叶紫,胡力平.单片机应用系统开发综合实例M.北京:清华大学出版社,2007,211-217.13 王毓

42、银.数字电路逻辑设计M.北京:高等教育出版社,2003,111-115.14 李朝青.单片机原理及接口技术M.北京:北京航天航空出版社,1990,150-155.16何立民.单片机高级教程应用与设计M北京:北京航空航天大学出版社,2000,53-6017王港元.电工电子实践指导M.江西:江西科学技术出版社,2005,30-32.18 J. Frank. Instrumentation for Process Measurement and ControlM.BEIJING: Science Publishing House,2000, 60-79.附 件附件1 实物图附件2 系统原理图附件3

43、系统PCB图附件4 元器件清单表器件类别元件序号型号参数数量参考价封装形式单片机89S521晶振6MHz1四联体数码管共阳1开关按键开关3普通电容30pF2电解电容10uF1普通电阻200810K24.7K4可变电阻10K1三极管PNP4A/D转换器ADC08091分频器74HC741附件5 简易数字电压表的源程序#include#include#includenumber10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;number110=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10

44、;sbit four=P20;sbit three=P21;sbit two=P22;sbit one=P23;sbit ST=P30;sbit OE=P31;sbit EOC=P32;unsigned int adcdata, adcdata3;unsigned int i;unsigned int adc08;unsigned int k;unsigned int avedata();void show();void delay_2ms();void main() P2=0xff; P3=0xff; OE=0; ST=0; ST=1; while(1) ST=0; while(!EOC); OE=1; adcdata=avedata(); show(); ST=1; /- void show() unsigned int adcdata1; adcdata1=adcdata*19; four=0; P1=number1adcdata1/1000; adcdata1%=1000; delay_2ms(); four=1; three=0; P1=numberadcdata1/100; adcdata1%=100; del

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号