《基于单片机的IC卡智能水表控制系统设计[附程序+图].doc》由会员分享,可在线阅读,更多相关《基于单片机的IC卡智能水表控制系统设计[附程序+图].doc(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学习文档 仅供参考基于单片机的IC卡智能水表控制系统设计摘 要 很长一段时间以来,自来水用户的用水量管理依靠人工抄表,然后由收费人员到各家去收费或用户到指定地点自行缴纳。这种传统收取水费的方式需要的工作人员多、费时、费力、效率低,常常出现用户欠缴、迟缴或漏缴水费等问题。为了解决这些问题,本文在研究国内外智能水表发展现状的基础上,设计了一个基于单片机实现的IC卡智能水表控制系统。本系统以AT89C2051单片机为核心部件,通过韦根传感器检测用水量,运用IC卡读写及加密技术,实现购水与用水量管理。本文完成了系统的硬件电路设计和软件设计。硬件电路采用模块化设计,包括用水量检测电路、IC卡接口电路、电
2、磁阀驱动电路、报警电路、LED显示电路等,详细分析了各模块的工作原理;系统软件采用汇编语言编制,给出了具体的程序流程图。系统具有自动供停水、插卡智能识别、身份验证、掉电保护、LED显示、电磁阀门智能开关控制、防干扰、防拆卸等功能。关键词:单片机;韦根传感器;IC卡;智能水表Based on single-chip IC card intelligent water meter control system designAbstractFor a very long time, the management of used water of water user relies on man-ma
3、de style, that need operators to arrive at users home to collect fees or users reach appointed place to hand in fees by themselves. This traditional style has lots of disadvantages such as needing many operators, time consuming and low efficiency. Further more problems like arrears, dragging on wate
4、r fees etc. always appear. In order to solve these problems, this paper designs an intelligent IC card water meter control system based on the single-chip computer. The core of the system is a single-chip microcomputer AT89C2051, the wiegand sensor is used to measure water consumption, the managemen
5、ts of water purchasing and consumption are realized by IC cards writing, reading and encryption technology. This paper has finished the systematic hardware circuits design and software design. Hardware circuit adopts module design, including water flow measuring circuit, IC card interface circuit, e
6、lectromagnetic valve urge circuit, warning circuit, LED display circuit, etc. The working principles of every module are analyzed in details. The software of the system is finished in assembler language, the flow charts are provided.The system has many functions such as supplying or cutting off wate
7、r automatically, intelligent recognition of IC card and users identity verifying, power-fail protection, LED display, intelligent switch control of electromagnetism valve etc. It also can prevent the system from disturbance and disassembling.Keywords:single-chip computer;wiegand sensor;IC card;intel
8、ligent water meter目 录摘要IAbstractII1 绪论11.1 课题的背景及意义11.2 智能水表的发展趋势11.3 本课题的研究工作22 设计方案与方案论证32.1 设计方案32.2 方案选择43 IC卡智能水表的硬件设计53.1 主系统的构成53.2 微处理器66673.3 传感器的选择888 Wiegand(韦根)传感器93.4 信号处理模块的设计113.5 电磁阀的选择与设计123.6 片外数据存储器的设计143.7 IC卡及其接口电路的设计15AT24C0X系列的IC卡16163.8 人机交互接口的设计1717183.9 电源的设计203.9.1 电池能量的检测
9、203.9.2 超级电容的应用213.10 检测模块的设计234 IC卡智能水表的软件设计254.1 主程序的设计254.2 外部中断0子程序254.3 外部中断1子程序264.4 IC卡的读写软件设计2728292930304.5 片外数据存储器读写软件设计314.6 显示子程序32结论33致谢34参考文献35附录37基于单片机的IC卡智能水表控制系统设计1 绪论1.1课题的背景及意义环境与发展,是当今国际社会普遍关注的重大问题,保护环境是全人类的共同任务。水资源作为生态环境中的重要资源,是人类生活的生产中不可取代的资源,对一个国家的生存和发展也是极为重要的。水资源是一切生命的源泉,是人类不
10、可缺少的物质条件,没有水人类就不能生存,没有水人类赖以自下而上的物质生产就不能发展。IC卡智能水表是一种利用现代微电子技术、现代传感技术、智能IC卡技术对用水量进行计量并进行用水数据传递及结算交易的新型水表。这与传统水表一般只具有流量采集和机械指针显示用水量的功能相比,是一个很大的进步。IC卡智能水表除了可对用水量进行记录和电子显示外,还可以按照约定对用水量自动进行控制,同时可以进行用水数据存储的功能。由于其数据传递和交易结算通过IC卡进行,因而可以实现由工作人员上门操表收费到用户自己去营业所交费的转变。IC卡交易系统还具有交易方便,计算准确,可利用银行进行结算的特点1。IC卡智能水表及其管理
11、系统的出现,将从根本上解决了已上问题。采用IC卡智能水表进行交易结算,不但实现了用水收费的电子化,而且还改变了先用水后收费的不合理状况,使的供水部门能预先收取部分费用,有利于公用事业的发展。IC卡智能水表具有成本低、可靠性高、使用寿命长及安全性好等优点,可提高居民用水收费的管理水平,确保供水部门能及时收取水费。因此,IC卡智能水表成为相关科研单位关注的重点,具有很好的经济效益与社会效益2。1.2 智能水表的发展趋势随着微电子技术的快速发展,加上国家相关政策的推动,民用计量仪表的智能化将是一个必然的发展方向。这不仅是中国的一种趋势,也将成为世界性的趋势。而在近十年里,单体式智能IC卡类仪表又将会
12、是发展主流。从实际情况看,现在的IC卡智能水表确实还存在着许多影响其大规模推广使用的问题。这些问题集中起来主要是1 价格太高;2 质量不可靠;3 存在安全隐患。随着科学技术的不断发展, IC卡智能水表将会不断发展完善。比方,现在这种在老式水表上取信号的模式,将会由先进的水流量信号提取装置代替,机械计量和机械显示部分会被淘汰,而表和阀将会集中在一体等等。总的说来,IC卡智能水表是一种先进的计量仪表,对这种先进仪表的大规模推广使用将会有力促进中国供用水管理的现代化进程。中国在这个方面的超前发展会使这种计量模式得到优先完善,并有可能成为中国的一个有竞争力的产品出口到其它国家3。1.3 本课题的研究工
13、作详细分析课题任务,对IC卡智能水表的发展现状进行分析,并对现代传感器技术、IC卡技术和智能水表控制的原理进行了深入的研究,并将其综合。然后根据课题任务的要求设计出实现控制任务的硬件结构及其原理图和相关软件程序,并进行访真调试。下面对本设计的主要研究工作做个简述。 (1) 根据设计要求,提出几种方案,对它们进行了全面的论证;(2) 根据系统需要,合理选择微处理器,并且详细地阐述了它的基本功能特性;(3) 介绍了相关现代传感技术,选择出信号采集的最正确方案;(4) 根据低功耗要求,对电磁阀的选择与设计进行了深入的研究;(5) 详细分析了E2PROM的工作原理;(6) 对IC卡技术做了简明扼要的分
14、析,并对其软件的读写原理进行了详细的讨论;(7) 应用LED显示技术,可随时查询累计用水总量、可用水量;(8) 改良了普遍应用电源方案,详细地介绍了超级电容技术及其在本设计中的应用;(9) 对整个系统的软、硬件进行了深入的分析,并且绘制了相关硬件电路图、软件流程图,还编写了相关软件程序。2 设计方案与方案论证 本章对智能水表的设计提出了三种智能水表的设计方案,还针对它们各自的工作原理和优缺点进行了简要分析。最终确定为采用基于AT89C2051单片机的IC卡智能水表方案。2.1 设计方案方案一:脉冲发讯集中抄收式智能水表系统工作原理:由表具不断发出脉冲信号,经采集器对脉冲信号进行采集、累加、存储
15、和数据上传。优点:发讯式集抄系统目前在国内已普遍采推广应用方便,价格较低,只要生产厂商、系统集商严格把好每一环节的质量关,且发讯不随时间产生疲劳损伤,此系统不失为一种可供选择的、适于一定历史时期的过渡产品。缺点:(1) 初始化及维护工作量大;(2) 磁铁强磁场干扰;(3) 电能消耗。方案二:基于CAN总线的智能水表自动抄收系统工作原理:自动抄收系统主要由小区管理中心电脑(主控机)、水表数据采集器、采集服务器、中继站等几个部分组成,是一种智能化多用户能耗集中自动抄收系统。其原理是将原能耗计量表的流量转换为脉冲信号,经信号传输线至系统总线,由接口电路通过有线传输或主机直接抄读,最后经微机管理,实现
16、耗能数据的自动处理。优点:CAN现场总线的方式来传送数据,以克服市场已有传送方式所存在的不足之处,其传送方式可实现10公里范围的小区抄收工作,同时性能比同类系统稳定可靠。采用点对点、一点对多点、全局广播等几种方式,数据收发灵活,可实现全分布式多机系统,且无主从机之分,便于实现设备异常主动报警。节点故障自动关闭,不影响网络性能,提高了系统的稳定性,且不关闭总线即可任意挂接或拆除节点,方便了系统的调试和维护。缺点:前期经济投入太多,需要大量的专业网络维护人员,维护工作量大。设计过于复杂,太难,且不容易实现4。方案三:基于89C2051单片机的IC卡智能水表系统工作原理:以接触IC卡或非接触射频卡作
17、为媒介,将各种信息输入表中控制系统来自动开关阀门(供水或停水),由用户到自来水公司网点先预购买水量,再将用水量通过IC卡输入表中控制系统,等水量用尽即自动关阀并中断水的供给,报警器在设定水量用完之前会自动报警以提醒用户购水,到达“先买水、后用水”的目的。优点:在用户不缴费的情况下可自动断水,有效控制收费单位的资金回笼,不需要人工上门抄表、收费,减少抄表员。缺点:(1) 电磁阀在长期开启状态下由于水垢和水中杂质而影响阀门关闭,使用户在不缴费的情况下继续用水,而收费单位还一无所知,一旦发现也无法向用户追缴多用水费;(2) IC卡表也是由发讯脉冲进行累加计量,如果人为强磁干扰或强电瞬间电击,也会造成
18、芯片损坏,从而无法计量;(3) 锂电池在长期使用中是否能到达设计年限还有待考证,到期后由谁负责更换是个问题。随着微电子技术、现代传感器技术的快速发展,以上该方案的缺点我们通过可行的具体方案基本可以解决了。该方案所设计的IC卡智能水表主要由开关阀门控制模块、流量采样模块、微处理器、电源模块、IC卡读写模块、数据存储器模块、显示模块等组成2。2.2 方案选择从投入成本来看,方案二需要建立一整套的网络系统,所需设备多,前期所需经济投入最大,方案一次之,方案三最低。从设计的难易程度来看,方案三融合了微电子技术、现代传感器技术、IC卡技术等,这些技术都已经相当成熟,最容易实现,方案二最难,方案一次之。从
19、维护成本来看,方案二是由一个专用的网络系统组建而成,需要专业的网络技术维护人员,它的维护成本最高,方案一次之,方案三最低。从长期效益来看,随着技术的成熟,社会各行各业网络化进程的加速,方案二必定是今后的发展趋势,它所到达的效益最正确,方案三次之,方案一最差。综合考虑以上三种方案,根据现在的各种实际情况、现有技术水平和设计要求,我们选择了第三种方案基于89C2051单片机的IC卡智能水表系统来进行设计。3 IC卡智能水表的硬件设计本章是本文的核心内容,主要介绍的是系统硬件部分的设计,我们采用了模块化的设计方法,针对系统的工作原理和各个硬件模块的原理和电路进行了具体的介绍。还对各种器件的选择如微处
20、理器、传感器等做了详细的分析。3.1 主系统的构成根据设计要求,所要设计的系统除了解决最基本的正常供水还应具有一定的智能功能。主系统的框架图如图3-1所示。由图中可以看出,系统由这样一些功能模块组成:微处理器、流量传感器、信号处理模块、IC卡接口电路、E2PROM数据存储电路、显示电路、报警电路、电源模块、电磁阀驱动电路以及其他辅助电路。所有模块的设计均考虑了低功耗的要求,本系统采用外接3节5号电池供电,内部采用超级电容作为备用。系统时钟采用外接晶振方式,约为6MHz。 图3-1 主系统框图IC卡智能水表工作原理:首先由用户购买IC卡即用户卡,并携IC卡至收费工作站交费购水,工作人员将购买水量
21、等信息写入卡中。用户将卡插入IC卡水表,卡表内单片机识别IC卡密码并确认无误后,将卡中购买水量与表内剩余水量相加后,写入卡表内存储器,同时必须将IC卡内购水值清零。当用户用水时,由流量传感器采进来的信号以脉冲形式触发单片机的外部中断,换醒单片机,进行用水处理。用户在用水过程中,卡表内剩余水量相应减少。当剩余水量低于一定量,如5m3,卡表报警提示用户购水。当E2PROM中存储的水量用完时,单片机自动关闭电磁阀。用户只有重新购水,才能使电磁阀打开。此外,在发生人为故意破坏时,阀门也会关闭2。3.2 微处理器 微处理器是本设计中的核心器件,我们一般都选用单片机来进行控制,下面给出了对它的选型与功能介
22、绍。 单片机的选型单片机的选型从以下几个方面考虑:(1) 单片机的系统适应性适应性指单片机能否完成应用系统的控制功能,它主要从以下几个方面表达。 单片机的CPU是否有适宜的处理能力。 单片机是否有系统所需要的I/O端口数。 单片机是否含有系统所需的中断源和定时器。 单片机片内是否有系统所需的外接口。 单片机的极限性能是否能够满足要求。2单片机的市场供给情况3单片机的可开发性 单片机AT89C2051简介AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含2k bytes的可反复擦写的只读程序存储器Flash和128bytes的随机存取数据存储器RAM,器件采用A
23、TMEL公司的高密度、非易失性存储的技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。功能特性概述:AT89C2051提供以下标准功能:2K字节Flash闪速存储器,128字节内部RAM,15个I/O口线,两个16位定时/计数器,一个5向量两极中断结构,一个全双工串行通信口,内置一个精密比拟器,片内振荡器及时钟电路。同时,AT89C2051克将至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。图3
24、-2是AT89C2051的引脚结构图,有双列直插封装DIP方式和方行封装方式。图3-2 AT89C2051的引脚图 晶振与复位电路的设计单片机内部带有时钟电路,因此,只需要在片处通过XTAL1、XTAL2引脚接入定时控制单元晶体振荡和电容,即可构成一个稳定的自激振荡器。振荡器的工作频率一般在1.212MHz之间,当然在一般情况下频率越快越好。可以保证程序运行速度即保证了控制的实时性。一般采用石英晶振作定时控制元件;在不需要高精度参考时钟时,也可以用电感代替晶振;有时也可以引入外部时脉信号。C1、C2虽然没有严格要求,但电容的大小影响振荡器的振荡的稳定性和起振的快速性。在设计电路板时,晶振,电容
25、等均应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。在本设计中,我们采用的外接晶振频率约6MHz,因此机器周期约2s。RESET引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期即两个机器周期以上。如使用频率为6MHZ的晶振,则复位信号持续时间应超过4s才能完成复位操作。产生复位信号的电路图如图3-3所示5。图3-3 复位电路和时钟电路3.3 传感器的选择 霍尔接近开关传感器 集成式霍尔开关传感器的主要优点是:可靠性强、抗干扰性能好、温度特性优良、电源电压范围宽、输出电流能力强、兼容性好、能与CMOS集成电路直接接口,动作响应时间短以及体积小巧、寿命长和
26、使用方便等。 但是,从对上述对霍尔开关传感器的原理描述中可以看出,霍尔开关传感器中必须对霍尔效应片输入控制电流、同时其内部还有差分放大器等具有较大功耗的器件,典型的集成式霍尔开关传感器耗电为mA级,因此,霍尔开关传感器不适合应用在本低功耗设计中。 光电检测传感器 当光照射在半导体材料的PN结上时PN结的两侧将产生光生电动势,如外部用导线连接,将有光电流流过,通常的光电检测传感器都是基于这一原理。 目前的光电检测传感器就是利用上述原理,以光电二极管为例,把发光二极管和光电二极管相对放置便组成了光电检测电路,当被检测物体通过二者之间时,由于光电二极管所接受的光的强度发生变化,其产生的光电动势也发生
27、变化,将这种变化进行放大和处理,就能产生反映有无物体通过二者之间的电压脉冲信号。然而,由于在此结构中必须用到发光二极管对于不需要发光二极管的光电检测传感器,功耗得到了降低,但是,其容易收到环境光线变化的影响,可靠性和检测精确度较低,因此,其功耗电也较高,不宜用在本低功耗设计中。 Wiegand(韦根)传感器(1) Wiegand传感器组成Wiegand传感器由三部分组成:(1)Wiegand线;(2)检测线圈,将其缠绕在Wiegand线上,或放置在Wiegand线附近;(3)磁铁。常用结构示意如图3-4所示。图3-4 Wiegand传感器组成(2) Wiegand传感器工作方式根据Wiegan
28、d线外部磁场引入的方式不同,Wiegand传感器有两种驱动方式:非对称驱动方式和对称驱动方式。非对称驱动方式开始把Wiegand组件置于一种称为渗透磁场的强磁场中,此时Wiegand线的外壳和内芯按同一方向极化,如图3-5 a) 所示;再把组件置于一种称为复位磁场的弱磁场中,此时内芯的极性反向,而外壳的极性不变,如图3-5 b) 所示;然后把组件置于渗透磁场中,Wiegand线内芯与外壳的极性又恢复到图3-5 a)的情况,由于Wiegand线中磁场的变化,导致在检测线圈中一个周期内产生单一方向的电压脉冲,如图3-5 c)所示。图3-5 非对称驱动方式在对称驱动方式中,采用两块磁场强度大小相等但
29、极性相反的磁铁,一块磁铁首先将Wiegand线的外壳和内芯按同一方向进行渗透,如图3-6 a)所示;再将Wiegand线切换到第二块磁铁,在这过程中,首先线芯的极性改变,如图3-6 b)所示;然后外壳的极性发生改变,这一作用在检测线圈中产生一个方向的电压脉冲输出,如图3-6 c) 所示;接着,再将Wiegand线转回到第一块磁铁,首先内芯的极性改变为起始的极性,如图3-6 d) 所示;其次外壳的极性也随之改变为起始的极性,这一过程产生相反方向的电压脉冲输出如图3-6 e) 所示6。图3-6 对称驱动方式(3) WG系列韦根传感器原理及其特点WG系列韦根传感器是利用韦根效应制成的一种新型磁敏传感
30、器。其工作原理是传感器中磁性双稳态功能合金材料在外磁场的激励下,磁化方向瞬间发生翻转,从而在检测线圈中感生出电信号,实现磁电转换。它具有以下特点: 传感器工作时无须使用外加电源,适用于微功耗仪表,如电子水表、电子气表和其它智能型仪表。 使用双磁极交替触发工作方式,触发磁场极性变化一周,传感器输出一对正负双向脉冲电信号,信号周期为磁场交变周期。 输出信号幅值与磁场的变化速度无关,可实现“零速”传感。 无触点、耐腐蚀、防水,寿命长。 利用 线、同轴线可实现电信号远传。由于WG系列韦根传感器具有以上的众多的特点,特别是其几乎不需要外界能量的输入。因此,选择它作为本低功耗设计的传感器。在这里,我们选择
31、了南京艾驰电子科技的WG系列韦根传感器产品,其型号为WG101。具体使用方法为:在水表的计量齿轮上安装小磁钢,当用户用水,齿轮转动,小磁钢将会转过Wiegand丝传感器,这时传感器产生一个高电平脉冲信号,经过整形、放大处理后输入至单片机进行计数计量。选择此传感器作输入信号测量的传感器,既满足了准确计量的基本要求,又满足了低功耗设计的需要,是本低功耗设计的重要组成部分。3.4 信号处理模块的设计WG系列WG101韦根传感器所产生的正向脉冲信号一般为1V2V之间。为了保证系统能更加稳定的工作,必须对传感器所产生的脉冲信号进行放大、整形处理。我们采用如图3-7所示的简单电路,可以很好的到达脉冲信号的
32、放大、整形作用。经过处理后的电平信号,送单片机的外部中断P3.2进行计数处理。当计满NN表示为设定的转数值,用水总量加1,剩余水量减1“1”在本设计中代表0.1m3的水。 图3-7 信号处理电路图由于WG系列韦根传感器使用双磁极交替触发工作方式即对称驱动方式,当水表叶轮转动一周,触发磁场极性变化一周,韦根传感器输出一对正负双向脉冲电信号。当韦根传感器输出为正向脉冲时,NPN管导通,脉冲检测信号W_IN输出为高电平;当韦根传感器输出为负向脉冲时,NPN管截止,脉冲检测信号W_IN输出为低电平。即水表叶轮转动一周,脉冲检测信号W_IN存在一个由高到低的跳变。由于我们设定外部中断P3.2为跳变触发方
33、式,即电平发生由高到低的跳变时触发。因此,水表叶轮转动一周,外部中断产生一次中断5。3.5 电磁阀的选择与设计 对于水表而言,阀门是被控对象,控制着进水的开/关状态。目前可控制的阀门主要是电磁阀,但常规的电磁阀是靠电的通/断来控制阀门的开/关的,即要让阀门一直关着,就必须一直通电,因此耗电较大,不符合本水表低功耗的要求。因此,必须对现有电平开关式电磁阀进行改良,采用双稳态电磁阀,即阀门的开/关控制由电脉冲来实现。使得对阀门开/关只需瞬时供电,从而减少耗电量。在这里我们选择:执行机构采用继电器HRS2H-S-DC3V,驱动带自锁的脉冲电磁阀MP15A-3V,两者仅需+3V电源供电。正常供水情况下
34、,电磁阀自锁于常开状态,驱动机构不消耗电能,只有当购买的吨位数用完时,才由固态继电器驱动电磁阀关闭开关,并自锁于常闭状态,重新购水插卡后,再次送电开启。当水量为零时,控制阀自动关闭,水路即被切断,此时用户须重新持卡购水。在正常情况下控制阀处于接通状态,只有当特殊事件发生时,控制阀才从接通状态变为关闭状态。三种事件状态下控制阀的通断情况如图3-8所示7。图3-8 控制阀的关断情况值得注意的是,由于继电器和脉冲开关电磁阀都是较大容量的感性负载,因而在切断这些感性负载时,会产生很大的电流和电压变化率,从而形成瞬变噪声干扰,成为系统中电磁干扰的主要原因,引外,继电器通断所造成的电火花和很强的电弧也产生
35、了很大的电磁干扰。因此,在系统中必须设计相应的抗干扰电路来消除此电磁干扰,本系统所采用的抗干扰措施主要有以下两点:(1) 采用光电耦合器进行隔离当P1.1输出为高电平时候NPN管Q1导通,在光电耦合器SW-GD型号为4N25中的发光二级管发光,三级管导通。此时,电阻R10上就存在一个高电平使NPN管Q1导通。继电器即得电产生动作。如图3-9所示D1为续流保护的作用。图3-9 光电耦合器隔离电路从上图中可以看出,单片机控制的I/O口和继电器控制端口之间用光电耦合器进行了隔离,这样,由于继电器通断所造成的电火花和电弧就不会影响到单片机系统了8。(2) 在电磁阀供电端跨接压敏电阻抗干扰 压敏电阻是一
36、种非线性电阻性元件,它对外加的电压十分敏感,外加电压的微小变动,其阻值会发生明显的变化,因此电压的微增量可引起大的电流增量。 压敏电阻又分为碳化硅压敏电阻、硅压敏电阻、锗压敏电阻以及氧化锌压敏电阻,其中较为常用的是氧化锌ZnO压敏电阻,其电气性能如图3-10所示。 从图3-10中可以看出。压敏电阻具有类似稳压管的非线性特性,在一般工作电压外加电压低于临界电压值下,压敏电阻呈高阻状态,仅有uA数量级的漏电流流过图3-10 氧化锌压敏电阻的电气性能压敏电阻,相当于开路状态。当有电压当电压到达临界值以上时,压敏电阻即迅速变为低阻抗响应时间为毫微秒数量级,电流急剧上升,电阻急剧下降,过电压以过电电流的
37、形式被压敏电阻吸收掉,相当于过电压部分被短路。当浪涌过电压过后,电路电压恢复到正常工作电压,压敏电阻又恢复到高阻状态。可以利用压敏电阻的上述特性来吸收各种干扰过电压。由于ZnO压敏电阻特性曲线较陡,具有漏电流很小、平均功耗小、温升小、通流容量大、伏安特性对称、电压范围宽、体积小等优点,可广泛用于直流和交流回路中吸收不同极性的过电压。在本设计中的具体使用方法为将压敏电阻并联到电磁阀的供电电压上,这样,电磁阀开关所产生的浪涌过电压就被压敏电阻所吸收了。压敏电阻的使用大大降低了电磁阀开关所造成的电磁干扰对单片机系统的影响。3.6 片外数据存储器的设计在系统的设计过程中,考虑到智能水表在使用过程中可能
38、出现失电的情况。当这种情况发生时,系统应该保存失电前的一些数据。比方,存储用户设定的水量系数N转/吨,累计用水总量和剩余水量等。而这些数据如果存储在单片机的数据存储器中,单片机失电重启动后存储的相关数据已经消失了。为了完成此功能,必须在单片机外部加一个E2PROM,完成这些数据的存储,本设计系统中加入了I2C总线的E2PROM。I2C总线简介:I2C总线由PHILIPS提出,是一种用于IC器件之间连接的二线制总线。它通过SDA串行数据线及SCL串行时钟线两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。采用I2C总线标准的单片机或IC
39、器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为假设干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接 。其协议定义的I2C总线数据格式如下:开始7/10器件地址R/ACKSUBADDACKDATAACK停止AT24C01是美国ATMEL公司的低功耗CMOS串行E2PROM,它是内含1288位存储空间,具有工作电压宽2.55.5V、擦写次数多大于10000次、写入速度快小于10ms等特点9。在系统中,用AT24C01存储用户的设定水量转数N、水表检测脉冲数M、累计用水总量和剩余水量等。当系统断电以后,系统将把有用的信息保存在AT24C01中,使其不被丧失。其实际电
40、路连接图如图3-11所示:电阻R24、R25为上拉电阻。由于我们只用一片E2PROM,所以A2=A1=A0=0。它的工作原理我们将在第四章详细介绍。图3-11 AT24C01与单片机接口电路3.7 IC卡及其接口电路的设计下面简要介绍AT24C0X系列的IC卡的基本特性与引脚功能,并分析AT24C0X与AT89C205l单片机的在本设计中的具体接法。 基于AT24C0X系列的IC卡AT24C0X系列IC卡是美国ATMEL公司生产的存储式IC卡。产品型号有AT24C01/02/04/08/16/32/64,存储容量分别为1kbits/2 kbits /4 kbits /8 kbits /16 k
41、bits /32 kbits /64 kbits;2.55V低电压供电;双线串行接口;双向数据传送;支持ISO/IEC7816-3同步协议;写/擦除次数1 000 000次;数据保存期100年。它是目前国内使用最多的IC卡之一。AT24C0X系列IC卡的引出端符合ISO/IEC7816-2标准。C1:VCC,工作电压;C3:SCLCLK,串行时钟;C5:GND;C7:SDAI/O,串行数据输入/输出;C2,C6:NC,未接。IC卡引脚如图3-12所示,其中引脚T,P为微动开关的两触点。此微动开关在无IC卡状态时,处于断开状态;有卡插入时,IC卡卡座上的微动开关动合,因此,此开关往往是用来判断是
42、否插IC卡的传感器件2。图3-12 IC卡示意图 IC卡的接口电路的设计24系列为低功耗COMS E2PROM 器件,使用单+5v电源,电源电压范围为2.56V,内有高压泵电路,写入、擦除操作由内部定时器自动完成,具有擦除/写入周期10万次寿命和数据安全保存100年的有效期,二线串行接口,和各类微处理器接口十分简单等特点。本设计的AT89C205l单片机与IC卡240X接口如图3-13所示。图中IC-CARD为标准IC卡座,其T、P端用作到位检测开关,将T端连接89C2051的外中断输入脚P3.3()。由于引脚T,P为微动开关的两触点,所以,当有IC卡插入时,微动开关闭合,P1.5脚电平被拉低
43、,单片机通过判读P1.5脚,做好读卡准备,无卡时,P1.5脚为高。P1.6、P1.7用作数据线(SDA)和时钟线(SCL),用软件模拟时序的方法来实现对IC卡的读写。当有IC卡插入时,P1.5脚电平被拉低,单片机通过判读P1.5脚,做好读卡准备,无卡时,P1.5脚为高,R19、R20、R21为限流电阻10。图3-13 IC卡接口电路3.8 人机交互接口的设计人机互交接口包括了报警电路与显示电路的设计,下面具体给出了在本设计中采用的报警电路和显示电路,并分析了它们的工作原理。另外,还对显示电路在本系统中应用的显示原理进行了详细的分析。 报警电路的设计根据系统需要,我们设计了一个报警电路。当剩余水
44、量不足、电池欠压等情况下,都需要报警。本报警电路很简单,我们采用1个NPN型三级管,1个蜂鸣器和1个电阻组成。如下列图3-14所示,当P1.4输出一个高电平时,NPN型三级管Q4导通,蜂鸣器马上得电发声,产生报警11。图3-14 报警电路 显示电路的设计显示电路作为水表的输出接口,显示剩余水量、用水总量等信息。它们的有效工作时间都比拟短,用户看完后,没有必要让它一直显示;为此,可水表上装一个开关按钮提供信号,即按一下按钮时,水表开始显示剩余水量;再次按下按钮时,水表显示用水总量;再次按下按钮时,水表显示关闭。如显示10s后,按钮没有动作,亦使它们停止工作,从而到达节电的目的。在小型的控制系统中
45、,通常用LED数码管作为显示器件。LED数码管的显示方式通常可分为2种:静态方式和动态方式,静态显示方式的优点是亮度高、没有闪动、稳定,缺点是功耗大、占PCB面积大、成本高。为了在人机对话设计中降低硬件成本,节约单片机的I/O口资源,我们采用将通过串行动态扫描,即位码和段码交替发送的方式设计了一种新颖的显示模块,经调试,效果良好。显示电路的具体电路如图3-15所示,它由单片机AT89C2051,2片74HC164,6个LED数码管,6个220欧姆左右的限流电阻组成,74HC164是8位串入并出移位存放器,它的每一个输出管脚具有+/-20mA的驱动能力。对于小型LED数码管,还要串联200360
46、的限流电阻。动态显示电路采用2片74HC164,可以驱动18只共阴极数码管,我们采用6位显示,其中一片U3作为段码驱动,另一片U1作为位码驱动,2片74HC164采用级联方式连接,只占用单片机AT89C2051的2个I/O端口。位码驱动U1的数据输入端口、时钟输入端口分别连接AT89C2051的RXD和TXD端口。段码驱动U3的数据输入端口、时钟输入端口分别连接位码驱动U1的Q7和AT89C2051的TXD端口。选择AT89C2051的串行口方式为0方式,即移位存放器方式12。图3-15 串口显示电路图如果要求在6位LED数码管的最低位显示一个字符时,首先从DMbufer中取出要显示的数,通过
47、译码表译出这个字符的段码值并将段码值写入U3中。根据这个字符在LED、显示器的位置(这里为最低位)。确定它的位码值是FEH(1111 1110)将位码值写入WMbuffer中(注意:段码驱动U3为高电平有效、位码驱动U1为低电平有效)。在显示程序中,首先将位码值写入串行数据存放器(SBUF)。在AT89C2051TXD端口的时钟作用下,AT89C2051RXD端口送出这个字符的位码值到段码驱动U3。当AT89C2051送完一个字节的位码值后,发送中断标志位TI置位。检测到TI=1后,清零TI,接着将段码写入SBUF,AT89C2051再送段码值到段码驱动B,同时段码驱动U3的位码值被送入位码驱动U1中,延时2ms,即可显示这个字符了。如果要求在低二位显示第2个字符,则WMbufer(1111 1110)不带进位位左移一位(1111 1101)并送WMbufer。再通过译码表取得第2个字符的段码值送入U3,重复上述过