数字电压表的设计【开题报告+文献综述+毕业论文】

数字电压表的设计【开题报告+文献综述+毕业论文】

ID:464501

大小:721.24 KB

页数:44页

时间:2017-08-05

上传者:U-944
数字电压表的设计【开题报告+文献综述+毕业论文】_第1页
数字电压表的设计【开题报告+文献综述+毕业论文】_第2页
数字电压表的设计【开题报告+文献综述+毕业论文】_第3页
数字电压表的设计【开题报告+文献综述+毕业论文】_第4页
数字电压表的设计【开题报告+文献综述+毕业论文】_第5页
资源描述:

《数字电压表的设计【开题报告+文献综述+毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

本科毕业论文系列开题报告通信工程简易数字电压表的设计一、课题研究意义及现状在电量的测量中,电压、电流和频率是最基本的三个被测量。其中,电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受用户青睐,数字式电压表就是基于这种需求而发展起来的。数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流或交流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求。采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。综合大部分资料文献之后发现,数字电压表一般有数字电路实现,单片机实现等。由数字电路及芯片构建的数字电压表一般又分为三位半和四位半,即分别有三位完整显示位和四位完整显示位,最高位都只显示0或者1。它由模拟电路与数字电路两大部分组成,模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器中个组模拟开关接通或断开,保证A/D转换正常进行。A/D转换结果通过计数译码电路变换成段码,最后驱动显示器显示出相应的数值。单片机的发展已经成熟,利用单片机系统的软硬件结合,单片机起着连接硬件电路与程序运行及存储数据的任务,一方面,它将A/D转换器、显示器和语音芯片等通过I/O口地址线和数据线连接起来;另一方面,它将用户下载的程序通过控制总线控制数据的输入输出,从而实现册电压的功能。传统的模拟电压表不仅使用不方便,而且测量的精度也往往达不到要求,给使用者造成误差及损失。本设计利用单片机系统结合AD采集芯片,不仅成本上比过去低廉,测量时使用方便,携带也方便,最主要的是精度高并且可控制,符合科技潮流的发展。 目前,各种数字电压表已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。二、课题研究的主要内容和预期目标主要内容:方案总体设计;控制系统硬件电路设计(显示采用4位数码管或液晶模块)软件流程图设计,程序编写;电气原理图的绘制。方案:采用的是Atmel公司生产的AT89C51。它是低电压、低功耗、高性能的CMOS8位单片机,单片机起着连接硬件电路与程序运行及存储数据的任务,一方面,它将A/D转换器、显示器和语音芯片等通过I/O口地址线和数据线连接起来;另一方面,它将用户下载的程序通过控制总线控制数据的输入输出,从而实现册电压的功能。A/D转换器选用的是ADC0809。AD0809为逐次逼近法8位模拟输入的芯片(所以分辨率为8位),转换电压为-5V~+5V,转换时间为100uS,单一+5V电源供电。与双积分A/D转换器相比,逐次逼近法A/D转换器在精度、速度和价格上都适中,是最常用的A/D转换器,能够符合实验中的要求。基本目标:简易数字电压表可以测量0-5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。测量最小分辨率为0.019V,测量误差为0.02V。LED显示器ADC0809电源电路串口通信上点复位单片机三、课题研究的方法及措施由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。本课题所设计的电压表就是采用单片机的方案。方案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电压表。系统框图如下图:图1-1数字电压表系统设计方案框图本课题的单片机采用的是Atmel公司生产的AT89C51。它是低电压、低功耗、高性能的CMOS8位单片机。除主控设备之外 另一个起核心芯片A/D转换芯片,A/D转换器选用的是ADC0809。AD0809为逐次逼近法8位模拟输入的芯片(所以分辨率为8位),转换电压为-5V~+5V,转换时间为100uS,单一+5V电源供电。与双积分A/D转换器相比,逐次逼近法A/D转换器在精度、速度和价格上都适中,是最常用的A/D转换器,能够符合实验中的要求。这次实验ADC0809在进行A/D转换时需要有CLK信号。产生CLK信号只有用软件来实现了,这是最大的难点。还有单片机不支持小数,还要把把信号扩大再放入寄存器里。难点会有很多,要多翻过去做的类似的实验,上网查资料和请教老师同学的帮助来解决。四、课题研究进度计划毕业设计期限:自2010年10至2011年5月。第一阶段(5周):学习和查找89C52单片机相关理论知识,熟悉相关开发软件以及调试用开发板,完成开题报告、文献综述、外文翻译。具体安排如下:第1周:查找相关资料,了解频率脉冲算法.第2周:查找并学习89C52单片机资料,熟悉SilicomLaboratoriesIDE以及KEILC51开发软件,调试开发板;第3、4周:完成外文翻译、文献综述、开题报告;第5周:准备所需元器件以及前期工作总结。第二阶段(5周):设计相关的控制程序,进行系统调试和测试。第1周:编写频率脉冲算法程序及调试;第2周:A/D模数转换程序编写及调试;第3周:显示电路程序编写及调试;第4周:系统调试;第5周:其他辅助功能扩展,整理资料为后期写论文作准备。第三阶段(2周):写论文及其他要求的文档。五、参考文献[1]万光毅,孙九安等. SoC单片机实验、实践与应用设计--基于C8051F系列[M]. 北京:北京航天航空大学出版社,2006,5.[2]潘琢金,施国君等. C8051F单片机应用解析[M]. 北京:北京航天航空大学出版社,2002,[3]Silicon Laboratories. C8051F0XX datasheet[M].http://www.silicon.com.[4]教育部高等教育司.数字式交流毫伏表的研制.高等学校毕业设计指导手册.[5]苏家键/曹柏荣/汪志锋.模拟量输入输出接口技术.单片机原理及应用技术. [6]秦辉,李静,董蓓蓓.全自动数字万用表的设计[J].自动化与仪表,2010(01):14-17.[7]吴宁.语音数字万用表的单片机实现[J]. 淮南职业技术学院学报,2006(01): 82-84.[8]王西超.5位半台式数字万用表的研究与设计[D].西安电子科技大学, 2009.[9]谢自美.MC14433构成的31/2位数字电压表设计.电子线路设计*实验*测试.[10]周立功等编.单片机实验与实践.[11]吴国经/丁辉/杨文新.A/D转换电路与单片机的接口.单片机应用技术. 毕业论文文献综述通信工程数字电压表设计综述摘要:本文首先介绍了数字电压表的分类,重点阐述了各种数字电压表的工作原理,并总结了数字电压表目前常用的实现方案,且给出各种方案的系统结构图。最后给出全文总结和数字电压表的应用。关键词:数字电压表;分类;数字电路;单片机1引言在电量的测量中,电压、电流和频率是最基本的三个被测量。其中,电压量的测量最为经常。随着电子技术的发展,更是经常需要测量高精度的电压,传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,所以数字电压表就成为一种必不可少的测量仪器。数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流或交流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。另外,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受用户青睐[1]。2数字电压表的分类以及工作原理数字电压表的种类有多种,分类方法也很多。按位数分有3位半、5位、8位;按测量速度分:高速、低速;按体积、重量分:袖珍式、便携式和台式。但通常是按A/D转换方式的不同将DVM分成两大类,一类是直接转换型,也称比较型;另一类是间接转换型,又称积分型,包括电压-时间变换(VT变换)和电压-频率变换(V-f变换)。其具体的工作原理如下。(1)逐次逼近比较型。逐次逼近比较型电压表是利用被测电压与不断递减的基准电压进行比较,通过比较最终获得被测电压值,然后送显示器显示的。虽然逐次比较需要一定时间,要经过若干个节拍才能完成,但只要加快节拍的速度,还是能在瞬间完成一次测量的。图1是逐次逼近比较型数字电压表的原理框图【2】【3】。 图1逐次逼近比较型数字电压表的原理框图(2)电压-时间变换型。所谓电压-时间变换型是指测量时将被测电压值转换为时间间隔△t,电压越大,△t越大,然后按△t大小控制定时脉冲进行计数,其计数值即为电压值【4】【5】。电压-时间变换型又称为V-T型或斜坡电压式,其原理框图如图2所示。控制器ST是电压表的指挥部,它每隔一定时间就发出一个启动脉冲,一方面利用启动脉冲打开控制门T,让等间隔的标准时间脉冲序列能通过控制门进入十进制计数器;另一方面启动脉冲触发斜坡电压发生器,使它开始产生一个直线上升的斜坡电压,在斜坡电压上升的过程中,斜坡电压不断与被测电压在电压比较器中进行比较,当斜坡电压等于被测电压Ux时,电压比较器即发出关门信号,将T门关闭。这时十进制计数器所保留的数就是T门从开启到关闭的时间间隔中,通过T门的标准时间脉冲的个数。被测电压Ux越大,斜坡电压从零上升到被测电压Ux,值所需要的时间、T门开启时间也越长,计数器所计数值也越大,利用数码显示器将计数器所计数值显示出来,所计的数就是通过T门的脉冲个数。适当选择标准脉冲发生器的重复频率和斜坡斜率,就能使通过T门的脉冲个数与被测电压值相等,显示器上便可以直接显示出被测电压值【6】。图2电压-时间变换型原理框图 (3)电压-频率变换型。所谓电压-频率变换型是指测量时将被测电压值转换为频率值,然后用频率表显示出频率值,即能反映电压值的大小【7】。这种表又称为V-f型,图3为V-f型数字电压表原理框图。图3V-f型数字电压表原理框图图中有两个振荡器,HO为固定频率振荡器,AO为可控频率振荡器。利用被测电压直接控制AO的输出电压频率,使被测电压越大,频率就越高,经混频器混频之后,输出的频率也越高;当被测电压为零时,让可控频率振荡器AO输出的频率等于HO的频率,经混频器混频之后,输出频率为零。这样就能通过可控频率振荡器,把被测电压值转换为频率值,然后通过计数显示出来。只要适当选择AO和HO的振荡频率,就能够使显示器读数直接等于被测电压值。相对而言逐次逼近比较型较容易实现,且较简单;电压-时间变换型数字电压表准确度也比较高。3数字电压表的实现方案概述(1)数字电路及芯片构建方案概述文献[七]利用数字电路及芯片设计的数字电压表一般又分为三位半和四位半,即分别有三位完整显示位和四位完整显示位,最高位都只显示0或者1。此类电压表组成框图见图4。 图4数字芯片实现数字电压表的示例图该数字电压表主要由模拟电路与数字电路两大部分组成【7】【8】。模拟部分包括输入放大器、A/D转换器和基准电压源;数字部分包括计数器、译码器、逻辑控制器、振荡器和显示器。其中,A/D转换器是它的核心器件,它将输入的模拟量转换成数字量。由图可见,模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器中个组模拟开关接通或断开,保证A/D转换正常进行。A/D转换结果通过计数译码电路变换成段码,最后驱动显示器显示出相应的数值。其中,核心部分的A/D转换芯片有ICL7107、ICL7135、CC7106、MC14433等可以选择【9】。(2)单片机方案概述目前单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来【10】。单片机方案所实现的数字电压表是利用单片机系统与模数转换芯片、显示模块等的结合聊构建数字电压表。其系统框图见图5。图5单片机实现数字电压表的构架图 在该实现方案中,单片机的选型可以非常广泛,可采用的是Atmel公司生产的51系列,也可以采用其他公司的单片机。在设计中,单片机起着连接硬件电路与程序运行及存储数据的任务,一方面,它将A/D转换器、显示器和语音芯片等通过I/O口地址线和数据线连接起来;另一方面,它将用户下载的程序通过控制总线控制数据的输入输出,从而实现测量电压的功能。在该方案中,除了起关键作用的单片机外,另一个起核心作用的也是A/D转换芯片。其中,A/D转换器可选用的8位A/D,10位A/D或者更高位数的A/D,常用的有ADC0809等。当然位数越高,测量的准确度就越高。AD0809的IN口首先对模拟电压信号进行采集,然后START口启动A/D转换,当转换结束时,EOC口由低电平跳变为高电平,发出一个转换结束信号,用户通过程序设定的外部中断/INT1接收到此信号,作为中断请求源向CPU申请中断,使CPU读取转换结果,至此模拟信号就完成了一次转换【11】。4总结在现代电子科技的高速发展过程中,微型化、集成化、高密度化以及设备的高精度化已经成为一种长期的趋势,这就要求我们力求使用更精确的设备,其中当然包括测量工具。目前,各种数字电压表已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。参考文献[1]万光毅,孙九安等. SoC单片机实验、实践与应用设计--基于C8051F系列[M]. 北京:北京航天航空大学出版社,2006,5.[2]潘琢金,施国君等. C8051F单片机应用解析[M]. 北京:北京航天航空大学出版社,2002,[3]Silicon Laboratories. C8051F0XX datasheet[M].http://www.silicon.com.[4]教育部高等教育司.数字式交流毫伏表的研制.高等学校毕业设计指导手册.[5]苏家键/曹柏荣/汪志锋.模拟量输入输出接口技术.单片机原理及应用技术.[6]秦辉,李静,董蓓蓓.全自动数字万用表的设计[J].自动化与仪表,2010(01):14-17.[7]吴宁.语音数字万用表的单片机实现[J]. 淮南职业技术学院学报,2006(01): 82-84.[8]王西超.5位半台式数字万用表的研究与设计[D].西安电子科技大学, 2009. [9]谢自美.MC14433构成的31/2位数字电压表设计.电子线路设计*实验*测试.[10]周立功等编.单片机实验与实践.[11]吴国经/丁辉/杨文新.A/D转换电路与单片机的接口.单片机应用技术.[12]赵晓安.MCS-51单片机原理及应用.天津:天津大学出版社,2001.3. 本科毕业设计(20届)数字电压表的设计摘要 数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。该仪表在工业自动化仪表、电子和电工测量、自动测试系统等领域得到了广泛的应用。课题主要完成一个简易的数字电压表的设计。经方案选型和论证后,采用C8051F005作为主控单片机,选用单片机内部的12位模数转换器作为电压信号的采集,利用按键选择采集通道,经数据处理后,通过7段LED数码管进行显示。单片机的软件部分主要实现电压数据的采集、转换、处理与输出显示。主要由初始化子程序、ADC子程序、数据处理子程序以及按键和显示子程序构成。经软硬件设计和系统调试后,该电压表的能测量0V到5V范围内的直流电压,测量误差约为0.02V,符合任务书要求,且读数准确,测量方便。关键词:数字电压表;单片机;模数转换;C8051F005Abstract DigitalvoltmeterreferredDVM.itistheuseofdigitalmeasuringtechnology,toconvertcontinuousanalogintonotcontinuous,discretedigitalformanddisplayedintheinstrument.Theinstrumentintheindustrialautomationinstruments,electronicandelectricalmeasurement,automatictestsystemsandotherfieldshaveawiderangeofapplications.Thethesisdescribeshowtodesignadigitalvoltmeter.Afterplanselectionandverification,thedesignusesC8051F005asthecoremicrocontroller,usestheinternal12-bitMCUasavoltagesignalacquisition,usesbuttontoselectacquisitionchannels.Afterthedataprocessing,themeasurementdataisdisplayedonthe7-segmentLEDdigitaltube.TheSCMsoftwarecontrolsthevoltmetertoacquire,converse,handleandoutputthevoltagedata.Thesoftwareismainlymadeupbytheinitializationroutine,ADCsubroutine,subroutines,anddataprocessinganddisplayroutines.Afterthehardwareandsoftwaredesigningandsystemdebugging,thevoltagemetercanmeasuretherangeof0Vto5VDCvoltage,measurementerrorisabout0.02V.Thedesignmeetstherequirementsofthemissionstatement,andthereadingisaccurate,convenientmeasurements.Keywords:DigitalVoltmeter;MCU;ADC;C8051F005目录 1引言11.1课题的背景和意义11.2论文构架12总体设计32.1设计要求32.2数字电压表实现方案概述32.3所选方案构架63硬件设计83.1主控芯片选型83.1.1现有单片机类型83.1.2主控单片机介绍93.1.3ADC子系统123.2单片机开发板介绍134软件设计174.1软件总体构架174.2系统时钟选择及初始化程序184.2.1系统时钟选择184.2.2交叉开关配置194.2.3A/D转换器初始化204.2.4定时器3初始化204.3ADC程序204.3数据处理214.4按键处理224.5小结245调试分析255.1测试表255.2性能分析256总结26参考文献27 附录1毕业设计作品说明书28 1引言1.1课题的背景和意义数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。该仪表在工业自动化仪表、电子和电工测量、自动测试系统等领域得到了广泛的应用。传统的指针式电压表利用通电导体产生磁场,与固定磁体(或固定的线圈通电后形成磁场)的磁场间产生转动力矩,从而使指针转动。这类电压表一般内部没有放大器,所以内阻较小,比如比如MF-10型,直流电压灵敏度为100千欧/伏。MF-500型的直流电压灵敏度为20千欧/伏。数字式万用表由于内部采用了运放电路,内阻可以做得很大,往往在1M欧或更大(即可以得到更高的灵敏度)。相对于传统指针式电压表功能单一、精度低,采用单片机的数字电压表有着精度高、抗干扰能力强,可扩展性强、集成方便,可以与PC进行实时通信等诸多优点。新型数字电压表以其高准确度、高可靠性、高分辨率、高性价比等优良特性倍受人们的青睐【1】。本设计的方案采用A/D转换器来实现把接收到的模拟信号转换成数字信号,高速单片机实现信号的处理和其他操作,同时将处理结果交给显示单元显示和储存单元。因此该仪器具有结构简单、智能化、低成本和便于携带的特点【2】。通过本次设计,可以使我更加深入了解数字电压表的用途和各种软硬件的实现方法。了解C8051F单片机如何利用各模块实现模拟信号的采集、转换、运算与输出。这次设计中融入了所学的专业知识,使理论在实际中得到充分的应用,不但巩固加深了所学的专业知识,更拓宽了知识面,锻炼了独立思考问题以及独立选择项目方案和独立完成项目的能力。1.2论文构架论文主要围绕如何完成数字电压表的设计而展开,分别从总体方案设计、硬件设计、软件设计以及整机调试和分析等几个方面进行详细叙述,具体的章节结构如下: 本文共分七章,主要介绍第一章主要是概述,重点介绍本课题的背景、意义和主要内容。第二章介绍了设计要求和设计总体方案。第三章介绍了硬件设计,包括单片的类型,以及我们最终选定C8051F005作为本次设计的主控核心,使用的单片机开发板也着重介绍。第四章主要介绍了软件设计的总体方案,还包括系统时钟选择及初始化程序,对交叉开关配置,A/D转换器初始化定时器3初始化,以及怎样对ADC采集到的数据进行处理和按键处理。第五章主要对系统测试结果进行记录和分析。第六章对全文进行总结。 1总体设计1.1设计要求课题要求设计一数字电压表,其具体设计指标如下:(1)信号的幅度范围为0~5V。(2)最小分辨率为0.019V,测量误差为0.02V。(3)可以测量8路输入电压值。(4)在LED数码管上轮流显示或单路选择显示。1.2数字电压表实现方案概述数字电压表的实现方案很多,总体说来,主要有通用集成电路方案、FPGA方案以及单片机方案。方案一:在电子行业,集成电路的应用非常广泛,每年都有许许多多通用或专用的集成电路被研发与生产出来,本方案采用ICL7107芯片和共阳极半导体数码管设计数字电压表【3】。设计分为测试电压转换、模拟电压通道、数据电压通道(A/D转换及译码锁存)、数码显示、小数点驱动电路5部分系统图见图2-1。图2-1通用集成电路设计数字电压表的系统框图ICL7107是双积型的A/D转换器,还集成了A/D 转换器的模拟部分电路,如缓冲器、积分器、电压比较器、正负电压参考源和模拟开关,以及数字电路部分如振荡源、计数器、锁存器、译码器、驱动器和控制逻辑电路等,使用时只需外接少量的电阻、电容元件和显示器件,就可以完成模拟到数字量的转换,从而满足设计要求。显示稳定可读和测量反应速度快,是本设计的关键。ICL7107的一个周期为用4000个计数脉冲时间作为A/D转换的一个周期时间,每个周期分成自动稳零(AZ)、信号积分(INT)和反积分(DE)3个阶段。内部逻辑控制电路不断地重复产生AZ、INT、DE3个阶段的控制信号,适时地指挥计数器、锁存器、译码器等协调工作,使输出对应于输入信号的数值。而输入模拟量的数值在其内部数值上等于计数数值T,即:VIN的数值=T的数值或Vin=Vref(T/1000)式中:1000为积分时间(1000个脉冲周期);T为反积分时间(满度时为2000)。方案二:在硬件电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一【4】。本方案用FPGA芯片和VHDL语言设计数字电压表【5】。数字电压表由控制模块、数据处理模块、扫描与显示模块构成,系统图见图2-2。ADC0804FPGA模拟信号输入采集信号输出CSWRRRDINTRR8.88图2-2采用FPGA设计的数字电压表硬件结构图控制模块:用状态机作法,产生ADC0804的片选信号、读/写控制信号,通过状态信号INTR判断转换是否结束;转换结束后将转换数据锁存并输出【6】。数据处理模块:ADC0804是8位模数转换器,它的输出状态共有28=256种,如果输入信号Vin为0~5V电压范围,则每两个状态值为5/(256-1),约为0.0196V,故测量分辨率为0.02V。常用测量方法是:当读取到DB7~DB0转换值是XXH时,电压测量值为U≈XXH× 0.02V;考虑到直接使用乘法计算对应的电压值将耗用大量的FPGA内部组件,本设计用查表命令来得到正确的电压值。在读取到ADC0804的转换数据后,先用查表指令算出高、低4位的两个电压值,并分别用12位BCD码表示;接着设计12位的BCD码加法,如果每4位相加结果超过9需进行加6调整。这样得到模拟电压的BCD码。扫描、显示模块:如图2-3所示,CLK是扫描时钟,其频率为1kHz,由给定的40MHz时钟分频得到;DATA_IN是数据处理模块输出的电压值的BCD码;SEL是数码管的片选信号;POINT是数码管小数点驱动;通过扫描分别输出3位电压值的BCD码DATA_OUT,并通过DISP将BCD码译成相应的7段数码驱动值,送数码管显示【7】。图2-3扫描、显示模块采用现场可编程门阵列即FPGA为系统核心,是当今电子产品设计的热门发展方向。系统最大限度地将所有器件集成在FPGA芯片上,体积大大减小、集成度高,可靠性高。而且逻辑单元控制灵活、适用范围极广,实现了大规模和超大规模电路的集成。其硬件功能完全由软件编程实现,修改调试方便,在不改变原有电路的基础上便可实现系统升级【8】。方案三:基于AT89S51单片机设计数字电压表。模拟电压送到A/D转换器进行A/D转换,采用ADC0809;然后送到单片机中进行数据处理,单片机为AT89S51;处理后的数据送到锁存器中锁存,作为共阴数码管的驱动电路;最后将锁存的信号送到两位LED数码管显示。方案主要由A/D转换模块,控制模块,显示模块构成,系统图见2-4。89S51单片机输入电路74LS373锁存A/D转换LED显示图2-4单片机实现数字电压表的系统框图输入电路: 输入电路的作用是把不同的被测的电压规范到A/D转换器所要求的电压值。本设计的输入电压为0~+5V。本仪表设计是0~+5V电压,灵敏度高所以可以不加前置放大器。A/D转换电路:A/D转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。本设计采用逐次逼近A/D转换器,电路结构简单。此芯片的优点在于结构简单,缺点是精度较低。单片机:AT89S51是高性能CMOS8位单片机,片内含4Kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,74LS373锁存:系统涉及的显示模块是共阴极的两位数码管,单片机的I/O口直接给出的信号给LED数码管无法达到适合的效果,因此在单片机输出口与显示模块之间加一驱动装置,这里采用74LS373锁存器。显示电路:锁存器的输出信号给数码管显示。本系统用单片机构成数字电压表控制系统,具有精度高、速度快、性能稳定和电路简单且工作可靠等特点,具有很好的使用价值。1.1所选方案构架方案三运用单片机实现数字电压表,不但功能满足要求,而且还有如此多的优点。我们学习了电子综合设计这课程,对单片机的知识更熟悉。因此选择单片机方案来做数字电压表。单片机种类繁多,我们可以挑选不同的单片机,但设计的总体框图还是一样的,图2-5显示设计的一般框图。按键输入A/D转换电路电压信号控制核心放大电路数字显示图2-5单片机来实现数字电压表的一般系统框图放大电路:放大电路主要负责将传感器输出的微弱电信号放大,便于完成模数转换。 A/D转换器:将转入的模拟量转换成数字量是数字电压表的核心。控制核心:对输入的信号进行处理及计算,并输出数码管显示。按键输入:控制单片机实现特定功能。数字显示:通过数码管显示出来。 1硬件设计硬件是指我们能看得见,摸得着的机器设备,是相对于软件而言的。硬件是整个系统的基础,一切功能都将在完好的硬件上实现,离开硬件,仪器就没有任何价值,或者说,数字电压表就是仪器,就是硬件。下面介绍数字电压表的各个模块的硬件及其原理图。1.1主控芯片选型1.2现有单片机类型现在单片机种类繁多,按照位宽可分为4位、8位、16位和32位机。8位单片机的控制功能较强,品种最为齐全。和4位单片机相比,它不仅具有较大的存储容量和寻址范围,而且中断源、并行I/O接口和定时器/计数器个数都有了不同程度的增加,并集成有全双工串行通信接口。在指令系统方面,普遍增设了乘除指令和比较指令。特别是8位机中的高性能增强型单片机,除片内增加了A/D和D/A转换器外,还集成有定时器捕捉/比较寄存器、监视定时器(Watchdog)、总线控制部件和晶体振荡电路等。代表产品有Intel公司的MCS-48系列和MCS-51系列、Microchip公司的PIC16C××系列和PIC17C××系列以及PIC1400系列、Motorola公司的M68HC05系列和M68HC11系列、Zilog公司的Z8系列、荷兰Philips公司的80C51系列(同MCS-51兼容)、Atmel公司的AT89系列(同MCS-51兼容)、NEC公司的UPD78××系列等等[9]。C8051F系列是告诉单片机,内部都有一个ADC子系统。并且采用虚拟外设的方法将I/O的固定方式转变位软件设定方式,配置更加灵活。C8051F在8位单片机中率先配置了标准的JTAG接口(IEEE1149.1),可以通过串行的JTAG接口直接对产品系统进行仿真调试。C8051的多复位源提供了上电复位、掉电复位、外部引脚复位、软件复位、时钟检测复位、比较器0复位、WDT复位和引脚配置复位[10]。众多的复位源为保障系统的安全、操作的灵活性以及零功耗系统设计带来极大的好处。 由此可见,C8051F作为本课题的控制芯片,不但能符合设计的功能要求,而且能简化电路,从而减小误差,降低成本。根据在电子综合设计这门课程上学到的单片机知识,确定单片机类型就是C8051F005。1.1主控单片机介绍本系统的微处理器采用siliconlaboratories公司的C8051F005单片机。该器件是完全集成的混合信号系统级MCU芯片,片内集成12位多通道ADC有一个可编程增益放大器、两个12位DAC、两个电压比较器、一个电压基准、一个具有32K字节FLASH存储器并与8051兼容的微控制器内核、I2C/SMBus、UART、SPI串行接口及一个具有5个捕捉/比较模块的可编程计数器/定时器阵(PCA)、4个通用的16位定时器和4字节宽的通用数字I/O端口、2304字节的RAM,执行速度可达25MIPS[11]。这些具有片内VDD监视器、WDT和时钟振荡器的MCU是真正能独立工作的片上系统。每个MCU都能有效地管理模拟和数字外设。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。每个MCU都可以关闭任何一个或全部外设以节省功耗。片内JTAG调试支持功能允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用JTAG调试时,所有的模拟和数字外设都可全功能运行【9】。C8051F005片内结构如图3-1。 图3-1C8051F005片内结构MCU系统的CPU是CIP-51。CIP-51与MCS-51TM指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发[12]。CIP-51微控制器内核除了具有标准8051的组织结构和外设以外,另有增加的定制外设和功能,大大增强了它的处理能力(见图3-2的原理框图)。CIP-51具有下列特点:–与MCS-51指令集完全兼容–扩展的中断处理系统–在时钟频率为25MHz时的峰值执行–复位输入速度为25MIPS–电源管理方式–0到25MHz的时钟频率–片内调试电路–4字节宽的I/O端口–程序和数据存储器安全 图3-2CIP-51原理框图CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。在一个标准的8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,并且通常最大系统时钟频率为12MHz。而对于CIP-51内核,70%的指令的执行时间为1或2个系统时钟周期,没有执行时间超过8个系统时钟周期的指令[11]。CIP-51工作在最大系统时钟频率25MHz时,它的峰值速度达到25MIPS。CIP-51共有111条指令【9】。 1.1ADC子系统C8051F000/1/2/5/6/7的ADC子系统包括一个9通道的可配置模拟多路开关(AMUX),一个可编程增益放大器(PGA)和一个100ksps、12位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟踪保持电路和可编程窗口检测器(见图3-3的原理框图)。AMUX、PGA、数据转换方式及窗口检测器都可用软件通过图3-3所示的特殊功能寄存器来配置。图3-312位ADC功能框图ADC使用VREF来确定它的满度电压,因此在进行一次转换之前必须正确设置这个参考电压。ADC的最高转换速度为100ksps,转换时钟来源于系统时钟。可以通过设置ADC0CF寄存器的ADCSC位将转换时钟的速度降为系统时钟的1/2、1/4、1/8或1/16。这一功能用于根据不同的系统时钟速度调整转换速度[13]。有4种A/D转换启动方式,由ADC0CN的ADC启动转换方式位(ADSTM1,ADSTM0)的状态决定。转换触发源有:1.写1到ADC0CN的ADBUSY位;2.定时器3溢出(即定时的连续转换);3.外部ADC转换启动信号的上升沿,CNVSTR;4.定时器2溢出(即定时的连续转换)。 1.1单片机开发板介绍课题选用的实验板的核心器件就是采用C8051F005单片机和EPM1270T144C5可编程器件。其中C8051单片机可以完成软件设计等任务,EPM1270可编程器件可以完成硬件逻辑设计等任务。两者均留有丰富的外部接口。两者之间的通信是通过自定义的总线形式进行。同时,EPM1270接口了数码显示、LED显示、按键、蜂鸣器等电路。可以通过EPM1270直接进行控制。如果要通过C8051单片机来访问,则需要通过EPM1270和C8051之间的总线接口。其具体接口图见图3-4。FPGA单片机6个七段数码管4个LED灯蜂鸣器4个按键5根地址P1.0-1.44根数据P2.0-2.3写信号P1.6读信号P1.7图3-4电子综合设计实验板主板的结构框图在本次设计中主要采用C8051单片机完成模拟信号采集、数字信号的处理以及计算、按键输入控制和数据显示功能。在课题中,所用到的数码显示、按键等电路原理图及具体概述如下。 图3-5数码显示的实验电路原理图图3-5为数码显示的实验电路原理图,译码芯片选用CD4511,地址选择(即点亮不同的数码管)采用74LS138芯片。数码管采用共阴接法。74LS138为3线-8线译码器(如图3-6),其工作原理如下:图3-674LS138引脚图当一个选通端(E1)为高电平,另两个选通端(E2)和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A0A1A2=110时,则Y6输出端输出低电平信号。 CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器,特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。CD4511是一片CMOSBCD—锁存/7段译码/驱动器,引脚排列如图3-7所示。其中a、b、c、d为BCD码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时,B1端应加高电平。另外CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。a~g是7段输出,可驱动共阴LED数码管。图3-7CD4511引脚图其功能介绍如下:    BI:4脚是消隐输入控制端,当BI=0时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。    LT:3脚是测试输入端,当BI=1,LT=0时,译码输出全为1,不管输入DCBA状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。   LE:锁定控制端,当LE=0时,允许译码输出。LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。    A1、A2、A3、A4、为8421BCD码输入端。    a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。 图3-8按键及LED显示的实验电原理图图3-8为按键及LED显示的实验电原理图。从图中可以看出,按键平时接高电平,按下为低电平。LED则为输入低电平时点亮。 1软件设计1.1软件总体构架本系统软件设计主要实现模拟信号的采集、转换、处理与输出显示。由于C语言表达和运算能力比较强,且具有很好的可移植性和硬件控制能力,则采用C语言实现。总体程序流程图如图4-1所示。系统时钟、端口初始化定时器3、ADC0初始化开总中断数码管显示ADC0_DONE=0YNADC0_DONE=1开ADC0中断模拟计算是否按键?等待N按键处理程序图4-1总方案流程图系统开机先进行各类初始化(系统时钟、端口、定时器3及ADC),其次开总中断。接着进入按键判断,在按键判断中先判断是否有按键按下。如果没有ADC进入等待状态。如果有选择通道并确认的按键处理发生,AD转换完成(即ADC0_DONE=1),进行模拟信号转换成数字信号的计算。得到的数字信号输送到数码管显示。清AD转换完成标志ADC0_DONE=0,开ADC0 中断,进行新的AD数据采样。并AD转换的同时进行按键操作。1.1系统时钟选择及初始化程序1.1.1系统时钟选择系统时钟选择及初始化程序主要针对特殊功能寄存器OSCICN(内部振荡器控制寄存器)和OSCXCN(外部振荡器控制寄存器)进行操作[11]。系统选用12MHz外部晶体振荡器,并在检测到时钟丢失时触发复位。OSCXCN寄存器配置为0x65。位6-4:XOSCMD2-0:外部振荡器方式位:110,即晶体振荡器。位2-0:XFCN2-0:外部振荡器频率控制位:101,即在选择晶体振荡器的前提下(XOSCMD=11x)2.23MHz≥F>722kHz。OSCICN寄存器配置为0x88(当外部晶体振荡器运行稳定后执行)。位7:MSCLKE:时钟丢失使能位:1,即使能时钟丢失检测器,在检测到时钟丢失时触发复位。位3:CLKSL:系统时钟源选择位:1,即选择外部时钟源作为系统时钟。位2:IOSACEN:内部振荡器使能位:0,即内部振荡器禁止。振荡器程序流程图如图4-2。配置OSCXCN(启动外部晶振)外晶振稳定?N配置OSCICN使用外部晶振Y图4-2系统时钟选择及初始化程序流程图 1.1.1交叉开关配置C8051F005为了使所有的数字资源都能为设计者所用,即使在使用引脚少的封装时,提供了优先权交叉开关译码器。优先权交叉开关译码器为连接内部数字资源到物理IO引脚提供了良好的解决方案[12]。优先权交叉开关译码表见表4-3。表4-3优先权交叉开关译码表本设计具体寄存器设置如表4-4。表4-4寄存器设置寄存器设置值说明XBR00x06允许SPI和UARTXBR10x00XBR20x40允许交叉开关和弱上拉PRT0CF0x101:推挽0:开漏PRT1CF0xff1:推挽0:开漏PRT2CF0xff1:推挽0:开漏P10xa0P1.5与P1.7为高电平1.1.2A/D转换器初始化 使用定时器3溢出为转换启动源,并在转换完成时产生中断。ADC0CF寄存器配置为0x61。位7-4:ADCSC2-0:ADCSAR转换时钟周期控制位:011,即SAR转换始终=8个系统时钟。位2-0:AMPGN2-0:ADC内部放大器增益:001:即增益=2。ADC0CN寄存器配置为0x45。位6:ADCTM:ADC跟踪方式位:1:即由ADSTM1-0定义跟踪方式。位3-2:ADSTM1-0:ADC转换启动方式位:01:即定时器3溢出启动ADC转换。位0:ADLJST:ADC数据左对齐控制位:1:即ADCOH:ADCOL寄存器数据左对齐。4.2.4定时器3初始化定时器初始化程序主要是完成定时器3的初始化任务。定时器3用于模数转化时间间隔的控制,16位定时器。TMR3CN寄存器配置为0x04。位2:TR3:定时器3运行控制位:1,即启动定时器3。4.3ADC程序本设计采用ADC转换实现数据采样工作。ADC转换时间为定时器3溢出所需时间,即定时器3溢出,则ADC启动一次转换。由ADC初始化设置。AD转换时间间隔counts=T/(1/11.0592M)=78.125秒*11.0592MHz=864,其中T为信号采样间隔,11.0592MHz为晶振频率。图4-5是ADC0中断子程序流程图,完成进行信号采样,采用C语言编程。当定时器3溢出时进入ADC中断子程序,首先清转换结束中断标志(置ADCINT=0),其次将ADC中的数据储存到Data[num]后,num加1。判断num是否等于16,如果num等于16,置num=0,关ADC中断,置ADC完成标志ADC_DONE为1,中断结束。否则直接跳出中断,继续采样。 中断入口ADCINT=0ADC数据存至Data[num]num++结束Ynum=16num=0关中断ADC_DONE=1N图4-5ADC中断子程序流程图4.4数据处理为了能正确的测量输入电压,减少测量误差,需要进行相应的数据处理。本文所采用的方法是去多次采集数据平均的方法。具体过程如下:ADC完成标志ADC0_DONE为1时,有16个数据从ADC0中存储至Data[num]中。为了使测得的电压值更加准确,16个数相加取其平均值,得到12位转换结果。ADCOH和ADCOL各能存储8位,可以把8位存到ADCOL中,余下的4位存储到ADCOH中。由于ADC转换出来的数据是二进制数据,需要经过计算并转换成对应的模拟电压值才能通过数码管显示所测量的电压值。其计算过程如下:本数字电压表量程为0~5V,5V被分成212,每份为V。因此,只要将12位转换结果乘上得到的结果就是测得的电压值。例:如果12位转换结果为100000000000则测得的电压值为2048*=2.5V 4.4按键处理设计中共运用K1,K2两个按键,其中K2的功能是选择通道,确定采集信号的具体通道,K1主要是在通道选择完毕后进行确认,使数码管显示该路的电压值。AMUXOSL是AMUX通道选择寄存器,K2主要是控制AMUXOSL来实现对通道的选择。图4-6是按键处理程序的流程图,当有按键发生时,判断是K1还是K2。如果是K1被按下,使能所有中断。如果是K2被按下,断开所有中断,每按一下i加1,一直到i=8时,i置为0。当i=1时,存入AMUXOSL寄存器0x00,这是选择的是通道0,即测量是第0通道的信号。当i=2时,存入AMUXOSL寄存器0x01,这是选择的是通道1,即测量是第1通道的信号。同理,依次可以测量第0到第7的8路所有通道。 有按键判断K1?K2?K1键EA=1;K2键EA=0i++;i=1?i=2?i=3?i=4?i=5?i=6?i=7?i=8?AMUXOSL=0x00;i++;AMUXOSL=0x01;i++;AMUXOSL=0x02;i++;AMUXOSL=0x03;i++;AMUXOSL=0x04;i++;AMUXOSL=0x05;i++;AMUXOSL=0x06;i++;AMUXOSL=0x07i=0;图4-6按键处理流程图 4.4小结以上内容构成了本设计的软件部分。其中以A/D控制程序为核心,该部分实现处理器与信号处理模块的连接,,通过该部分获得与电压成正比例变化的数据,通过对这些数据加以计算得到被测电压,并通过显示程序控制显示模块显示。单片机配置程序对单片机内部进行配置,为其它程序运行提供基础。完成了软件部分设计,本设计基本完成,如需扩展功能,可以根据现有硬件基础,编写相应程序实现。 4调试分析准备好硬件电路板,烧好程序后进行软硬件联调,最后进行端口电压的对比测试,测试对比表见下表。表中标准电压值采用数字万用表测得。5.1测试表对所要求范围内的电压进行测量的结果如下表5-1所示。表5-1测量表标准电压值/V简易电压表测得值/V绝对误差/V标准电压值/V简易电压表测得值/V绝对误差/V0.000.000.000.150.17+0.020.850.86+0.011.001.02+0.021.251.26+0.011.751.76+0.011.982.00+0.022.322.33+0.012.652.66+0.013.003.01+0.013.453.47+0.023.553.56+0.014.004.01+0.014.504.52+0.024.604.62+0.024.704.72+0.024.814.82+0.014.904.92+0.025.2性能分析从表中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均在0.02V以内,这与采用12位A/D转换器所能达到的理论误差精度相一致,在一般的应用场合可完全满足要求。 4总结通过大量阅读和参考各种有关数字电压表的相关书籍、杂志、文章以及互联网上的数字资源,熟悉数字电压表的基本原理之后选定方案,通过实践摸索,有了一个比较全面的理论和实际认识之后,确定系统方案,选定单片机开发板。经调试验证硬件电路正确可靠之后,进行软件设计。软件设计首先设计软件的整体框架,再对软件部分分模块编写程序,并加以整合,完成最终作品。但是由于时间问题,原本自己规划的一些功能没有完成,如超过量程报警、有更多量程选择等功能,希望在今后加以完善。课题主要完成一个简易的数字电压表的设计,要求可以测量0-5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。测量最小分辨率为0.019V,测量误差为0.02V。经方案选型和论证后,采用C8051F005作为主控单片机,选用单片机内部的12位模数转换器作为电压信号的采集,利用按键选择采集通道,经数据处理后,通过7段LED数码管进行显示。单片机的软件部分主要实现电压数据的采集、转换、处理与输出显示。经软硬件设计和系统调试后,该电压表的能测量0V到5V范围内的直流电压,测量误差约为0.02V,符合任务书要求,且读数准确,测量方便。通过本次系统设计,对C8051F系列单片机有了更为深入的了解,熟悉了该系列单片机的开发系统,内部结构,能运用该系列单片机丰富的片内自由完成电子设计。同时学会运用放大电路、AD转换电路对传感器信号进行处理,对日后应用其他传感器有所帮助。 参考文献[1]沙占友,沙占为.数字万用表的原理、使用与维修[M].北京:电子工业出版社,1988.[2]沙占友.新型数字电压表原理与应用[M].北京:机械工业出版社,2006.[3]谢自美,尹仕,肖看等.电子线路综合设计[M].武汉:华中科技大学出版社,2006,6.[4]张培仁,孙力.基于C语言C8051F系列微控制器原理与应用[M].北京:清华大学出版社,2007,11.[5]雷鸣,薛学,张琼.CIP51及其在嵌入式单片机系统的应用[J].计算机应用,2003年1月:61~64.[6]李秀梅,李学华,等.以CPLD为控制核心的16位高精度数字电压表设计[J].半导体技术,2003,(5):54-56.[7]万光毅,孙九安等.SoC单片机实验、实践与应用设计--基于C8051F系列[M].北京:北京航天航空大学出版社,2006,5.[8]赵春红等.基于PC的开放式数控系统研究[J].机械科学与技术,2005,(9):1108-1112.[9]SiliconLaboratories.Mixed-Signal32KBISPFLASHMCUFamilyRev.1.7[M].2003,11.[10]Huayichuang,Changhuanliu.CrossCoupledAdaptiveFeedrateControlforMultiaxiasMachineTools.JournalofDynamicSystemsMeasurementandControl,1991.113[11]张培仁,孙力.基于C语言C8051F系列微控制器原理与应用[M].北京:清华大学出版社,2007,11.[12]丁元结.单片机原理及应用[M].北京:机械工业出版社,1996。[13]武汉力源股份电子有限公司(力源单片机技术研究所)。Xicor非易失性器件使用手册[M].1996. 附录1毕业设计作品说明书一、作品名称基于C8051F005简易数字电压表二、作品功能测量电压功能测量范围:0-5V测量分辨率小于0.02V能对八路通道选择测量并显示电压值三、运行环境硬件环境:C8051F005单片机+电源+按键+数码管软件环境:开发环境:siliconlaboratoriesIDE编译器:KeilC51编程语言:C语言四、操作步骤1、接通电源。2、按下电开关。3、待系统启动完成稳定之后,接上待测电路4、通过数码管显示电压读数,单位为V五、注意事项1、待测电压不得大于5V2、接入稳定电源

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭