具体实现功能
系统由STC89C52单片机+LCD1602+电磁阀+继电器+流量计+IC卡读写模块模块构成。
具体功能:
(1)第一行显示IC卡ID号码,此时未读到IC卡,所以ID显示为0,第二行显示的依次是剩余的水量和IC卡内的余额。若水量余额大于0,电磁阀得电,用户可以用水。
(2)当智能水表检测到IC卡时,第一行显示IC卡ID号码,第二行显示的是剩余的水量和IC卡内的余额。卡片内的余额可以充值到水表里。此时水表内有水量,电磁阀开启,按下用水按钮,模拟流量计旋转,用水信号输入到单片机,单片机将水的余量在屏幕的第二行显示出来,当水的余量小于等于10时,发光二极管点亮,提示余额不足,当水的余量等于0时,继电器断开,切断电磁阀。
(3)当智能水表开盖报警按钮按下时,继电器断开,蜂鸣器开始鸣叫。
设计背景
传统的自来水用户的用水量管理依靠人工抄表,之后由用户去收费点缴纳费用。这样的收费方式需要大量人员抄表、费时、费力、效率很低,经常就会出现用户不缴费、迟缴水费等问题。为了彻底的解决这些问题,本设计在研究国内外智能水表发展现状的基础上,设计出了一个基于51单片机的IC卡智能水表控制系统。本水表使用STC89C52为*控制单元,使用流量传感器检测用水量,运用IC卡读写及加密技术,实现购水与用水量的管理。
本文完成了系统的硬件电路设计和软件的设计。硬件电路采用模块化设计,包括IC卡接口电路、用水量检测电路、电磁阀驱动电路、报警电路、LCD显示电路等,详细介绍了各单元的工作原理;系统软件采用C语言编制,给出了具体的程序流程图。
系统具有插卡智能别、身份验证、掉电保护、自动供停水、水量信息显示、电磁阀门智能开关控制、防干扰、防拆卸等功能。
硬件设计
本设计的硬件设计原则是在保证低功耗的前提下,实现水控功能。首先由用户到自来水公司购买水费,其金额由自来水的充值机写到IC卡里,回家后将IC卡放到水表上,这时IC卡读写模块将卡内金额数据传递给单片机,单片机根据有无余额判断是否开启电磁阀,并且通过液晶显示模块将水表内的余额以及使用的水量信息显示出来;用水时流量传感器将用水量的数据传递给单片机,再通过单片机计算出实时的余额,当余额低于设定值时,报警电路发出提示,当余额为零时,电磁阀关闭,直至再次读到有金额的IC卡为止。另外本设计还考虑了防破坏功能,当有人恶意开启水表盖时,内部的防盗开关动作,单片机检测到该信号,这时电磁阀关闭,报警器鸣叫。
软件设计
该控制系统的程序主要分为四部分:主程序、IC卡读写程序、液晶屏显示程序、输入输出子程序。
主程序完成系统的地址分配、系统初始化、主要数据处理和各子程序的调用功能。
非接触式IC卡读写程序流程:M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位。
单片机控制液晶显示器件LCD1602,首先清除显示的RAM缓冲区,再对LCD1602进行初始化处理,单片机再将显示行的值和显示的字符值分别传送给LCD1602显示器,即完成了显示已用水量和剩余水量的数值。
原理图
本系统原理图设计采用Altium Designer19,具体如图。
程序
本设计利用KEIL5软件实现程序设计,具体如图。
全部资料
全部资料包括程序(注释)、AD原理图、参考论文、元件清单、实物图、程序流程图等,全网最全!