基于AT89C51单片机的数字电压表的设计_第1页
基于AT89C51单片机的数字电压表的设计_第2页
基于AT89C51单片机的数字电压表的设计_第3页
基于AT89C51单片机的数字电压表的设计_第4页
基于AT89C51单片机的数字电压表的设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于AT89C51单片机的数字电压表的设计系(院):机电工程系学生姓名:李瑞专业班级:自动14D1学号:142232127指导教师:徐月兰2017年4月18日

声明本人所呈交的基于AT89C51单片机的数字电压表的设计,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名:李瑞 日期:2017.4.18【摘要】数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。从过往的那种较为传统的指针式电压表功能上来看的话,我们不难发现,其行使的主要功能是相对较为单一的,而且精度也不能够很好的契合实际的生产需求,在当前这样的一个信息化,数字化,高速发展的时代背景之下,是不能够很好的契合时代的需求的,采用单片机的数字电压表,由于其较高的精准度、抗干扰能力强,可扩展性强、集成方便,还能够及时的实现与PC的较好的通信。本文首先对课题在实际的研究过程中,具体的研究背景做出了系统性的说明和阐释、之后对当前国内外的综合发展现状和具体的发展背景做出了着力的剖析,然后介绍了单片机的相关知识及模数转换器;进一步设计了系统的硬件设计,及软件设计,对系统进行了测试分析,最后总结全文。本文研究了一种基于单片机的数字电压表。首先对系统的主控制器AT89C51单片机及其最小系统进行了简单介绍,并对模数转换器进行了说明;然后对系统硬件进行了设计,包括整体电路图、信号输入模块、信号衰减模块、信号放大模块、信号采样模块、信号处理模块及数字显示模块;接着对系统软件进行了设计,包括主程序与A/D转换子程序的设计;最后对系统进行了测试,测试结果表明,该数字电压表符合实际应用要求。【关键词】:数字电压表;Proteus仿真[Abstract]Thedevelopmentofscienceandtechnologyprovidesanewprincipleandnewtechnologyformeasuringinstrumentsandmeters,aswellasanewtypeofelementanddevice.Digitalvoltmeter(DigitalVoltmeter)referredtoasDVM,itistheuseofdigitalmeasuringtechnology,thecontinuousanalog(DCinputvoltage)intoanoncontinuous,discretedigitalformandtodisplayinstrument.Inthispaper,adigitalvoltmeterbasedonsinglechipmicrocomputerisstudied.Thesystem'smaincontrollerofAT89C51andtheminimumsystemwereintroduced,andtheADCaredescribed;thenthehardwaredesignofthesystem,includingthewholecircuit,signalinputmodule,signalattenuationmodule,signalamplificationmodule,signalsamplingmodule,signalprocessingmoduleandadigitaldisplaymodule;thenthedesignofsystemsoftware,includingthemainprogramdesignandA/Dconversionsubroutine;thefinaltestofthesystem,thetestresultsshowthatthedigitalvoltagemetermeetstherequirementsofpracticalapplication.[Keywords]:Digitalvoltmeter;Proteussimulation目录TOC\o"1-3"\u引言 ]。其中,IN0-IN7模拟量输入通道。ADDA、ADDB、ADDC为地址输入线,用于选通IN0-IN7上的一路模拟量进入转换器进行转换。ALE为地址锁存允许输入线,高电平有效。ATART为转换启动信号。当START为上跳沿时,所有内部寄存器清0;START为下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束,否者,表明正在进行模数转换,OE为输出允许信号。其用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据呈高电阻;OE=1,输出转换得到的数据。初始化时START和OE要全为低电平。CLK为时钟输入信号线。因ADC0809内部没有时钟电路,所需时钟信号必须由外界提供。其引脚图会在与单片机的连接中出现,就不在这里描述了。图2.3所示为ADC0809与单片机的接口电路。ADC0808芯片有28条引脚,采用双列直插式封装,其引脚图如图2.2所示。图2.2ADC0808引脚图下面说明各个引脚功能:IN0-IN7(8条):8路模拟量输入线,用于输入和控制被转换的模拟电压。地址输入控制(4条):ALE:地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。ADDA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中的一路。2.2.2ADC0808工作流程ADC0808的工作流程为:(1)输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道中选通1路模拟量送给比较器。(2)送START一高脉冲,START的上升沿使逐次寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。2.3LED显示系统设计2.3.1LED显示器的选择在新的时代发展以来,我国的信息技术以及信息设备都是得到了较大程度的发展,电压表也从过往的那种较为单一的数据处理方式、自动控制等实现了多功能的发展和多功能的过度过程,尤其是当前计算机技术的高速发展,最终也势必导致我国的智能化技术的大力发展。基于当前这样的一种时代背景和具体的发展形势上来看,实现计算机技术以及信息化技术与电压表的有效的结合,进而实现智能化的控制和发展,也一定是当前电压表在具体的发展过程中的重要的主流发展方向。从当前的实际发展形势上来看,数字化仪器与微处理器当前,不管是从宏观的层面上,还是从微观的层面上,都是取得了较大的进步和系统性的发展,从其当前的技术发展方向和具体的技术发展背景上来看,一个内藏微处理器的仪表也代表着我国的电压表能够较好的实现仪器仪表的有效的结合,在其具体的相关功能实施和发展的过程中,较之于过往,也是得到了较大程度的发展和系统性的予以延伸,功能的多样化的发展,使得其内部的相关结构也是更加的优化的态势。当前这样的一种技术模式较之于过往,不管是从哪个层面上来看,都是取得了较大的发展和系统性的突破,从其当前的实际发展前景和发展势头上来看的话,我们不难发现,其当前的发展优势也是表现的较为明显的,这样的一种发展进度已经被无数的事实情况较好的管理和系统性的予以了证实。从客观的层面上来看,微处理器的仪表是具备下述的相关特征的:①测量过程的软件控制实现对数据的存储以及相关的控制功能,是当前的电压表在具体的实施和使用的过程中,一个又一重要的特点;②在具体的测量事宜实施和执行的过程中,对于其具体的软件功能以及数据处理功能,实现了较好的实施和有效的管理控制,进而使得整个仪器的功能更加的简便易行,这也是这类仪器,在具体的实施和执行的过程中,又一重要的发展特点;③以其软件为主体的智能仪器在使用的便捷性、功能多样化等诸多的相关方面实现了较大程度的实施和系统性的发展,整个过程也是更加的灵活便捷。图2.37SEG-MPX4-CC-BLUE引脚2.3.2LED译码方式本设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。由于本设计采用的是共阴极LED,其对应的字符和字段码如下表2.2所示。表3.2共阴极字段码表显示字符共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FH2.4双D正沿触发器74LS74引脚如图2.4所示。图2.474LS74引脚2.5总体电路设计整个电路是以单片机控制为核心,通过信号衰减,放大,采样处理,显示出来。经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原理图如图2.5所示。图2.5简易数字电压表电路图三、系统软件设计3.1程序设计总方案根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序。三个程序模块构成了整个系统软件的主程序,如图3.1所示。图3.1数字式直流电压表主程序框图3.2系统子程序设计3.2.1初始化程序所谓初始化,是对将要用到的51单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。3.2.2A/D转换子程序其转换流程图如图3.2所示。图3.2A/D转换流程图3.2.3显示子程序程序流程图如图3.3所示。图3.3显示子程序流程图四、仿真调试与系统性能分析4.1软件调试Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。他在具体的实施过程中,一方面是具有较为强大的具体的仿真功能的完成和建立的,还能够较好的实现对其周边的相关的元器件的配置和良好的管理。他是当前使用的最为广泛和普及的单片机系统,而且相关的设备,在这样的一个过程中,发挥出来的综合作用,也是尤为重大的。尽管从当前我国实际的发展趋势上来看的话,我们不难发现,他在我国,还是处于最初级的起步发展的阶段,但是已经受到了越来越多的人的关注和认可,越来越多的人,在实现对这样的一种系统的使用和具体的管理过程中,也是获得了很多的良好的实施成效和客观性的发展成效的建立。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,最终实现了整个系统性的设计过程,不管是从宏观的层面上,还是从微观的层面上,都得到了大力的发展和系统性的予以设计的态势的高效的运营和具体的实施态势的执行,这一点是尤为重要的,也是当前迫切的需要关注和重点的予以解决的问题。本次课题用到时该软件版本是ProtelDXP2004.Altium公司作为EDA领域里,独占鳌头的公司,在原来Protel99SE的基础上,通过最为先进的软件实施技术和具体的软件管理方法的执行,率先推出了一款基于Windows2000和WindowsXP操作系统的EDA设计软件ProtelDXP。ProtelDXP在原来的版本之上,不管是从硬件的层面上,还是从软件的层面上,都是增加了一系列的新的功能的实施和系统性的完善。新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能并且实现其综合的用户界面的大幅度的提升和系统性的增强的态势的执行和完成。ProtelDXP是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成的一系列的数据模式的完成和系统性的实施,都是可以按照自己的主观意愿来予以较好的执行和系统性的管理的。ProtelDXP运行是在其实际的浏览器实施和完善的基础之上,并且对当前的先进的特点予以完善和执行的前提之下,能够处理各种复杂的PCB设计过程。通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,ProtelDXP在整个解决方案的实施和执行的过程中,能够维持一种系统性的管理和较好的设计的态势的执行,并且这样的一种综合的发展特征,也是需要重点的予以研究和较好的管理的。与较早的版本——Protel99相比,ProtelDXP2004不仅是在外观上,较之于从前,得到了大幅度的提升和系统性的加强,同时在实现电路设计的同步化的发展和系统性的执行,产生的综合效益也是尤为重大的,同时整合了VHDL和FPGA设计系统,进而最终使得其综合的性能,较之于从前,得到了大幅度的提升和系统性的加强的态势的完善和有效的执行。1)整合式的元件与元件库在ProtelDXP2004中采用整合式的元件,在一个元件里连结了元件符号(Symbol)、元件包装(Footprint)、SPICE元件模型(电路仿真所使用的)、SI元件模型(电路板信号分析所使用的)。2)版本控制可直接由Protel设计管理器转换到其他设计系统,这样设计者可方便地将ProtelDXP2004中的设计与其他软件共享。如可以输入和输出DXP、DWG格式文件,实现和AutoCAD等软件的数据交换,也可以输出格式为Hyperlynx的文件,进而在实际的信号管理和系统的仿真执行的过程中,最终呈现出来的综合效果实现较大的发展。3)多重组态的设计ProtelDXP2004支持单一设计多重组态。对于同一个设计文件可指定要使用其中的某些元件或不使用其中的某些元件,最终实现了相关的网络的呈现和系统性的执行的态势的完善和较好的加强。4)重复式设计ProtelDXP2004实现了重复式设计的模式的实施和完成,类似重复层次式电路设计,只要设计其中一部分电路图,就可以在实际的电路图实施和管理的过程中,维持一种多次的发展和多次使用的模式的执行和管理,较之于其他的电路图,这样的一种电路图在系统性的执行和具体的管理过程中,也是存在着诸多的具有较为优势性的发展性能存在的。这项功能也支持电路板设计,包括由电路板反标注到电路图。5)新的文件管理模式ProtelDXP2004提供三种文件管理模式。能够将众多的数据存储在单一的文件中,使之得到较大的发展和系统性的执行,即Protel99SE的ddb,也可以存为Windows文件,即一般的分离文件,而不需要数据库管理系统(ODBC),就可以存取该文件,此外新增了一个混合模式,也就是在数据库外存为独立的Windows文件。6)多屏幕显示模式对于同一个文件,设计者可打开多个窗口能够在不同的屏幕中进行实时的管理和系统的显示。7)设计整合ProtelDXP2004强化了Schematic和PCB板的双向同步设计功能。8)超强的比较功能ProtelDXP2004在比较功能的实施和执行上,较之于从前,得到了大力的提升和系统性的加强,在两个相同格式的文件进行实时比较的过程中,能够得到不同的版本之间的较大的差异性的发展特征的实施和执行,也可以对不同格式的文件进行比较,例如电路板文件与网络报表文件等。9)强化的变更设计功能在ProtelDXP2004中,将相关的文件进行系统的管理和实时的比较之后,所产生的报表文件能够在实际的数据管理和数据变更的过程中,发挥出尤为重要的作用,进而最终实现其实际的管理和最终的设计成效维持一种较大的同步发展的特征的执行。10)可定义电路板设计规则在实现原理图的实施和系统性的设计过程中,定义电路板设计规则在具体的实施过程中,是一种较为实际的发展态势的执行和系统性的管理的。虽在先前版本的Schematic中就就对电路板的实际功能予以了较好的完成和系统性的管理,但是论其实际发挥出来的综合来看的话,是存在着较大的不足之处的。而在ProtelDXP中,对于这样的一项功能的实施和执行,也是加大了关注和重视力度的,让用户能在画电路图时就能够对其具体的设计规则,不管是从宏观的层面上,还是从微观的层面上,都能够有一个系统的认识和可观的了解。11)强化设计验证在ProtelDXP2004中强化了设计验证的功能,让电路图与电路板之间,在转换的过程中,维持一种更加精确的转换态势的实施和执行,同时对交互参考的操作,在具体执行的过程中,其综合的难度也呈现出大幅度的降低的态势。12)设计者可定义元件与参数ProtelDXP2004提供了无限制的设计者定义元件及元件引脚参数,所定义的参数能存入元件及原理图里。13)尺寸线工具ProtelDXP2004提供了一组超强的画尺寸线工具,在具体移动的过程中,会对其具体的尺寸予以较大程度的完善和系统性的修改,这对于PCB中一些层的定义,是大有裨益的,也是需要重点的关注和加强的问题。14)改善加强板层分割功能ProtelDXP2004提供了加强的板层分割功能,对于板层的分割自动以不同颜色来表示,进而使得设计者在具体的管理和系统性的实施过程中,不管是从管理上,还是从实际的辨识度的执行上,都能够得到较大的方便。15)加强焊点堆栈的定义ProtelDXP2004板增强了焊点堆栈的定义与管理,设计者可以存储所定义的焊点堆栈以供日后再使用。16)改良焊点连接线ProtelDXP2004提供自动修剪焊点连接线的功能,在后续的布线过程中,整个执行过程,实施的过程中,更加的方便以及快捷。17)波形资料的输出与输入在ProtelDXP2004中可将仿真波形上各种资料输出为电子表格格式,进而使得其他的程序在具体的使用过程中,其综合的使用难度会得到较大程度的降低,也可以输入其他程序所产生的波形资料。18)加强绘图功能ProtelDXP2004增强了波形窗口的绘图功能,例如放置标题栏、标记画线等,同时Windows的编辑功能在此也可以应用。19)不同波形的重叠设计者可以将不同的波形放置在一起,也可以同时使用多个不同的Y轴坐标。20)直接在电路板里分析设计者可以直接在PCB编辑器里进行信号分析,通过这样的一种方式,在具体的信号分析和信号管理的过程中,最终能够呈现出来的综合成果也是较为优质的。21)强化模型整合在ProtelDXP2004中提供了高速整合的元件,元件包括信号分析的模型(SIModel),设计者不必再为元件问题而烦恼了。Proteus软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。4.2显示结果及误差分析4.2.1显示结果(1)当IN0口输入电压值为4.99V时,显示结果如图4.1所示,测量误差为0V。图4.1输入电压为4.99V时,LED的显示结果(2)当IN0输入电压值为2.50V时,显示结果如图4.2所示。测量误差为0.02V。图4.2输入电压为2.50V时,LED的显示结果4.2.2误差分析通过以上仿真测量结果可得到简易数字电压表与“标准”数字电压表对比测试表,如下表4.1所示:表4.1简易数字电压表与“标准”数字电压表对比测试表标准电压值/V简易电压表测量值/V绝对误差/V0.000.000.000.500.500.001.000.990.011.501.500.002.001.990.012.502.480.023.002.990.013.503.480.024.003.990.014.504.480.024.994.990.004.3系统性能分析具体体现在以下几个方面:(1)数字电压表系统中对于外界被测电压的变化反应不够灵敏,变化比较慢,主要是因为ADC模数转换芯片的转换速率不够;(2)数字电压表系统测量的外界电压不够准确,跟用示波器或者高精度的电压表测量的结果有偏差,主要是因为ADC芯片的位数不够;(3)而且ADC的参考电压不准确也会造成测量结果的不准确;(4)另外很重要的影响因素是因为AD芯片的测量输入电压最大为5v,而设计的是25v,量程扩大了五倍,运用的是电阻分压网络,如果用精密电阻可以做到很高的精度,而设计中用的是5%误差的碳膜电阻,温度系数高,而且不稳定,这是很重要的一个影响因素。针对上述问题,理论上可以用一下方法进行改进:(1)在换用高精度的ADC芯片能够改善测量精度的问题,一般用12位AD既能满足要求;(2)运用高精度的金属膜电阻构成分压网络,能够最大限度提高精度;虽然时间紧迫,最终按照仿真成功的原理图焊接实物,并调试,调试成功!结论通过这样的一次毕业设计过程中的亲自动手实践的过程,我能够学到很多平时在书本中学不到的较多的知识,不仅是增长了我的见识,更多的是扩充了我的生活阅历,客观来讲,主要可以总结为以下几个方面:1、在这样的一次毕业设计,动手操作实践的过程中,我能够将平时在书本中学到的理论知识与实践的工作能够予以高效统一的结合起来,进而实现知识与知识之间的融会贯通,最终将书本上学到的知识,充分的应用到具体的实践以及生活之中。除此之外,在具体的实践过程中,我能够更加清晰的认识到自己能力以及知识上的较大程度的欠缺以及许多的亟待完成和大力的改进的问题,对于理论知识的重要性以及动手实践的重要性,不管是从宏观的层面上,还是从微观的层面上,都有了更好的认识和更加深刻的理解,能够掌握到的知识,不管是从广度上,还是从深度上,较之于从前,也是呈现出了较大程度的提升和加强,进而最终实现整个设计过程,更加系统高效的予以实施和大力的发展加强态势的完成。2、对单片机的工作机理和具体的运营原理,也能够有一个更加客观的认识和明确的理解。在具体的实践和实际的设计过程中,我对于单片机的认识,不再是像过往那样,停留在较为肤浅的概念认识和概念理解的层面上,更多的是对其具体的运营机制和客观的工作原理,有了更深的体会。并且,通过对单片机的工作原理的认识和客观的了解,自己也能够亲自动手,设计出一个相对较小的系统出来,进而在实际的使用过程中,能够发挥出来的综合作用也是尤为重大的。3、使得我自己动手查找文献资料的能力,实现了较大程度的提升和高效的加强。在整个系统性的管理和具体的设计事宜执行的过程中,尽管是遇到了这样或者是那样的诸多的问题,但是通过自己的努力和自己不断的实现对相关的文献资料的查阅,在与老师以及同学的交流过程中,一步步的实现了这样的一种问题的良好的解决和客观的处理。从这样的一个过程中,使得我的眼界不再是简单的停留在书本的层面上,更多的是了解到了很多的书本之外的知识,进而是我的见识以及眼界,实现了更大的开拓,更加的擅长于团队协作了,能够更好的与他人进行良好的交流和及时的互动,对别人的建议,更懂得去粗存精了,在这样的一个过程中,更加的深刻的认识到团队发展和团队管理的重要性了,因而,总的来讲,通过这样的一个过程中,更加的使得自身的综合技能,得到了较大程度的进步和系统性的予以提升。致谢在大家共同的帮助和努力下,我终于顺利完成了毕业论文。本文可以说是大家共同努力的结晶和心血的凝聚,笔者只是该项成果的一个载体而已。在此,我只能用这苍白的“谢谢”二字来向他们一一致敬。首先要感谢的是我的导师。本文从最初的选题到后来的选材、分析、定稿直至最后的反复修改和完善甚至打印都是在老师的一手指导下进行的。同时,在学术研究之外,老师亦十分关心自己学生的思想和生活情况,他循循善诱的教导以及和蔼可亲的笑容通常使我体验到豁然开朗的感觉。不管在学习、生活和工作上,我都得到了老师无私的关怀和帮助。在此,“感谢”真的显得是那样的力不从心。同时,还要感谢我的室友及同班同学,是他们的鼎力相助给了我不断追求上进的力量和勇气,是他们思想的火花点燃了我持续奋斗的激情和信念。分别在即,向他们道声“感谢!”各位评阅老师在百忙之中抽出宝贵时间对本文进行详细指导和评阅,笔者实在感激不尽。在此也要对这些辛勤工作的老师们表示衷心的感谢!最后,还要特别感谢我的家人及朋友,是他们无私的爱和默默的支持给了我今天的成绩和荣誉,是她们在生活和精神上的支持,使我能够顺利完成学业。对他们的感激和爱将是我一生前进的动力,谢谢你们!参考文献[1]唐彬夏,许建明.基于单片机的数字电压表设计[J].电子世界,2013,01:132.[2]王瑾.基于Proteus的数字电压表仿真设计[J].电子设计工程,2013,01:122-124+128.[3]刘瑞.基于单片机的数字直流电压表的设计与实现[J].电子技术与软件工程,2013,14:84.[4]王清清.单片机数字电压表的设计[J].科技传播,2013,21:203+206.[5]姜斌.基于单片机的交直流数字电压表的设计[J].黑龙江科技信息,2014,05:50.[6]李成.基于单片机的数字电压表设计[J].晋城职业技术学院学报,2014,01:50-54.[7]杜江.单片机数字电压表的设计浅述[J].电子制作,2014,08:79-80.[8]何小河.基于单片机的数字电压表设计[J].电子技术与软件工程,2014,12:140.[9]李冰蕊,习聪玲,江文进.基于单片机数字电压表的设计与制作[J].电脑编程技巧与维护,2015,23:15+20.[10]范礼平.基于AT89C51单片机的数字电压表设计与仿真[J].中国新通信,2015,24:149.[11]李航,李攀攀,韩利凯.基于单片机的简易数字电压表的设计[J].电子世界,2016,12:78.[12]车海波.基于STC89C52单片机的数字显示电压表仿真设计与应用[J].智能城市,2016,08:160.附录附录1系统电路图附录2单片机控制源程序以下是数字电压表的单片机控制源程序:#include<reg52.h>#include<intrins.h>//延时函数用#defineaddataP0//模拟电压数据采集入口#defineDisdataP1//显示数据段码输出口#defineucharunsignedchar#defineuintunsignedintsbitSTART=P2^4;//启动一次转换位sbitALE=P2^3;//地址锁存位sbitOE=P2^5;//0809输出控制位sbitEOC=P3^7;//A/D转换结束标志位sbitDISX=Disdata^0;//LED小数点控制位sbitk1=P3^5;//循环/单路选择控制位sbitk2=P3^6;//显示通道控制位sbitA=P2^0;sbitD=P2^1;sbitC=P2^2;ucharcodedis_7[11]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0xFF};/*共阳8段LED数码管段码表0.1.2.3.4.5.6.7.8.9.不亮*/ucharcodescan_con[4]={0xf1,0xf2,0xF4,0xF8};//四位数码管数值动态扫描显示控制uchardataad_data[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//定义8个数据内存单元uintdatadis[5]={0x00,0x00,0x00,0x00,0x00};//定义4个显示数据单元和1个数据存储单元/**********1ms延时子函数***********/delaylms(uintt)//t=1 { uinti,j; for(i=0;i<t;i++) for(j=0;j<100;j++) ; } /************显示扫描子函数***************/scan() { uchark,n; inth; dis[3]=1; //通道初值为1 for(n=0;n<8;n++) //每次显示8个数据 {if(k2==0)break; dis[2]=ad_data[n]/51; dis[4]=ad_data[n]%51;//余数暂存 dis[4]=dis[4]*10;//计算十位 dis[1]=dis[4]/51; dis[4]=dis[4]%51; dis[4]=dis[4]*10;//计算百分位 dis[0]=dis[4]/51; for(h=0;h<100;h++) //每个通道显示时间控制约为一秒 { if(k2==0)break;for(k=0;k<4;k++)//4位LED扫描控制 { if(k2==0)break;Disdata=dis_7[dis[k]]; if(k==2) { DISX=0; } P3=scan_con[k];//P3.0-P3.3控制四个数码管的输出 delaylms(3); P3=0xff; } } if(k2==1)dis[3]++;if(dis[3]>=8)dis[3]=0; } }/*************通道选择函数*********************/tongdao() { uintm,i,n; dis[2]=ad_data[n]/51; dis[4]=ad_data[n]%51;//余数暂存 dis[4]=dis[4]*10;//计算十分位 dis[1]=dis[4]/51; dis[4]=dis[4]%51; dis[4]=dis[4]*10;//计算百分位 dis[0]=dis[4]/51; for(m=0;m<100;m++)//每个通道显示时间控制约为一秒 {if(k2==0)break; for(i=0;i<4;i++)//4位LED扫描控制 { Disdata=dis_7[dis[i]]; if(i==2) { DISX=0; } P3=scan_con[i];//P3.0-P3.3控制四个数码管的输出 delaylms(3);

温馨提示

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

评论

0/150

提交评论