具体实现功能
系统由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 Designer具体如图。
本设计利用KEIL5软件实现程序设计,如图所示。
所有信息包括程序(注释)AD全网最全面的原理图、参考论文、元件清单、实物图、程序流程图等。