基于AT89C电容测量毕业设计.docx
《基于AT89C电容测量毕业设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C电容测量毕业设计.docx(32页珍藏版)》请在冰豆网上搜索。
基于AT89C电容测量毕业设计
摘要
电容测量技术在现今的电子产品的制造和维修中有着重要的现实意义及广泛的应用,本文简要介绍了电容测量的发展概况和当今常用的几种测量方法及各自的优缺点。
结合课题要求选择了合适的设计方法基于AT89C2051单片机的电容测量的硬件设计和软件设计。
本文详细介绍了硬件设计过程和软件设计过程。
本设计最终目的实现了电容测量,并可以通过按键改变测量电容的量值,并通过显示屏显示当前测量电容大小的功能。
通过实际证明,该系统具有硬件设计简单,软件可调整性大,系统稳定可靠等优点。
关键词:
AT89C2051;电容
Abstract
Thispaper,authorfirstlyintroducesthestatusandactionofcapacitancemeasure.discussessomemethodsofcapacitancemeasure,aswellastheiradvantagesanddisadvantages.ThisdesignchooseasuitabledesignforfiguresshowbyusingAT89C2051ThisarticleexplainstheprocessofdesignthatthehardwareandthesoftwareofcapacitancemeasurebasedonAT89C2051MCU.Thissystemachievesallanticipantaim,suchascapacitancemeasure.ThissystemalsodisplaysthenumberofthecapacitancewhichismeasuredontheLED.Themusiccanbesetbycomputer.Thesystemhasbeenprovedsteadybytest.Thesystemhasmanyadvantages.
Keywords:
AT89C2051;capacitancemeasure
1绪论
1.1电容测量在现实中的意义和作用
随着科学技术的飞速发展,工业自动化日趋走向成熟,以传统的手工控制生产工艺和生产过程的方式,已经满足不了现代企业高质量、高效益的要求,渐渐成为企业扩大生产规模、提高产品质量、降低生产成本的一个障碍。
只有采用现代的电子测量技术和以计算机技术为主体的测控系统,开发先进的生产检测设备与系统,才是行之有效的解决方案。
在电子产品的生产和维修中,电容测量这一环节至关重要,一个好的电子产品应具备一定规格年限的使用寿命。
因此在生产这一环节中,对其产品的检测至关重要,而检测电子产品是否符合出产要求的关键在于检测其内部核心的电路,电路的好坏决定了电子产品的好与坏,而电容在基本的电子产品的集成电路部分有着其不可替代的作用。
同样,在维修人员在对电子产品的维修中,电路的检测是最基本的,有时需要检测电路中各个部件是否工作正常,电容器是否工作正常。
1.2电容测量技术的发展概况
电容测量技术是伴随着科学技术的发展而发展的,它是科技发展的产物。
电容通常以传感器形式出现,因此,电容测量技术的发展归根结底就是电容传感器的发展。
由最初的用交流不平衡电桥就能测量基本的电容传感器。
最初的电容传感器有变面积型,变介质介电常数型和变极板间型。
现在的电容式传感器越做越先进,现在用的比较多的有容栅式电容传感器,陶瓷电容压力传感器等。
电容测量技术发展也很快现在的电容测量技术也由单一化发展为多元化。
现在国内外做传感器的厂商也比较多,在世界范围内做电容传感器做的比较好的公司有:
日本figaro德国tecsis和美国的alphasense。
1.3现今的电容测量技术手段
电容器作为非常重要的一个电学元件在现代电子技术中有着非常广泛的用途,电容定义为:
电容器所带的电荷量Q与电容器两极板间的电势差U的比值,即:
。
这种原始的方法必须通过测量两个物理量来计算电容的大小,而其中的Q是比较难以测量的量。
目前常用的两种测量电容的实现方法:
一是利用多谐振荡产生脉冲宽度与电容值成正比信号,通过低通滤波后测量输出电压实现;二是利用单稳态触发装置产生与电容值成正比门脉冲来控制通过计数器的标准计数脉冲的通断,即直接根据充放电时间判断电容值。
利用多谐振荡原理测量电容的方案硬件设计比较简单,但是软件实现相对比较复杂,而直接根据充放电时间判断电容值的方案虽然基本上没有用到软件部分,但是硬件却又十分的复杂。
而且他们都无法直观的把测量的电容值大小显示出来。
根据上面两种方案的优缺点,本次设计提出了硬件设计和软件设计都相对比较简单的方案:
基于AT89C2051单片机和555时基芯片的数显式电容测量。
该方案主要是根据555时基芯片的应用特点,把电容的大小转变成555输出频率的大小,进而可以通过单片机对555输出的频率进行测量。
本方案具有硬件设计和软件设计都相对简单的优点。
2基于单片机电容测量硬件设计
基于AT89C2051单片机电容测量系统的硬件设计是整个设计过程中的最重要的部分,也是最困难的部分。
硬件设计需要充分了解设计的各种需求,确定合适的解决方案。
启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。
2.1设计方案
本次设计中考虑了三种设计方案,三种设计方案中主要区别在于硬件电路和软件设计的不同,对于本设计三种方案均能够实现,最后根据设计要求、可行性和设计成本的考虑选择了基于AT89C2051单片机和555时基芯片的数显式电容测量的方案。
现在一一介绍论证如下:
方案一、利用多谐振荡原理测量电容
测量电容C(
或
)电阻R和施密特触发器(74IS14)构成一个多谐振荡器。
在电源刚接通(
或
合上)时,电容C上的电压为0,多谐振荡器输出
为高电平。
通过R对电容C充电。
当C上充得的电压
时,施密特触发器翻转,
变成低电平。
C又通过R放电,
下降。
当
时施密特触发器又翻转,输出
又变成高电平。
如此往复产生振荡。
由理论分析可知:
化简为:
由式(3)和测得的校准值
测量值
及存放在软件中的标准电容值
可得出待测电容值
。
测量误差分析:
由式(3)可以看出,经过软件校准后得出的
的结果与
的值有关。
这样单片机晶振频率的绝对精度,环境温度的变化和电源电压的绝对精度引起的误差被消除。
测量结果主要受标准电容
的绝对精度影响,因此应该选择精度高、稳定性好的
;其他误差来源包括周期测量的量化误差,除法运算产生的余数误差,电源电压的波动造成谐振频率偏移带来的误差,因此电路应选用稳压性能好的稳压电源。
这种方法的利用了一个参考的电容实现,虽然硬件结构简单,软件实现却相对比较复杂。
方案二、直接根据充放电时间判断电容值
这种电容测量方法主要利用了电容的充放电特性
,放电常数
,通过测量与被测电容相关电路的充放电时间来确定电容值。
一般情况下,可设计电路使
(T为振荡周期或触发时间;A为电路常数,与电路参数有关)。
这种方法中应用了555定时器组成的单稳态触发器,在秒脉冲的作用下产生触发脉冲,来控制门电路实现计数,从而确定脉冲时间,通过设计合理的电路参数,使计数值与被测电容相对应。
其原理框图和时序如图2-1和图2-2所示。
图2-1电路原理框图
图2-2时序图
误差分析:
这种电容测量方法的误差主要由两部分组成:
一部分是由555定时器构成的振荡电路和触发电路由于非线性造成的误差,其中最重要的是单稳态触发电路的非线性误差,
(T由充放电时间决定;
是被测电容值);另一部分是由数字电路的量化误差引起,是数字电路特有的误差该误差相对影响较小,可忽略不计。
这种方法硬件结构相对复杂,实际上是通过牺牲硬件部分来减轻软件部分的负担,但在具体设计中会碰到很大问题,而且硬件一旦设计好,可变性不大。
方案三、基于单片机和555时基芯片的数显式电容测量
这种电容测量方法主要是通过一块555时基芯片来测量电容,让555时基芯片工作在直接反馈无稳态的状态下,555时基芯片输出一定频率的方波,其频率的大小跟被测量的电容之间的关系是:
,我们固定
的大小,其公式就可以写为:
,只要我们能够测量出555时基芯片输出的频率,就可以计算出测量的电容。
计算频率的方法可以利用单片机的计数器
和中断
配合使用来测量,这种研究方法相当的简单。
系统框图见图2-3。
图2-3数显电容测量系统框图
图中给出了整个系统设计的系统框图,系统主要由四个主要部分组成,单片机及复位电路和晶振电路设计,555时基电路设计,显示电路设计,按键电路设计。
2.2硬件设计的任务
系统电源设计:
为整个系统提供不同大小的电源;
AT89C51基本工作电路设计:
使单片机正常工作;
复位电路:
为单片机提供高电平复位信号;
时钟电路:
为单片机提供时钟信号;
555时基电路:
把电容的大小转变成输出频率的大小;
2-4译码电路:
为显示提供片选;
按键电路:
开始测量电容;
换挡电路:
更换测量电容的量程;
显示电路:
显示当前测量电容的大小;
PCB板:
设计制作实用的实物硬件。
2.3基于AT89C2051电容测量系统硬件设计详细分析
2.3.1系统电源设计
对于现在一个电子系统来说,电源部分的设计也越来越重要。
对于一个实际的电子系统,要认真的分析它的电源需求。
不仅仅是关心输入电压,输出电压和电流,还要仔细考虑到总的功耗,电源实现的效率,电源部分对负载变化的瞬态响应能力,关键器件对电源波动的容忍范围以及相应的允许的电源纹波,还有散热问题等等。
功耗和效率是密切相关的,效率高了,在负载功耗相同的情况下总功耗就少,对于整个系统的功率预算就非常有利了。
同时,评估效率不仅仅是看在满负载的时候电源电路的效率,还要关注轻负载的时候效率水平。
一般来说,要求的电源实际值多为标称值的上下5%,所以可以据此计算出允许的电源纹路当然要预留余量的。
本次设计基于AT89C51数显式电容测量系统中使用到了+5V的电源,电源设计的原理图如图2-5,输入是+6V~+9V的直流电源。
电路中使用到的芯片是7805,7805是5V的稳压芯片,这种芯片的好处是应用比较的简单,只需要接上几个电容就可以使用了。
而且如果前段如果电源有轻微的波动几乎对后面的输出没有影响,这种芯片具有自己调节功能。
图2-4电源实现原理图
2.3.2AT89C51单片机工作电路
本设计的核心是单片机电路,考虑到需要一个中断输入,存储容量、外部接口对单片机端口的需要以及兼顾到节约成本的原则,选用了常用的AT89C2051单片机。
AT89C2051是低功耗、高性能、经济的8位CMOS微处理器,工作频率为0—24MHz,内置4K字节可编程只读闪存,128x8位的内部RAM,16位可编程I/O总线。
它采用Atmel公司的非易储器制造技术,与MCS51的指令设置和芯片引脚可兼容。
AT89C2051可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C2051工作的最简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了。
其最简单的工作原理图如下图。
图2-5AT89C51单片机工作电路
2.3.3基于AT89C2051电容测量系统复位电路
MCS-51的复位是由外部的复位电路来实现的。
MCS-51单片机片内复位,复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
除了上电复位外,有时还需要按键手动复位。
按键手动复位有电平方式和脉冲方式两种。
其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。
按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。
图2-6上电复位电路
上图兼有上电复位和按钮复位的电路。
在单片机设计中,若有外部扩展的I/O接口电路需初始复位,如果它们的复位端和MCS-51单片机的复位端相连,复位电路中的R、C参数要受到影响,这时复位电路中的R、C参数要统一考虑以保证可靠的复位。
如果单片机MCS-51单片机与外围I/O接口电路的复位电路和复位时间不完全一致,使单片机初始化程序不能正常运行,外围I/O接口电路的复位也可以不和MCS-51单片机复位端相连,仅采用独立的上电复位电路。
一般来说,单片机的复位速度比外围I/O快些。
若RC上电复位电路接MCS-51单片机和外围电路复位端,则能时系统可靠地同步复位。
为保证系统可靠复位,在初始化程序中应用到一定的复位延迟时间。
复位电路软件程序跑飞或者硬件发生错误的时候产生一个复位信号,控制MCS-51单片机从0000H单元开始执行程序,重新执行软件程序。
此电路的输出端RESET接在单片机的复位引脚。
2.3.4基于AT89C2051电容测量系统时钟电路
时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。
时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。
内部时钟方式:
内部时钟方式电路图如下图所示。
图2-7内部时钟电路
MCS-51单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。
电路中的电容C1和C2典型值通常选择为30PF左右。
对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。
晶体的振荡频率的范围通常是在1.2MHz—12MHz之间。
晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。
为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。
MCS-51单片机常选择振荡频率6MHz或12MHz的石英晶体。
外部时钟方式:
外部时钟方式电路图如下图所示。
图2-8外部时钟电路
外部时钟方式是使用外部振荡脉冲信号,常用于多片MCS-51单片机同时工作,以便于同步。
对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于12MHz的方波。
外部的时钟源直接接到XTAL2端,直接输入到片内的时钟发生器上。
由于XTAL2的逻辑电平不是TTL的,因此要外接一个4.7k~10k的上拉电阻。
这次的设计采用MCS-51的内部时钟方式。
因为外部时钟方式是用外部振荡脉冲信号,用于多片MCS-51单片机同时工作。
在这次设计中只用一个MCS-51单片机,不需要振荡脉冲信号。
2.3.5基于AT89C2051电容测量系统按键电路
按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。
键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。
键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。
在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。
图2-9就是一种比较典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。
图2-9按键电路
按键消抖:
通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号波形如下图。
由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
因而在闭合及断开的瞬间均伴随有一连串的抖动,如下图2-11所示。
抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。
这是一个很重要的时间参数,在很多场合都要用到。
图2-10按键过程
按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。
键抖动会引起一次按键被误读多次。
为确保CPU对按键的一次闭合仅作一次处理,必须去除键抖动。
在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。
按键的抖动,可用硬件或软件两种方法。
硬件消抖:
在键数较少时可用硬件方法消除键抖动。
下图所示的RS触发器为常用的硬件去抖。
图2-11RS触发器
图2-11中两个“与非”门构成一个RS触发器。
当按键未按下时,输出为1;当键按下时,输出为0。
此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。
也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。
这一点通过分析RS触发器的工作过程很容易得到验证。
软件消抖:
如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。
当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。
2.3.6基于AT89C2051电容测量系统555时基电路
555时基电路是一种将模拟功能与逻辑功能巧妙结合在同一硅片上的组合集成电路。
它设计新颖,构思奇巧,用途广泛,备受电子专业设计人员和电子爱好者的青睐,人们将其戏称为伟大的小IC。
1972年,美国西格尼蒂克斯公司(Signetics)研制出TmerNE555双极型时基电路,设计原意是用来取代体积大,定时精度差的热延迟继电器等机械式延迟器。
但该器件投放市场后,人们发现这种电路的应用远远超出原设计的使用范围,用途之广几乎遍及电子应用的各个领域,需求量极大。
美国各大公司相继仿制这种电路1974年西格尼蒂克斯公司又在同一基片上将两个双极型555单元集成在一起,取名为NF556。
1978年美国英特锡尔(Intelsil)研制成功CMOS型时基电路ICM555ICM556,后来又推出将四个时基电路集成在一个芯片上的四时基电路558由于采用CMOS型工艺和高度集成,使时基电路的应用从民用扩展到火箭、导弹,卫星,航天等高科技领域。
在这期间,日本、西欧等各大公司和厂家也竞相仿制、生产。
尽管世界各大半导体或器件公司、厂家都在生产各自型号的555/556时基电路,但其内部电路大同小异,且都具有相同的引出功能端。
555电路,也称555时基电路,是一种中规模集成电路。
它具有功能强、使用灵活、适用范围宽的特点。
通常只要外接少量几个元件,就可构成各种不同用途的脉冲电路以及许多实用电路,如多谐振荡器、单稳态电路及施密特触发器等等。
从而能够实现振荡、定时、调光、调压、调速等。
555集成电路有双极型和CMOS两种。
CMOS型的优点是功耗低、电源电压低、输入阻抗高。
对于初学者来说,可以把555电路等效看成一个带放电开关的RS触发器,这个特殊的触发器有两个输入端:
阈值端TH可看成是置零端R,要求高电平,触发端R可看成置位端低电平有效。
它只有一个输出端Vo,Vo可等效为触发器的Q端。
放电端DIS可看成由内部放电开关控制的一个接点,放电开关由触发器的端控制:
Q=1时DIS端接地;Q=0时,DIS端悬空。
此外,这个触发器还有复位端MR加上低电平(<0.3V)时可使输出为低电平。
该特殊的RS触发器有两个输入端,这两个输入端的触发电平要求一高一低,其中置零端R即阈值端TH要求高电平,置位端即触发端则要求低电平,也就是使它们翻转的阈值电压值不同。
当VK端不接控制电压时,对TH端(即R端)来讲,大于2/3VDD是高电平1,小于2/3VDD时是低电平0;而对TR端(即端)来讲,大于1/3VDD是高电平1,小于1/3VDD是低电平O。
555时基电路的应用电路很多,如:
多个单稳、多个双稳、单稳和无稳,双稳和无稳的组合等。
在实际应用中,除了单一品种的电路外,还可组合出很多不同电路。
本次设计中应用的电路是直接反馈型无稳类电路。
电路图如图2-12所示。
图2-12555时基电路
555时基芯片输出的频率为
,只要我们改变电阻R,就可以达到改变电阻量程的目的,图中提供了四组电阻,所以说有四组的电容测量量程,每个量程之间的跨度是10倍的关系。
2.3.7基于AT89C2051电容测量系统显示电路
译码器是一种组合逻辑电路。
它的输入代码的组合将在某一个输出端产生特定的信号。
译码是编码的逆过程,在编码时,每一种二进制代码状态都赋予了特定的含义,即都表示了一个确定的信号或者对象。
把代码状态的特定含义翻译出来的过程称为译码,实现译码操作的电路称为译码器,或者说译码器是将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。
实际上,译码器就是把一种代码转换为另一种代码的电路。
译码器的种类很多,但各种译码器的工作原理类似,设计方法也相同。
按用途来分,译码器大体上有三类:
变量译码器、码制变换译码器和显示译码器。
用来表示输入变量状态的译码器称为译码器。
它是一种二进制译码器,输入输出代码之间的关系可由真值表表示。
n个输入代码有2n个输入状态,因此译码就有2n个输出和输入状态相对应。
每个输出的特定电位状态表示输入代码的一种组合。
下面以二输入四输出变量译码器为例来说明其原理。
表2-1给出它的功能表,A、B是变量输入端,其中A表示输入变量的低位,B为高位,Y0~Y3是译码器的输出,以输出端Y0=0,其余输出端Y1~Y3是译码器的输出,以输出端Y0=0,其余输出端Y1~Y3均为1来表示输入状态AB=O0;以Y1=0,其余输出均为1,表示输入代码为01;以Y2=0,其余输出均为1,表示输入代码为10;以Y3=0,其余输出均为1,表示输入代码为1l。
表2-1二输入变量译码器功能表(无使能输入)
A
B
Y0
Y1
Y2
Y3
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
由功能表可直接写出Y0、Y1、Y2、Y3,表达式:
Y0=AB;Y1=AB-Y2=AB;Y3=AB。
由Y0~Y3的表达式,我们可画出它的逻辑图。
图2-13二输入变量译码器逻辑图
由图2-13可以看到,输入端A、B分别均要驱动三个“与非”门,为了减轻前一级电路驱动A、B端的负担,设置了A、B输入缓冲反相门。
如图所示,以形成译码器所需要的A和A、B和B的互补输入。
使前级电路驱动译码器时,只须驱动一个“与非”门。
此外还增设了“使能”端E是一个控制端。
当E=1时,译码器的四个输出均为1,译码器的工作被禁止;只有当E=0时,译码器才处于正常的译码工作状态。
增设了E端的二输入译码器的功能表。
表2-2二输入变量译码器功能表
输入
输出
E
A
B
Y0
Y1
Y2
Y3
1
X
X
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
8段数码管属