《压敏电阻漏电流测量论文.docx》由会员分享,可在线阅读,更多相关《压敏电阻漏电流测量论文.docx(35页珍藏版)》请在三一办公上搜索。
1、摘要本设计是基于51系列的单片机的低压压敏电阻实时在线检测系统设计,可以显示出压敏电阻 漏电流,采用仪表放大器放大微弱信号,精度高,具有显示压敏电阻漏电流及显示漏电流是否在合 格范围内的功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。基于微弱信号检测技术的低压压敏电阻实时在线检测系统的设计过程在硬件与软件方面进行 同步设计。硬件部分主要由STC15F204EA增强型51单片机,LED显示电路,以及按键报警,继电器 驱动电路等组成,系统通过LED显示数据,所以具有人性化的操作和直观的显示效果。软件方面主 要包括键盘程序,显示程序,计算方法,控制程序等。本系统以单片机的C语言
2、进行软件设计,为 了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简 单地实现压敏电阻漏电流检测功能。所有程序编写完成后,在Keil4软件中进行调试,确定没有问 题后,在开发板上进行验证。关键词:STC15F204EA;数码管;LED;微电流检测AbstractThis design is the low voltage varistor real-time online detection system is designed based on the 51 series microcontroller, can show the varistor lea
3、kage current, the instrumentation amplifier amplification of weak signal, high precision, can display the varistor leakage currentand display whether the leakage current in an acceptable range function. In the design of the single chip microcomputer and the theory foundation and peripheral expansion
4、 compared to comprehensive knowledge.The design process of low voltage varistor real-time online detection system of weak signal detection technology of synchronization in the hardware and software design based on. The hardware part consists of STC15F204EA enhanced 51 MCU, LED display circuit, and t
5、he alarm button, the relay drive circuit, the system through the LED display data, so the humanizedoperation and intuitive display effect. The software includes keyboard program, display program,calculation method, control program etc. The system software is designed with MCU C language, in order to
6、 facilitate the expansion and the change, the software design uses the modular structure, make the logic relation of program design more concise, in order to more simply realize the varistor function of leakage current detection. All programming is complete,the Keil4 software debugging, make sure th
7、ere is no problem, verify the development board.Key Words: STC15F204EA; digital control; LED; micro current detection目录1概述52设计方案论证62.1功能要求62.2方案确定72.2.1单片机芯片的选择方案和论证72.2.2显示模块选择方案和论证72.2.3电流采集放大的选择方案和论证82.2.4电路设计最终方案确定83主控制器和外围器件83.1 STC15F204EA 单片机83.2数码管104硬件设计114.1电路设计框图114.2系统概述114.3电源设计114.4电流采
8、集部分134.5放大部分144.5 cpu 电路164.6显示电路164.7按键电路174.8报警电路175软件设计185.1初始化外设205.2按键识别205.3获取漏电流215.4报警程序225.5数码管显示程序235.6闪烁时控程序245.7相关的参数定义256硬件调试256.1调试步骤267软件调试287结论30致谢31参考文献32附录33附录I硬件电路图33附录II主程序源代码341概述“压敏电阻”是中国大陆的名词,意思是在一定电流电压范围内电阻值随电压而变, 或者是说”电阻值对电压敏感”的阻器。英文名称叫“ Voltage Dependent Resistor”简写为 “VDR”,
9、或者叫做“Varistor”。压敏电阻器的电阻体材料是半导体,所以它是半导体电阻 器的一个品种。现在大量使用的”氧化锌(ZnO)压敏电阻器,它的主体材料有二价元素(Zn) 和六价元素氧(O)所构成。所以从材料的角度来看,氧化锌压敏电阻器是一种“ II -W族 氧化物半导体”。在中国台湾,压敏电阻器称为”突波吸收器”,有时也称为“电冲击(浪涌) 抑制器(吸收器)”。压敏电阻有什么用?压敏电阻的最大特点是当加在它上面的电压低于它的阈值 UN”时,流过它的电流极小,相当于一只关死的阀门,当电压超过UN时,它的阻值变小, 这样就使得流过它的电流激增而对其他电路的影响变化不大从而减小过电压对后续敏感电
10、路的影响。利用这一功能,可以抑制电路中经常出现的异常过电压,保护电路免受过电压的 损害。例如:我们家用的彩电的电源电路中就使用了氧化锌压敏电阻,这里使用的压敏电阻压 敏电压为470V,当瞬态的浪涌电压最大值(非有效值)超过470V时,压敏电阻就是体现 他的钳位特性,把过高的电压拉低,让后级电路工作在一个安全的范围内。压敏电阻在通过规定波形的大电流时其两端出现的最高峰值电压。按规定时间间隔与次数在压敏电阻上施加规定波形电流后,压敏电阻参考电压的变化 率仍在规定范围内所能通过的最大电流幅值。在参考电压的作用下,压敏电阻中流过的电流。允许长期连续施加在压敏电阻两端的工频电压的有效值。而压敏电阻在吸收
11、暂态过电 压能量后自身温度升高,在此电压下能正常冷却,不会发热损坏。过高的电压拉低,让后级 电路工作在一个安全的范围内。1压敏电阻漏电流大,会缩短压敏电阻使用寿命,严重的可以直接因发热过大而烧毁压 敏电阻。2会消耗额外增加电路系统的功耗。漏电流做为压敏电阻影响电路系统性能的重要参数,准确测量漏电流,对于设计者合 理选择性能优良的压敏电阻,设计出优秀的电路,有重要帮助。本文设计的压敏电阻实时在线检测系广泛用量产时的压敏电阻性能判定,可实现压敏电 阻的在线漏电流检测,可以用于工厂原件筛选,工程师判定压敏电阻质量等。因而,此设计 具有相当重要的现实意义和实用价值。2设计方案论证压敏电阻标准定义的漏电
12、流是指在0.75E1电压施加下的回路电流,一般是|J A级。数值在 15p A以下为合格。但是,对于小规格低电压的压敏电阻,如5mm尺寸以下,压敏电压在100v以下的,标准定 义的漏电流是指在0.85 E0.1电压施加下的回路电流,一般也是|J A级,数值在30p A以下 为合格。在这里我的测量方法选择最后一种,由于大部分压敏电阻都用作浪涌保护,短路保护等, 工作于市电电压下,所以我们选择的市电电压作为压敏电阻漏电流的源。上面是指常规压敏电阻的漏电流,常规压敏是突变型的。那么对于缓变型的压敏电阻, 漏电流的数值会在20mA以下,是毫安级。还有一个是评价工作电压下的漏电流,一样,就是在压敏电阻装
13、在的电路的正常工作电 压施加在压敏电阻时的压敏电阻回路电流。突变型的数值在微安级,缓变型的漏电流的数值 会在毫安级。因此我们的测量电路应能适应ua到几十ma的电流。2.1功能要求1、以两个电流互感器(CT)监测电压电源系统的负载电流,压敏电阻前后的负载电流差即为 压敏电阻的漏电流,对漏电流信号进行放大和整流滤波,得到压敏电阻的漏电流的模拟值;2、能显示压敏电阻漏电流的大小;3、具有自动判断功能,判断压敏电阻漏电流大小,提示其优劣;4、当压敏电阻漏电流过大时,能报警提示;5、离线功能,压敏电阻漏电流过大时,断开压敏电阻供电;6、可以手动控制;2.2方案确定2.2.1单片机芯片的选择方案和论证万案
14、一:采用NXP的P89LPC9251芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM存储 空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中相 关的参考资料较少,不利于快速短时间开发。万案一:采用STC15F204EA,片内ROM全都采用Flash ROM;自带8通道10位ADC, IO驱动电流 可达20ma,可以直接驱动数码管,能以5V的超底压工作;同时也与MCS-51系列单片机完 全该芯片内部存储器为4KB ROM存储空间,同样具有89C51的功能,且具有在线编程可擦 除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要
15、烧入程序时, 不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用STC15F204EA作为主控制系统.2.2.2显示模块选择方案和论证万案一:采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。万案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案二:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫 描法与单片机连接时,占用的单片机口线
16、少。所以采用了 LED数码管作为显示。2.2.3电流采集放大的选择方案和论证万案一:直接采用串联电阻测电流方法,用的材料少节约成本,但是可靠性不高,而且运放的输 入端电压容易过高,造成运放损坏。所以不采用此方案。方案一:采用电流互感器,电流互感器是一种全隔离的电流测量器件,无需直接接触,通过电磁 耦合即可测量出被测电流的大小,而且精度高,抗干扰能力强.2.2.4电路设计最终方案确定综上各方案所述,对此次作品的方案选定:以单片机STC15F204EA为主控制器,电流数 据是通过两个电流互感器采集到的电压进仪表放大器进行差分放大,ADC采集被放大的电 压,计算出压敏电阻漏电流的大小,并通过LED数
17、码管显示出来,并用键盘来完成测试的启 动。3主控制器和外围器件3.1 STC15F204EA 单片机加密性强,很难解密或破解,解密费用很高、国内能解密的人少,一般的仿制者望而退步.超强抗干扰:1、高抗静电(ESD保护)2、轻松过2KV/4KV快速脉冲干扰(EFT测试)3、宽电压,不怕电源抖动4、宽温度范围,-40C85C5、I/O 口经过特殊处理6、单片机内部的电源供电系统经过特殊处理7、单片机内部的时钟电路经过特殊处理8、单片机内部的复位电路经过特殊处理9、单片机内部的看门狗电路经过特殊处理三大降低单片机时钟对外部电磁辐射的措施:稳定性:1、禁止ALE输出;2、如选6时钟/机器周期,外部时钟
18、频率可降一半;3、单片机时钟振荡器增益可设为1/2Gain.超低功耗:1、掉电模式:典型功耗0.1以A2、空闲模式:典型功耗2mA3、正常工作模式:典型功耗4mA-7mA4、掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等.在系统可编程,无需编程器,可远程升级可送STC-ISP下载编程器,1万片/人/天可供应内部集成MAX810专用复位电路的单片机,只有D版本才有内部集成专用复位电路,原复位电路可以保留,也可以不用,不用时 RESET脚直接短到地功能:STC15F204EA系列单片机是宏晶科技生产的单时钟/机器周期(T)的单片机,是高速/高 可靠/低功耗/超强抗干扰的新一
19、代8051单片机,采用宏晶第八代加密技术,加密性超强,指 令代码完全兼容传统8051,但速度快6-12倍。内部集成高精度R/C时钟,1%温飘,常温 下温飘5%o,5MHz35MHz宽范围可设置,可彻底省掉外部昂贵的晶振。8路高速10位A/D转 换(30万次/秒),针对电机控制,强干扰场合。-增强型8051CPU,1T,单时钟/机器周期,速度比普通8051快6-12倍工作电压:STC15F204EA系列工作电压:5.5V - 3.8V(5V单片机)STC15L204EA系列工作电压:3.6V - 2.4V(3V单片机)工作频率范围:5MHz 35MHz,相当于普通8051的60MHz420MHz
20、低功耗设计:低速模式,空闲模式,掉电模式(可由外部中断唤醒).低功耗设计-1K/2K/3K/4K/5K字节片内Flash程序存储器,擦写次数10万次以上片上集成256字节RAM有EEPROM功能,擦写次数10万次以上-ST11.ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器-2个16位可重装载定时器,兼容普通?051的定时器T0/T1,并可实现时钟输出和PWM 功能或D/A使用可编程时钟输出功能,T0在P3.5输出时钟,T1在P3.4输出时钟?在P0.0 口输出内部 高精度R/C时钟IRC_CLK(也可2分频输出IRC_CLK/2)。先进的指令集结构,兼容普通8051指令集,有
21、硬件乘法/除法指令封装:.封装:SOP-28, SKDIP-28这里选用stc15f204ea sop-20单片机,外围电路及其简单,可直接驱动数码管,大大 节省了设计时使用的器件。3.2数码管采用动态扫描的方式显示,难度主要在于软件。3.2.1数码管介绍数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极 管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管。按 发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二 极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接 到+5V,
22、当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为 高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共 阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发 光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就 不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数 字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有 数码管的8个显示笔划a,b,c,d,e,f,g,
23、dp的同名端连在一起,另外为每个数码管的公共极 COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有 数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形, 没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮 流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由 于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只 要扫描的速度足够快,给人的印象就是一组稳定的显示数
24、据,不会有闪烁感,动态显示的效 果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。4硬件设计4.1电路设计框图4.2系统概述本电路是由STC15F204EA单片机为控制核心,具有在线编程功能,低功耗,能在5V低 压工作;电流电流检测由电流互感器实现,它是一种高性能、低功耗、高隔离的获取采样电 流的方式。显示部份由3个数码管限流电阻构成,使用动态扫描显示方式对数字的显示。 按键部分由单个触发式按键构成。报警部分使用一个三极管驱动高亮LED实现。硬件的结构和可靠性直接影响着整个系统的可靠性,所以合理的安排电路能提高电子产 品的性能。4.3电源设计电源部分为这个电路的力量源头,一个优秀的
25、电源可以延长电路寿命,是电路工作 于稳定状态。在直流电源供电系统中,有一个重要的组成部分,就是为稳压电路,几乎所有 的电子设备都需要稳定的直流电源供电才能正常工作,所以我们应当了解ELGAR直流电源稳 压电路的组成。下面就跟着上海太琴的专业人士一起了解一下稳压电路对直流电源的重要性 吧!直流电与交流电不一样,交流电是持续不断的脉冲来提供电能的,但是直流电源供电一 般都是稳压供电,这对电子设备有着重要的作用,稳压电路也就是提供更加稳定的直流电能, 考虑到整流滤波店里中的电压与理想中的直流电供电电压有一定的差距,简单的说就是现实 生活中直流电压是不能达到相对稳定的状态,主要有两个原因。一、就是电源
26、负载的情况,当直流电源负载的时候,整个电路中的负载电流就会发生变 化,因为整流滤波电路没有理想的那么完美,存在一定的内阻,这样也就影响了电路中电压, 电压发生改变一定会影响电子设备的正常运行。所以稳压电路是非常重要的。二、在直流电路中,由于电网中的淡雅也不是很稳定,每当电网中电压发生改变的时候, 整个电路中的输出电压也就会发生改变,因为在直流电电路,稳定的输出电压是必须的,因 此设计人员为了直流电源能够输出稳定的电压,就采用三端集成稳压器来实现稳定电压功 能。当电网中电压和负载电流发生辩护的时候,只有调整自身的输出电压才能保证其输出电 压的稳定,而采用串联的直流电路的输出电压和电压成反比,也就
27、是说电路中的电流也是能 够改变电压的。综上所述,直流电源想要在电路中提供稳定的电压,就只有在一个稳压电路中工作,也 可以理解为稳压电路对直流电源的重要性非常大。设计的电源如下图: Vout g Vifi f -J + - - J_C1 O一一 &L僧 上C34.3.1 78L05芯片介绍78L05是一种固定电压(5V)三端集成稳压器,其适用于很多应用场合.象牵涉到单点稳 压场合需要限制噪声和解决分布问题的在-卡调节.此外它们还可以和其它功率转移器件一 起构成大电流的稳压电源,如可驱动输出电流高达100毫安的稳压器.其卓越的内部电流限制和热关断特性使之特别适用于过载的情况.当用于替代传统的齐纳二
28、极管-电阻组的时候,其输出阻抗得到有效的改善,其偏置电流大大减少.78L05特性*三-端稳压器*输出电流可达到100mA*无需外接元件*内部热过载保护*内部短路电流限制*从2004年底开始,提供的各类封装形式,均为无铅封装产品。78L05应用须知*如果稳压器离电源滤波器有一段距离,Cin是必需的* Co对稳定性而言是可有可无的,但的确能够改善瞬态响应注;(1)为确定输出电压值,请选择电压值后缀(xx) (2)为获得最佳的稳定性和 瞬态响应,建议使用旁边电容并尽量可能挨着电路安装。4.4电流采集部分电流采集部分的目的是低噪声,低失真,高灵敏度。4.4.1电流互感器原理在电力系统中被广泛采用的是电
29、磁式电流互感器,其工作原理和变压器非常相似。下面我们谈一下电流互感器的特点:(1) 电流互感器二次线圈所接仪表和继电器的电流线圈阻抗都很小,所以正常情况 下,电流互感器在近于短路状态下运行。(2) 一次线圈串联在电路中,并且匝数很少,因此,一次线圈中的电流完全取决于 被测电路的负荷电流.而与二次电流无关;电流互感器一、二次额定电流之比,称为电流互感器的额定互感比:kn=I1n/I2n因为一次线圈额定电流I1n己标准化,二次线圈额定电流I2n统一为5(1或0.5)安, 所以电流互感器额定互感比亦已标准化。kn还可以近似地表示为互感器一、二次线圈的匝 数比,即knkN=N1/N2式中N1、N2为一
30、、二线圈的匝数。电流互感器的作用就是用于测量 比较大的电流。这里电流互感器主要起到隔离大电流获得微弱的差模电流,选择1:1这个档的电流互感 器,放大倍数为1倍。4.5放大部分这里采用高输入阻抗高抗干扰的典型仪表放大电路。4.5.1仪表放大器特点高共模抑制比共模抑制比(CMRR)则是差模增益(A d)与共模增益(Ac)之比,即:CMRR = 20lg | Ad/ Ac | dB ;仪表放大器具有很高的共模抑制比,CMRR典型值为70100 dB以上。高输入阻抗要求仪表放大器必须具有极高的输入阻抗,仪表放大器的同相和反相输入端的阻抗都很 高而且相互十分平衡,其典型值为1091012Q.低噪声由于仪
31、表放大器必须能够处理非常低的输入电压,因此仪表放大器不能把自身的噪声加 到信号上,在1 kHz条件下,折合到输入端的输入噪声要求小于10 nV/ Hz.低线性误差输入失调和比例系数误差能通过外部的调整来修正,但是线性误差是器件固有缺陷,它 不能由外部调整来消除。一个高质量的仪表放大器典型的线性误差为0. 01 %,有的甚至低 于 0. 0001 %.低失调电压和失调电压漂移仪表放大器的失调漂移也由输入和输出两部分组成,输入和输出失调电压典型值分别为 100mV 和 2 mV.低输入偏置电流和失调电流误差双极型输入运算放大器的基极电流,FET型输入运算放大器的栅极电流,这个偏置电流 流过不平衡的
32、信号源电阻将产生一个失调误差。双极型输入仪表放大器的偏置电流典型值为 1 nA50 pA ;而FET输入的仪表放大器在常温下的偏置电流典型值为50 pA.充裕的带宽仪表放大器为特定的应用提供了足够的带宽,典型的单位增益小信号带宽在500 kHz 4 MHz之间。具有“检测”端和“参考”端仪表放大器的独特之处还在于带有“检测”端和“参考”端,允许远距离检测输出电压 而内部电阻压降和地线压降(IR)的影响可减至最小。这里设计电路如下:设计成1倍的差分跟随式仪表放大器,后级在做放大处理。C10,C11, C12可以有效的 抑制电路中的高频杂波,提高电源的耦合度(增加电源高频内阻)1兰侦未放大屯普=4
33、.5 cpu电路这里选用stc15f204ea增强型51单片机作为主控芯片。电路如下图:GNDP1J.ADC2 SSEO1CJJP+CCPD.4DC1.P1 1P13 ADC3 MOSICCP1/-4DC0.PL0P14 ADC4.nSO.CMP-CCP2_2CCPlTsD_l INT3. P3_7P15.4DC5 SCLKCCPl_lEdD_2INTlP3 5F L& ADX RsDJ. XTALZCCPD_2T:CLmP3_5P1.7, .ADC7.TiD_3 XTAL-1ECI_2T0.P34P5 4.RST.MCLKOINTLP33VCCINTD.P3-1P5J.CAPT1W.P3 1
34、GNDT1CLKO.1MT4RjiD.P3-0匚匚=宅势d jna r4U1 STC15F3MAD-SOP2 D PDIP2 D.LSSOP23J019II17 亘亘 亘 豆IT虫.Ti4.6显示电路这里选择共阳的数码管,单片机直接驱动,外围电路少成本低,容易买到。Jrrj 4 E l.r R R p R R R R4.7按键电路这里的单独按键,作用是按键以后电路系统才开始测试压敏电阻的漏电流。采用简单的 触发按键直接接到单片机一个io引脚上,由于单片内部自带上拉,所以外围不需上拉电阻, 按键按下产生的抖动直接用软件滤波处理,使最简单的按键可以可靠地被识别。按键电路如下:由S1组成。4.8报警
35、电路报警电路起到的是指示作用,这里用了一个亮度较高的发光二极管作为报警指示灯,通 过单片机的io 口控制一个三极管驱动高亮led,实现led的闪烁,达到报警的目的。三极 管采用8050,贝塔在100到300之间,根据发光二极管的电流可以估算出基极电电阻50k 足够,为了稳定可靠,这里基极选择1000欧,既不会对三极管产生不良影响又能使电路可 靠工作。5软件设计主程序才用模块化设计,流程图如图5-1所示。从上面主程序看出,主程序的组成是通过分别调用各子程序组成总体系统功能,能很直 观的看出主程序所要完成的功能,首先是初始化各模块,之后调用键盘开始一次测试,调用 电流读取函数完成电流电流采集,调用
36、显示子程序显示数据,最后又转到键盘程序来回循环。初始化部分主要有初始化定时器部分和和一些寄存器、标志位、IO 口等。根据测量方法和测量电路,设计的软件流程图5-1如下:按键未按下时,进行系统初始化,既读取未接入压敏电阻时的静态adc电压,按键 key按键后开始测试,根据压敏电阻漏电流测试规范进行测试流程,打开继电器,压敏电阻 上电,此时读取adc端口的电压,根据电压转换为压敏电阻漏电流的电流值判断压敏电阻漏 电流是否在合格的范围内,如果在正常范围内则测试合格,并显示测试结果,led亮起。如 果测试结果超出了正常范围,则显示显示测试结果的同时闪烁屏幕和led。图5-15.1初始化外设由于在使用中
37、设计到单片机的io 口和单片的adc功能,这两项外设需要编写初始化程序 初始化程序如下/*IO 口初始*/void IO_initial()P0M0=0xff;P0M1=0x00;P1M0=0x1b;P1M1=0xe4;P3M0=0xff;P3M1=0x00;/*STC15F204的AD初始化程ADC_CONTR=ADC_POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0ADC_DATA 高 8 位 ADC_LOW2 /低 2 位 */void ADC_initial()P1ASF=0XE4;/设置采样端口位模拟输入ADC_RES = 0
38、; /清除结果寄存器ADC_CONTR = ADC_POWER | ADC_SPEEDLL;5.2按键识别/*按键识别,检测有无按键按下*/void key_recognise()if(KEY=0)delay(1);if(KEY=0)key_flag=1;使用一个delay()延时函数去抖。5.3获取漏电流/*测量结果*/float test_result()float temp=0;key_recognise();if(key_flag=1)key_flag_clr();current_static=Get_a_ma();/继电器吸合前电流relay_on();/delay(1000);/延
39、 时 1scurrent_load=Get_a_ma();/继电器吸合后电流result=current_load-current_static;if(result max_current)TEST=1;elseTEST=2;return temp;在硬件电路部分已经介绍完漏电流的计算方法,这里包含了所有的漏电流获取过程和状态输 出。未按键时,系统线计算空载时的系统误差电流(输入为零时噪声或者VOs引起的ADC采 样电压不为零)。按键按下后,继电器吸合,压敏电阻有电流流过,采集电流值,前后取差 值,得到精确的漏电流值。5.3.1检测压敏电阻漏电流特点在主函数中实现/*主函数*/void mai
40、n()IO_initial();ADC_initial();while(1)float result;result=test_result();/获取测试结果if(result0;SEG2=(seg_num&0x02)1;SEG3=(seg_num&0x04)2;SEG4=(seg_num&0x08)3;SEG5=(seg_num&0x10)4;SEG6=(seg_num&0x20)5;SEG7=(seg_num&0x40)6;SEG8=(seg_num&0x80)7;/*数码管位*/void disp_num(unsigned char number,unsigned char com_sl
41、ect)seg(number);COM1=(com_slect&0X01)0;COM2=(com_slect&0X02)1;COM3=(com_slect&0X04)2;/显 示个位delay(2);/*测量成功时数码管显示电流*/void display_num(uint num)disp_num(seg_numnum%10,0x04);/显示 个位disp_num(seg_numnum%100/10,0x02);/显 十位disp_num(seg_numnum%1000/100,0x01);/显百位seg(0xff);/清 显示数码管采用动态扫描的方式显示,由于用了 3位数码管,显示精度可
42、以达到0.1ma。5.6闪烁时控程序这里作者别出芯材,采用定时器做闪烁时序控制,可以节省cpu的时间资源,稳定可靠工作。/*定时器1中断处理函数*/void Timer1_ISR(void) interrupt 3 using 1Display_flash_time+;if(Display_flash_time=display_flash_set_time)Display_flash_flag=Display_flash_flag;Display_flash_time=0;led_flash_num+;if(led_flash_num=led_flash_time)led_flash_flag
43、=led_flash_flag;led_flash_num=0;5.7相关的参数定义/*宏定义*/#defineADC_POWER0x80电源开#defineADC_FLAG0x10标志位#defineADC_START0x08转换开始位#defineADC_SPEEDHH0x60/90Tosc=0#defineADC_SPEEDHL0x40/180Tosc#defineADC_SPEEDLH0x20/360Tosc#defineADCSPEEDLL0x00/540Tosc#define display_flash_set_time 200闪烁显示时交替间隔时间#define test_ok 1测试结果符合要求#define test_error 2测试结果不符合要求#define max_current 130/(13ma)#define led_flash_time 200/led 闪烁时间/*端口定义*/sbit KEY = P1A2; 按键sbit LED = P1A3; /led 指示灯sbit AD = P1A5; 电压采集sbit RELAY = P0A0; /控制继电器端口sbit COM1 = P1A4; 显示位 s1sbit SEG2