在电子仪器、仪表的制造及使用行业,有大量的印刷电路板需要调试、测量与维修,需要对电阻电容的数值进行测试。
本文介绍了一种基于AT89C51单片机和555定时器的数显式电阻和电容测量系统设计方案,然后制作出电路实物,实现系统的功能。系统利用555定时器和待测电阻(或电容)组成多谐振荡器,通过单片机定时器测量555输出信号的周期,根据周期和待测电阻(或电容)的数学关系再计算出电阻(或电容)值,再通过1602液晶显示器将其显示出来。经仿真结果表明该测量系统具有结构简单,方便实用等优点。
设计方案与原理
1、设计总方案
整个测量系统由单片机最小系统,按键,电阻、电容和555组成的多谐振荡器和液晶显示等几个电路模块组成。如图1所示。
2、多谐振荡器原理
如图2所示,测量电容时,利用555和待测电容CX和电阻R1和R2(R1和R2为已知电阻)等组成多谐振荡器,这样从555的输出端Q将输出周期性方波,接到示波器,如图2(b)所示。该信号不是一个占空比为50%的方波,根据参考文献2,一个周期T中高电平时间持续时间为:
测量电阻时,另用一个555组成一个多谐振荡器电路,将待测电阻RX接在R1的位置(或者将RX和一个已知电阻串联),CX替换成一个已知的电容C.这样一个周期时间为:
3、单片机计时原理
555输出的周期性方波信号送给单片机进行计时,测量出信号的一个周期时间T,再利用上面的数学关系进行计算处理,得到待测的电容或者电阻值。单片机计时的原理是:利用单片机的外部中断0和定时器0.555的输出信号接到单片机的外部中断0引脚P3.2,将其设置成下降沿触发。当555的输出信号为下降沿时,触发外部中断,开启单片机的定时器0开始计时,直到下一次下降沿到达时,即一个周期到达了,停止计时,这时定时器记下的就是一个周期的时间长度。
硬件模块设计
1、单片机最小系统
系统核心的控制器采用的是AT89C51单片机,图3所示为单片机最小系统,包括单片机和单片机正常工作需要的晶振电路和复位电路。Proteus中默认单片机电源和地已接好,所以图中省去了。
2、按键电路
按键电路用于确定是测量电容还是电阻,如图4所示,采用了一个单刀双掷按键。当按键打到上方接通单片机P3.6引脚时,用于测量电容;打到下方P3.7引脚时,用于测量电阻。
3、555多谐振荡器
如图5所示,利用555和待测电容或者电阻组成多谐振荡器,555产生的周期性方波从Q引脚输出,然后接至单片机的外部中断INT0引脚,即P3.2引脚。测量时,两电路只有一个接至单片机,分别用于测量电容和电阻。
4、液晶显示电路
测量的结果要显示出来,本系统采用LCD1602作为显示器,图6为LCD1602和单片机的连接电路,P0口接了上拉电阻,作为数据口;P2口的前3位作为读写和使能的控制引脚。
软件设计
系统软件流程图如7所示。接通电源,首先是初始化工作,包括定时器T0、外部中断0和LCD1602的初始化。然后启动555芯片,通过单片机判断是否有中断请求,若无的话,继续等待中断请求;若有的话,启动定时器开始计时直到有中断请求时停止计时。得到计时值,即555输出信号的一个周期后,判断是测量电阻还是测量电容。判断后将电阻或者电容值由LCD1602显示出来。
仿真结果
将上述各电路模块整合到一起,组成一个测量系统。采用Keil编写好程序无误后,在Proteus中进行电路仿真。分别测量一个50kΩ电阻和一个150μF电容的仿真结果如图8所示。从中可以看出,测量有一定的误差,这主要是因为采用前面公式计算时取了近似值。仿真通过后,按照仿真电路,购买需要的元器件,制作出实物电路。
结束语
本文介绍了一种基于555定时器和单片机的电阻和电容测量系统设计方案。在系统的设计和仿真中,是以Keil和Proteus两种软件为平台。在Keil中使用C语言编写了程序,再利用Proteus仿真了系统电路的功能。该测量电路简单可靠,较易实现,能够测量一定范围内的电阻和电容值从而证实了本设计方案的实用性。
相关文章