基于单片机的IC卡智能水表源代码
- 格式:doc
- 大小:75.50 KB
- 文档页数:15
基于单片机的IC卡智能水表控制系统设计【摘要】本文的重点是对新型的IC卡智能水表电路进行设计和研究,它的主要特征是:以STC89C52单片机为核心,可以实现对IC卡的读写,对液晶屏幕的显示、电磁阀的开闭,对流量计脉冲的提取进行控制。
此外,它还拥有存储电路,可以完成对水表信号的读写处理,并对水表工作进行监控。
同时还能提供安全保护、自动报警、通讯接口等电路设计,以满足用户对IC卡智能水表控制系统的要求。
通过现场数据采集和实时传输水表数据,可以轻松准确地了解用户的用水量、剩余水量和购水量等信息,实现对用户的实时监控。
【关键词】单片机IC卡智能控制水表1水表的系统方案设计本系统以实现控制水的功能为基本原则,同时又要满足低功耗的要求。
首先,用户持IC卡到自来水公司购水,自来水公司用读写器把购水记录的数据写入IC卡中,之后用户将IC卡放在水表的读取和写入模块的感应区,然后IC卡读取和写入模块把IC卡中的数据传输到单片机,单片机就会根据IC卡中有无余额来决定是否要打开电磁阀,同时在LCD模块上显示出水表中的结余金额、用水量、余水量等信息;在用户用水时,流量传感器会将收集到的用水量数据的脉冲信号传输给单片机,通过单片机来计算目前的余额。
当余额低于设置值时,将发出警报,当余额为零时,将自动将电磁阀关闭,直至再次读入IC卡中。
此外,在这个设计中,还考虑到了防拆卸的功能,如果有人想要强行拆卸水表,就会触发水表内的防盗开关,当单片机探测到这个信号时,控制电磁阀自动关闭,并且报警器会发出警报声。
2 智能水表的硬件部分设计2.1 主控制装置本设计所采用的STC89C52是一个8位的CMOS51单片机,它有8KB的可编程性和可擦去性。
其具有32个输入输出端口、6个中断信号和2个计时器。
芯片中的闪存能够让程序在系统中进行更改,或者利用传统的非易失内存编程器改写相应的程序。
STC89C52是一种功能强大,性能稳定,性价比较高,在各类控制系统中有着广泛的应用。
基于单片机的IC卡智能水表设计一、IC 卡智能水表的工作原理IC 卡智能水表主要由流量传感器、单片机控制单元、IC 卡读写模块、显示模块和阀门控制模块等组成。
流量传感器用于实时检测水的流量,并将其转换为电信号传输给单片机。
单片机作为核心控制单元,负责对流量数据进行处理、计算水费、与 IC 卡进行通信以及控制阀门的开关。
IC 卡读写模块用于读取用户的 IC 卡信息,包括用户余额、用水数据等,并将水表的相关数据写入 IC 卡。
显示模块则用于显示用户的用水量、余额等信息。
阀门控制模块根据单片机的指令,控制水表阀门的开启和关闭,以实现用水的控制。
二、硬件设计1、单片机选型选择合适的单片机是整个设计的关键。
需要考虑单片机的性能、资源、功耗和成本等因素。
常见的单片机如 STM32 系列、AVR 系列等都可以满足需求。
2、流量传感器流量传感器的精度和稳定性直接影响水表的测量准确性。
可以选用电磁式、涡轮式或超声波式流量传感器。
3、 IC 卡读写模块IC 卡读写模块需要支持常见的 IC 卡类型,如 SLE4442 卡、Mifare 卡等,并具备可靠的读写性能。
4、显示模块可以采用液晶显示屏(LCD)或数码管显示,以清晰地显示用水量和余额等信息。
5、阀门控制模块阀门控制模块通常采用电动阀门或电磁阀,通过单片机的输出信号来控制阀门的开关。
三、软件设计1、主程序流程主程序首先进行系统初始化,包括单片机内部资源的初始化、各模块的初始化等。
然后进入循环,不断检测流量传感器的信号,进行流量计算和水费计算。
同时,检测 IC 卡的插入,进行读写操作,并根据用户余额和用水情况控制阀门的开关。
2、流量计算算法根据流量传感器输出的信号,采用合适的算法计算水的流量。
常见的算法有定时采样法、脉冲计数法等。
3、 IC 卡通信协议遵循 IC 卡的通信协议,实现与 IC 卡的数据交换。
包括读取卡内的用户信息、写入水表的用水数据等。
4、阀门控制算法根据用户余额和用水情况,制定合理的阀门控制策略。
基于单片机的IC卡水表的设计摘要智能IC卡水表是一种集计量功能和控制功能为一体的水量计量装置,是一种利用现代微电子技术、现代传感技术、对用水量进行计量并能进行用水数据传递及结算交易的新型水表。
该水表的研发从根本上改变了自来水公司传统的工作方式,形成了先买卡充值再用水的服务模式,有效的避免了水费的流失、为降低自来水公司经营成本提供了先进的管理手段,解决了长期困扰供水行业的水费拖欠问题,更重要的是使公民的用水观念和供水部门的管理方式发生了根本改变。
本次设计的智能IC卡水表系统利用单片机AT89C51作为主要芯片,完成了充值、扣费、复位等功能。
显示部分采用LCD12864液晶显示器,能够支持汉字和数字输出,简单明了。
键盘采用矩阵键盘模块,输入方便。
IC卡采用了西门子公司的SLE4442逻辑加密卡。
设计结果表明,此系统设计容易,结构简单,造价低廉,维修方便。
本文详细介绍了系统的整体原理,分析了系统的硬件及软件设计,并制作了实物。
关键词:单片机;IC卡;智能水表AbstractThe intelligent IC card water meter is a kind of water metering measuring function and control functions of the device, is the use of modern microelectronic technology, modern sensor technology, '(new water meter card technology of the water metering and can use data transfer and settlement of transactions. Research and development of the water change water company the traditional working way fundamentally, formed the card to buy water service mode, in order to avoid water loss, provides advanced management method to reduce the water company operating cost, solve the problem of arrears of long-term problems in water supply industry water, more important is to make a fundamental change in the concept of water use and water supply departments of civil management.The design of the intelligent IC card water meter system using single chip microcomputer AT89C51 complete recharge, fee deduction, reset functions. The display part using LCD12864 liquid crystal display, can support Chinese characters and the digital output, simple and clear. The keyboard using matrix keyboard input module, convenient. IC card using SLE4442 logic encryption card Siemens ltd.Results show that, this system is easy to design, simple structure, low cost, convenient repair. This paper introduces the principle of the whole system, discusses the hardware and software design of the system and create the physical.Key words:microcomputer;IC card;Intelligent water meter目录1 绪论 (1)1.1课题背景 (1)1.2 传统水表 (1)1.2.1 传统水表的主要结构 (1)1.2.2 传统水表的主要特点 (1)1.3 智能IC卡水表 (2)1.3.1 智能IC卡水表的主要特点 (2)1.4 IC卡的发展历史 (3)1.5 研究内容 (3)2 IC卡水表的整体设计 (5)2.1 系统的功能说明 (5)2.2 系统总体方案设计 (5)2.2.1 IC卡选择 (6)2.2.2 键盘选择 (7)2.2.3 显示器的选择 (7)3系统各模块硬件电路设计 (9)3.1Protel电路原理图设计软件 (9)3.2 单片机部分 (12)3.2.1单片机AT89C51介绍 (12)3.2.2 AT89C51主要管脚介绍 (13)3.2.3 芯片擦除 (14)3.3 时钟电路和复位电路 (15)3.4 LCD12864液晶显示电路 (16)3.5 SLE4442IC卡部分 (17)3.5.1 SLE4442IC卡的主要指标 (17)3.6 键盘设计 (18)3.7 报警电路 (19)4 软件设计 (20)4.1 主程序设计 (20)4.2 子程序流程图 (21)4.2.1充值程序流程图 (21)4.2.2 用水扣费程序流程图 (22)5 编程与系统调试 (24)5.1 编程工具Keil (24)5.1.1 uvision4集成开发环境介绍 (25)5.2调试结果 (26)5.2.1 实物调试 (26)5.2.2 上电选择 (26)5.2.3 充值界面 (26)5.2.4 用水扣费状态 (27)结论 (29)致谢 (31)参考文献 (32)附录A 英文原文 (33)附录B 汉语翻译 (39)附录C 主要程序 (44)附录D电路原理图 (48)1 绪论1.1课题背景科学技术发展的脚步越来越快,加快了资源的消耗,特别是人们日常生活必不可少的淡水资源。
基于51单片机的ic卡智能水表课程设计基于51单片机的IC卡智能水表课程设计一、引言随着科技的发展和人们生活水平的提高,水资源的合理利用和管理变得愈发重要。
传统的水表只能实现简单的读数功能,无法满足现代社会对智能化水表的需求。
本文将介绍一种基于51单片机的IC 卡智能水表的课程设计方案,通过对IC卡的读写和水表计量功能的结合,实现对用户用水量的监测和管理。
二、课程设计方案1. 系统框架本课程设计采用51单片机作为控制核心,通过与IC卡、水表及相关传感器的连接与通信,实现智能水表的计量、存储和管理。
系统框架包括IC卡读写模块、水表计量模块、显示模块和数据管理模块。
2. IC卡读写模块IC卡作为存储用户信息和充值记录的介质,需要通过51单片机与系统进行数据交互。
本课程设计中,采用SPI总线通信协议,通过51单片机的SPI接口与IC卡进行通信,实现对IC卡的读写操作。
IC卡中存储了用户的身份信息、充值金额和消费记录等数据,通过读卡器读取IC卡中的数据,传输给51单片机进行处理。
3. 水表计量模块水表计量模块通过与水表传感器的连接与通信,实现对用户用水量的实时计量。
本课程设计中,采用脉冲计量的方式,水表传感器产生的脉冲信号通过51单片机的外部中断引脚接收并计数,实时记录用户的用水量。
通过设置合适的脉冲与用水量的换算关系,可以准确地计量用户的用水量。
4. 显示模块显示模块用于显示用户的用水量和剩余金额等信息,方便用户实时了解自己的用水情况。
本课程设计中,采用LCD液晶显示屏作为显示设备,通过51单片机与LCD显示屏进行通信,将计量数据和相关信息显示在屏幕上。
5. 数据管理模块数据管理模块用于对用户的用水量和消费记录进行管理和统计。
本课程设计中,采用EEPROM作为数据存储介质,通过51单片机与EEPROM进行通信,实现对用户信息、充值记录和消费记录等数据的读写操作。
通过数据管理模块,可以实现对用户用水量和消费情况的管理和查询。
目录摘要 (1)Abstract (2)第1章绪论 (3)1.1课题背景及意义 (3)1.2 传统水表 (4)1.2.1 传统水表的主要结构 (4)1.2.2 传统水表的主要特点 (4)1.3 智能水表 (4)1.3.1 智能水表的特点 (5)1.3.2 国内外智能水表的发展现状及发展趋势 (6)第2章智能水表的组成和单片机的选择 (7)2.1智能水表系统硬件组成 (7)2.2 AT89C51单片机简介 (8)2.2.1 89C51单片机的基本组成 (8)2.2.2 89C51单片机引脚及其功能 (9)第3章系统各模块硬件电路设计 (10)3.1 IC卡读写电路 (10)3.1.1 Mifare 1射频IC卡 (10)3.1.2 H6152读写模块 (13)3.1.3 IC卡读写电路的原理及说明 (13)3.2 液晶显示电路 (16)3.2.1 液晶显示模块 (16)3.2.2 电源模块 (18)3.2.3 单片机模块 (20)3.3 记忆单元电路 (20)3.3.1 I2C总线简介 (20)3.3.2 AT24C01简介 (22)3.3.3 硬件原理图 (22)3.4 电磁阀控制电路 (23)3.5 其它模块电路 (24)第4章系统各模块软件设计 (25)4.1 IC卡读写软件设计 (25)4.1.1 H6152内部寄存器 (25)4.1.2 H6152通信协议与控制命令 (27)4.1.3 IC卡读写电路程序流程图及部分程序 (31)4.2 液晶显示电路软件设计 (32)4.2.1液晶控制驱动器指令集 (32)4.2.2程序流程图及部分程序 (34)4.3 记忆单元电路软件设计 (36)第5章结论 (37)参考文献 (38)谢辞 (39)附录:电路图 (40)基于单片机的IC卡智能水表设计摘要为适应国家用水制度的改革,研究和利用现代化智能技术对自来水实行自动控制,减轻供水管理部门因“先供水后收费”造成的资金压力,减少每月抄表、收费所带来的麻烦和因收费问题带来的纠纷,用现代科学技术手段改变自来水管理体制的落后现状,势在必行。
基于PIC16F84单片机的IC卡智能水表设计摘要:本文介绍了一种基于低功耗芯片PIC16F84的IC卡智能水表的设计,文中给出了系统的硬件设计和软件设计。
该IC卡水表具有低成本、低功耗、可靠性高等优点,可广泛应用于各城市供水系统。
关键字:PIC16F84,IC卡智能水表1、引言长期以来,自来水用户的用水量管理依靠人工抄表,然后由收费员到各家收费或各用户去银行交费。
这种传统的收取水费的做法需要的工作人员多,费时、费力、效率低,常常出现用户欠费、迟缴或漏缴水费等问题。
采用IC卡智能水表后,可以改变自来水收费及管理的现状,达到下列管理目标:1)智能水表代替传统水表,用IC卡实现预付费,实现“先付费后用水”、持卡结算的理想管理模式,从根本上杜绝欠缴、迟缴、漏缴水费的现象,使自来水公司应收费用及时到位。
2)建立自来水公司计算机信息管理网络系统,实现对自来水供应、自来水用户及自来水公司员工的科学化管理;建立完善的财务核算管理,使自来水公司的日常工作和管理流程化、自动化、科学化,提高自来水公司的服务质量和竞争力。
3)减轻工作人员的劳动强度,消灭(减少)现金交易,减少人为差错和杜绝贪污案件的发生。
4)提供方便的统计查询功能,便于全面、及时地了解情况,为决策提供依据。
IC卡水表系统是由IC卡水表、通用IC卡及计算机收费管理网络组成,起核心是IC卡水表。
2、硬件设计IC卡计费水表主要由阀门、流量传感器、微处理器、IC卡读/写器、显示器及电源等组成,其硬件结构如图1所示。
图1 IC卡智能水表原理框图1)微处理器为降低整个水表的功耗,微处理器选用低功耗芯片AT89C51。
该芯片工作于休闲状态时,耗电量仅为级。
另外,采用FLASH的串行存储芯片AT24C01作为数据存储器。
AT24C01是一个串行的EEPROM,占用体积小,功耗低,且操作简单,主要用来存放IC卡识别字、发行密码及用水计量等数据,以作为水表识别与计计量的依据。
基于MSP430的智能水表设计智能水表系统的实用性研究己成为当前仪表行业的热点之一。
本文介绍的就是一种基于MSP430F413单片机的智能水表的设计。
本论文以智能IC卡水表系统为研究对象,重点探讨了基于MSP430F413型超低功耗单片机在低功耗智能仪表上的应用与开发。
智能水表的工作原理本文设计的智能水表的工作原理:用户先购买IC卡(用户卡),并携带IC 卡至收费工作站交费购水,工作人员将购水量等信息写入卡中。
用户将卡插入IC 卡水表表座内时,IC卡水表内单片机识别IC卡密码,校验并确认无误后,将卡中购水量与表内剩余水量相加后(初次使用时,剩余水量为零),写入IC卡水表内的存储器,进而控制电阀开通阀门供水。
用户在用水过程中,带磁感器的叶轮在水流的冲击下转动,通过磁传递,带动上表罩上的梅花齿轮转动并使多极齿轮转动,实现机械累计计量,每当计量到0.01m3时由位于0.01m3处的计量传感器向单片机发出同步的计量脉冲信号,此时,MSP430F413将输入的有效脉冲计入并计算用水量,IC卡水表内剩余水量就会相应的减少一个计量单位,累计用水量就会增加一个计量单位,LCD显示屏上显示剩余水量等相关用水数据。
当剩余水量低于一个定量时(有一个事先设定好的最低剩余水量值),IC卡水表的报警系统启动(蜂鸣器响起),提醒用户及时到供水部门再次购水,这时,LCD显示屏上显示“请购水”字样。
当剩余水量为-1时,单片机驱动电阀自动关闭,切断水源,停止供水并报警。
在用户重新购水读卡存入后,再开通电阀供水。
在正常情况下,阀门处于开通状态,当遇到剩余水量为-1或者电池电压小于3V等其他特殊情况时阀门会由开通变为关闭状态。
MSP430F413简介TI公司MSP430 F413系列单片机是一种超低功耗的混合信号控制器,其中包括一系列器件,它们针对不同的应用而由各种不同模块组成。
它们具有16位RISC结构,CPU的16个寄存器和常数发生器使MSP430微控制器能达到最高的代码效率。
摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
而51单片机是各单片机中最为典型和最有代表性的一种。
随着我国城镇建设的快速发展,有关城市的水、电、气、暖表的管理和抄表出现的问题也日益突出,根据自来水网的改造、智能小区的建设以及实施“一户一表”工程的需要,本文设计了一种基于AT89C5单片机的智能网络水表,智能网络IC卡水表通过集中器和上位机管理系统连接,将水表的数据传输给远方的上位机,同时上位机管理系统通过集中器对智能网络水表进行监测和管理。
本文采用AT89C51单片机作为主控芯片,开发一种基于IC卡技术的智能水表。
该智能水表可实现总水量累计、月水量统计、水费计算与管理(报警金额、基础水量、计划水量),以及水阀控制等功能。
同时具有预存水费、欠费提示、欠费停水等功能。
关键词:智能水表 AT89C51 IC卡技术AbstractBecause of its extremely high performance-price ratio, the single-chip computer (SCC) has been paid great attention to ever since it came out in 1970s of 20th Century, and has gained an extensive applicable field and fast development. Among all kinds of SCCs, 51 SCC is the most typical and representative one. More and more probelems are arising on the management and record-reading of water meter,electricity meter,and natural gas mater systems as the community development is growing fast.Aiming to slove these problems,the thesis designed a remote central meter reading system and intelligent water system, development of intelligent resident community and the high demand of one meter per family project.This intelligent water mater will collect the data and transfer it to the remote upper-level managing system via concentrator and upper-level management system,while the upper-level management system is responsible for monitoring and managing intelligent water meter network.In this paper, AT89C51 SCM as a master chip, the development of IC card technology based on the intelligent meter. The intelligent meter can realize the accumulated water, water, statistics, computing and management of water (the amount of alarm, basic water, the water plan), and valve control functions. At the same time with stored water and delinquent tips, delinquent water, and other functions.KEY WORDS: Intelligent water meter AT89C51 IC card technology摘要 (I)第一章绪论 (1)1 .1 研究背景 (1)1.2选题意义和经济效益 (2)1.2.1远程集中抄表系统及智能网络水表的推广应用前景 (2)1.2.2社会效益 (2)1.2.3设计的技术指标 (3)1.2.4 采用的控制芯片 (3)1.2.5采用的抄表方式 (3)1.3智能水表市场 (5)1.4智能卡表的安全性内容 (6)1.4.1智能卡表及系统数据存储的安全性分析 (7)1.4.2智能卡表及系统数据交换的安全性分析 (9)1 .5论文的主要内容 (11)第二章整体设计与PROTELL简介 (12)2.1远程集中抄表系统的总体概述 (12)2.2远程集中抄表系统整体结构 (12)2.2.1上位机管理系统 (13)2.2.2集中器 (13)2.2.3智能网络水表 (13)2.3设计方案论证 (14)2.3.1传输抄表方式 (14)2.4 protel电气原理图设计软件 (15)2.4.1 protel电路板设计软件 (16)2.4.2 原理图的绘制 (16)2.4.3 PCB图的绘制 (17)第三章智能水表的硬件设计 (20)3.1系统硬件组主框图 (20)3.2AT89C51单片机性能介绍 (20)3.2.1 AT89C51单片机的特性 (20)3.2.2 AT89C51单片机的引脚说明 (21)3.2.3 AT89C51单片机的振荡器特性 (22)3.2.4.芯片擦除: (23)3.3系统其他硬件的选择和电路设计 (23)3.3.1 A/D转换电路 (23)3.3.2 D/A转换电路 (25)3.3.3数据采集传感器的选型 (26)3.3.4 LCD显示 (28)3.3.5控制阀门的选型 (30)3.3.6电源电路 (31)3.3.7 IC卡接口电路 (32)3.3.8键盘设计 (33)3.3.9报警电路 (33)3.3.10防拆电路 (34)3.3.11复位电路 (34)3.3.12时钟电路 (35)第四章智能水表的软件设计 (37)4.1软件设计思想和组成 (37)4.2主程序设计 (37)4.3中断服务程序设计 (38)4.4子程序设计 (39)4.4.1 LCD显示模块 (39)4.4.2数据采集模块 (40)4.4.3 电机控制模块 (40)4.4.4低电压检测模块 (40)4.4.5 IC卡处理模块 (41)4.5总程序设计 (44)第五章可靠性和抗干扰性设计 (45)5.1 对IC卡水表攻击种类 (45)5.2 对水表的物理性攻击的防范办法 (46)5.3 IC卡水表中干扰的种类 (47)第六章结论 (50)参考文献 (52)致谢 (53)附录 (54)一、英文资料翻译 (54)二、相关程序 (64)1、键盘程序 (64)2、LCD1602的显示程序 (66)3、欠压报警程序 (68)4、蜂鸣器程序 (69)5、时钟程序 (70)三、电路原理图 (73)第一章绪论随着我国城镇建设的快速发展,有关城市的水、电、气、暖表的管理和抄表出现的问题也日益突出,根据自来水网的改造、智能小区的建设以及实施“一户一表”工程的需要,本文设计了一种基于AT89C51单片机的智能网络水表,智能网络IC卡水表通过集中器和上位机管理系统连接,将水表的数据传输给远方的上位机,同时上位机管理系统通过集中器对智能网络水表进行监测和管理。
基于单片机的IC卡智能水表源代码作者:清华大学杨家沛;**************************************************************************;本系统所用CPU:PIC16F84;;采用外接RC经济阻容振荡方式:R=100K C=100P;时钟频率约72KHz;机器周期约56us;************************************************************************** INCLUDE “PIC 84.H”;PIC84头文件;**************************************************************************;液晶显示命令字定义;************************************************************************** SYSDIS EQU B'00000000' ;关闭液晶系统振荡和偏振命令字SYSEN EQU B'00000001' ;打开液晶系统振荡LCD ON EQU B'00000011' ;打开液晶偏振发生器BIAS 1 EQU B'00100000' ;液晶显示方式命令字;**************************************************************************;PIC I/O口线输入输出方式定义字;**************************************************************************O RB EQU B'01000110' ;RB口输出状态定义字;输出状态:RB0,RB3,RB4,RB5,RB7均为输出,RB1,RB2,RB6为输入;I RB EQU B'01100110' ;RB口输入状态定义字;输入状态:RB0,RB3,RB4,RB7为输出,RB1,RB2,RB5,RB6为输入;0 RA EQU B'11110000' ;RA口定义字;RA4为输入,低4位均为输出;**************************************************************************;各口线作用定义;**************************************************************************SWCH1 EQU RA2 ;开阀控制,低电平有效SWCH2 EQU RB0 ;关阀控制,低电平有效S VOLT EQU RB7 ;IC卡电源地控制(即控制IC卡座电源),低电平有效SDA EQU RA4 ;IC卡串行数据线(双向)SCL EQU RB4 ;IC卡时钟线S T EQU RB6 ;IC卡插卡检测线.=1 表明IC卡已插入SPK EQU RB3 ;蜂鸣器控制,高电平蜂鸣V_MONI EQU RB2 ;电池电压检测线.=1,说明电池电压正常,否则说明过低WR EQU RA1 ;液晶显示时钟输出,正跳变有效DATA EQU RA0 ;液晶串行数据输出,=1,为0;=0,为1CS EQU RA3 ;液晶片选控制,高电平有效(同时控制水脉冲,和IC卡)W IN EQU RB1 ;0.1m3脉冲输入线(负跳变有效)F KEY EQU RB5 ;作为防拆表输入线;**************************************************************************;IC84通用寄存器定义(共有68个):地址为0CH—4FH;**************************************************************************XDATA EQU 0CH ;通用数据暂存单元CON1 EQU 0DH ;循环条件暂存单元CON2 EQU 0EH ;循环条件暂存单元CON3 EQU 0FH ;循环条件暂存单元CON4 EQU 10H ;循环条件暂存单元FLAG EQU 11H ;通用标志字节(各位意义见后)DFLG EQU 12H ;液晶显示标志字节(各位意义见后)DA1 DSP EQU 13H ;液晶显示高2位(BCD码)DA2 DSP EQU 14H ;液晶显示低2位(BCD码)L CON EQU 15H ;循环控制,如果=10 则读卡SW DL EQU 16H ;关阀延时数T CON EQU 17H ;FUNCTION KEY TEST COUNT(NO USE)ST FLG EQU 18H ;W CRC EQU 18HS0 EQU 2FH ;十六进制->十进制(BCD)中十六进制数暂存S1 EQU 2EH ;R0 EQU 13H ;转换后的BCD(4位)暂存R1 EQU 14HXDATA1 EQU 1AHXDATA2 EQU 1BHCON5 EQU 19HXDAT EQU 1CHF ST1 EQU 35H ;机器开始标志单元(正确的开始标志值为55HF ST2 EQU 36H ;以及0AAH)RANDHI EQU 4AH ;加密用随机数高字节RANDL0 EQU 4BH ;加密用随机数低字节;**************************************************************************;下列文件寄存器用来比较用户码及M1码;**************************************************************************F VAL EQU 37H ;电磁阀开关标志WQT H EQU 27H ;以下3单元为用水总量存储单元,此为高字节WQT M EQU 38H ;中字节WQT L EQU 39H ;低字节C RD EQU 3AH ;读卡条件W HI EQU 3BH ;以下2单元是剩水总量存储单元,此为高字节W LOW EQU 3CH ;低字节EFLG EQU 3DH ;写片内EEPROM剩水单元选择标志. 0选EEQ1,;否则选EEQ2;**************************************************************************;读IC卡标志;**************************************************************************READ F EQU 3EH ;如不等于0,则说明IC卡未被读过;**************************************************************************;下列各信息读自IC卡;**************************************************************************USER1 EQU 3FH ;用户码3字节,高USER2 EQU 40H ;中USER3 EQU 41H ;低M1 H EQU 42H ;M1码3字节高M1 M EQU 43H ;中M1 L EQU 44H ;低C RD0 EQU 45H ;原读卡条件YEAR EQU 46H ;年MON EQU 47H ;月DAY EQU 48H ;日HOUR EQU 49H ;时M2 H EQU 4AH ;M2码3字节M2 M EQU 4BH ;M2 L EQU 4CH ;WQ H EQU 4DH ;购水总量,高字节WQ L EQU 4EH ;低字节R CRC EQU 4FH ;校验码;**************************************************************************;液晶显示标志字节(12H),各位定义如下;**************************************************************************F WQF EQU 0H ;传感脉冲处理否标志位. =1,说明已被处理;否则,未处理READED EQU 1H ;读卡标志位. =1,说明IC卡已读F T C EQU 2H ;是工厂测试用IC卡否标志位.=1,说明是测试用IC卡F S T EQU 3H ;暂时未用AN KEY EQU 4H ;暂时未用F OFF EQU 5H ;暂时未用C LOW 2 EQU 6H ;暂时未用S OPEN EQU 7H ;显示开阀标志位.=1,说明开阀;=0,则显示关阀;**************************************************************************;标志字节(11H),各位定义如下;**************************************************************************F T EQU 0H ;小数点闪烁标志位.=1,则点亮小数点;=0则不显示CARD ON EQU 1H ;插卡标志位.=1,说明有IC卡F WQ EQU 2H ;干簧传感开关闭合标志位(即用水).=1,说明闭合F VL EQU 3H ;电池电压过低标志位.=1,说明过低SW OPEN EQU 4H ;阀门已开否标志.=1说明阀已开;关C LOW EQU 5H ;剩水总量过低标志位.=1,说明过低C NUL EQU 6H ;已无剩水标志位。
目 录摘 要 (1)Abstract (2)第 1 章 绪论 (3)1.1课题背景及意义 (3)1.2 传统水表 (4)1.2.1 传统水表的主要结构 (4)1.2.2 传统水表的主要特点 (4)1.3 智能水表 (4)1.3.1 智能水表的特点 (5)1.3.2 国内外智能水表的发展现状及发展趋势 (6)第 2 章 智能水表的组成和单片机的选择 (7)2.1智能水表系统硬件组成 (7)2.2 AT89C51单片机简介 (8)2.2.1 89C51 单片机的基本组成 (8)2.2.2 89C51单片机引脚及其功能 (9)第 3 章 系统各模块硬件电路设计 (10)3.1 IC卡读写电路 (10)3.1.1 Mifare 1 射频IC 卡 (10)3.1.2 H6152读写模块 (13)3.1.3 IC 卡读写电路的原理及说明 (13)3.2 液晶显示电路 (16)3.2.1 液晶显示模块 (16)3.2.2 电源模块 (18)3.2.3 单片机模块 (20)3.3 记忆单元电路 (20)3.3.1 I 2 C 总线简介 (20)3.3.2 AT24C01 简介 (22)3.3.3 硬件原理图 (22)3.4 电磁阀控制电路 (23)3.5 其它模块电路 (24)第 4 章 系统各模块软件设计 (25)4.1 IC卡读写软件设计 (25)4.1.1 H6152内部寄存器 (25)4.1.2 H6152通信协议与控制命令 (27)4.1.3 IC 卡读写电路程序流程图及部分程序 (31)4.2 液晶显示电路软件设计 (32)4.2.1 液晶控制驱动器指令集 (32)4.2.2 程序流程图及部分程序 (34)4.3 记忆单元电路软件设计 (36)第 5 章 结论 (37)参考文献 (38)谢 辞 (39)附录:电路图 (40)基于单片机的 IC卡智能水表设计摘 要为适应国家用水制度的改革,研究和利用现代化智能技术对自来水实行自动控制, 减轻供水管理部门因“先供水后收费”造成的资金压力,减少每月抄表、收费所带来的 麻烦和因收费问题带来的纠纷,用现代科学技术手段改变自来水管理体制的落后现状, 势在必行。
基于51单片机的ic卡智能水表课程设计一、引言随着科技的不断进步和社会的发展,智能水表作为现代化的水表管理方式,正在逐渐取代传统的机械式水表。
本文基于51单片机设计一个IC卡智能水表,实现水表的自动计量、远程抄表和用户信息管理等功能。
该设计将提高水资源利用的效率,方便管理人员的工作,并且实现了智能水表的节水、环保功能。
二、系统设计1. 硬件设计IC卡智能水表的硬件主要包括51单片机、开关电源、电源管理电路、水流量传感器、LCD显示屏、蜂鸣器、键盘和IC卡读写器等模块。
其中,51单片机作为主控制模块,负责接收各个模块的数据并进行处理。
水流量传感器用于检测水流量大小,LCD显示屏用于显示用水量和用户相关信息,蜂鸣器用于发出报警信号,键盘用于输入用户的操作指令,IC卡读写器用于读取和写入用户的信息。
2. 软件设计IC卡智能水表的软件主要包括嵌入式系统程序和用户信息管理程序。
嵌入式系统程序负责实时监测水流量,计算用水量并显示在LCD屏上;用户信息管理程序负责管理用户信息,包括用户的身份验证、用水量统计、账单生成和IC卡信息存储等功能。
软件设计需要采用C语言编程,并通过51单片机的开发环境进行编译和烧录。
三、系统功能1. 自动计量IC卡智能水表能够自动监测和计量水流量,并根据水流量大小计算出对应的用水量。
通过水流量传感器的实时检测,系统可以准确地计算出用户的用水量,并在LCD屏上显示。
2. 远程抄表IC卡智能水表支持远程抄表功能,可以通过无线通信方式将抄表数据传输给管理中心。
管理中心可以方便地获取用户的用水量信息,实现了抄表工作的自动化和高效性。
3. 用户信息管理IC卡智能水表具备用户信息管理功能,用户可以通过键盘进行身份验证并查询自己的用水量和账单信息。
管理人员可以利用IC卡读写器对用户的IC卡信息进行读取和写入,便于管理和维护用户的数据。
4. 节水和环保通过智能水表的使用,用户可以实时了解自己的用水情况,从而引起节水的意识。
基于单片机的IC卡智能水表源代码作者:清华大学杨家沛;**************************************************************************;本系统所用CPU:PIC16F84;;采用外接RC经济阻容振荡方式:R=100K C=100P;时钟频率约72KHz;机器周期约56us;************************************************************************** INCLUDE “PIC 84.H”;PIC84头文件;**************************************************************************;液晶显示命令字定义;************************************************************************** SYSDIS EQU B'00000000' ;关闭液晶系统振荡和偏振命令字SYSEN EQU B'00000001' ;打开液晶系统振荡LCD ON EQU B'00000011' ;打开液晶偏振发生器BIAS 1 EQU B'00100000' ;液晶显示方式命令字;**************************************************************************;PIC I/O口线输入输出方式定义字;**************************************************************************O RB EQU B'01000110' ;RB口输出状态定义字;输出状态:RB0,RB3,RB4,RB5,RB7均为输出,RB1,RB2,RB6为输入;I RB EQU B'01100110' ;RB口输入状态定义字;输入状态:RB0,RB3,RB4,RB7为输出,RB1,RB2,RB5,RB6为输入;0 RA EQU B'11110000' ;RA口定义字;RA4为输入,低4位均为输出;**************************************************************************;各口线作用定义;**************************************************************************SWCH1 EQU RA2 ;开阀控制,低电平有效SWCH2 EQU RB0 ;关阀控制,低电平有效S VOLT EQU RB7 ;IC卡电源地控制(即控制IC卡座电源),低电平有效SDA EQU RA4 ;IC卡串行数据线(双向)SCL EQU RB4 ;IC卡时钟线S T EQU RB6 ;IC卡插卡检测线.=1 表明IC卡已插入SPK EQU RB3 ;蜂鸣器控制,高电平蜂鸣V_MONI EQU RB2 ;电池电压检测线.=1,说明电池电压正常,否则说明过低WR EQU RA1 ;液晶显示时钟输出,正跳变有效DATA EQU RA0 ;液晶串行数据输出,=1,为0;=0,为1CS EQU RA3 ;液晶片选控制,高电平有效(同时控制水脉冲,和IC卡)W IN EQU RB1 ;0.1m3脉冲输入线(负跳变有效)F KEY EQU RB5 ;作为防拆表输入线;**************************************************************************;IC84通用寄存器定义(共有68个):地址为0CH—4FH;**************************************************************************XDATA EQU 0CH ;通用数据暂存单元CON1 EQU 0DH ;循环条件暂存单元CON2 EQU 0EH ;循环条件暂存单元CON3 EQU 0FH ;循环条件暂存单元CON4 EQU 10H ;循环条件暂存单元FLAG EQU 11H ;通用标志字节(各位意义见后)DFLG EQU 12H ;液晶显示标志字节(各位意义见后)DA1 DSP EQU 13H ;液晶显示高2位(BCD码)DA2 DSP EQU 14H ;液晶显示低2位(BCD码)L CON EQU 15H ;循环控制,如果=10 则读卡SW DL EQU 16H ;关阀延时数T CON EQU 17H ;FUNCTION KEY TEST COUNT(NO USE)ST FLG EQU 18H ;W CRC EQU 18HS0 EQU 2FH ;十六进制->十进制(BCD)中十六进制数暂存S1 EQU 2EH ;R0 EQU 13H ;转换后的BCD(4位)暂存R1 EQU 14HXDATA1 EQU 1AHXDATA2 EQU 1BHCON5 EQU 19HXDAT EQU 1CHF ST1 EQU 35H ;机器开始标志单元(正确的开始标志值为55HF ST2 EQU 36H ;以及0AAH)RANDHI EQU 4AH ;加密用随机数高字节RANDL0 EQU 4BH ;加密用随机数低字节;**************************************************************************;下列文件寄存器用来比较用户码及M1码;**************************************************************************F VAL EQU 37H ;电磁阀开关标志WQT H EQU 27H ;以下3单元为用水总量存储单元,此为高字节WQT M EQU 38H ;中字节WQT L EQU 39H ;低字节C RD EQU 3AH ;读卡条件W HI EQU 3BH ;以下2单元是剩水总量存储单元,此为高字节W LOW EQU 3CH ;低字节EFLG EQU 3DH ;写片内EEPROM剩水单元选择标志. 0选EEQ1,;否则选EEQ2;**************************************************************************;读IC卡标志;**************************************************************************READ F EQU 3EH ;如不等于0,则说明IC卡未被读过;**************************************************************************;下列各信息读自IC卡;**************************************************************************USER1 EQU 3FH ;用户码3字节,高USER2 EQU 40H ;中USER3 EQU 41H ;低M1 H EQU 42H ;M1码3字节高M1 M EQU 43H ;中M1 L EQU 44H ;低C RD0 EQU 45H ;原读卡条件YEAR EQU 46H ;年MON EQU 47H ;月DAY EQU 48H ;日HOUR EQU 49H ;时M2 H EQU 4AH ;M2码3字节M2 M EQU 4BH ;M2 L EQU 4CH ;WQ H EQU 4DH ;购水总量,高字节WQ L EQU 4EH ;低字节R CRC EQU 4FH ;校验码;**************************************************************************;液晶显示标志字节(12H),各位定义如下;**************************************************************************F WQF EQU 0H ;传感脉冲处理否标志位. =1,说明已被处理;否则,未处理READED EQU 1H ;读卡标志位. =1,说明IC卡已读F T C EQU 2H ;是工厂测试用IC卡否标志位.=1,说明是测试用IC卡F S T EQU 3H ;暂时未用AN KEY EQU 4H ;暂时未用F OFF EQU 5H ;暂时未用C LOW 2 EQU 6H ;暂时未用S OPEN EQU 7H ;显示开阀标志位.=1,说明开阀;=0,则显示关阀;**************************************************************************;标志字节(11H),各位定义如下;**************************************************************************F T EQU 0H ;小数点闪烁标志位.=1,则点亮小数点;=0则不显示CARD ON EQU 1H ;插卡标志位.=1,说明有IC卡F WQ EQU 2H ;干簧传感开关闭合标志位(即用水).=1,说明闭合F VL EQU 3H ;电池电压过低标志位.=1,说明过低SW OPEN EQU 4H ;阀门已开否标志.=1说明阀已开;关C LOW EQU 5H ;剩水总量过低标志位.=1,说明过低C NUL EQU 6H ;已无剩水标志位。
=1,说明已无剩水C LOW 1 EQU 7H ;剩水已到关阀警告点标志.=1,说明要告警;即:先关阀10秒后开阀;**************************************************************************;PIC84片内EEPROM分配(64字节,地址为00H—3FH);**************************************************************************EEPR EQU 1H ;选择片内剩水总量存储单元.=00,选EE1Q;否则,选EE2Q EE1Q L EQU 2H ;第一剩水总量存储单元,此为低字节EE1Q H EQU 3H ;高字节EE W H EQU 4H ;用水(购水)总量存储单元. 高字节EE W M EQU 5H ;中字节EE W L EQU 6H ;低字节EE VAL EQU 7H ;SAVE VALVE NO CLOSE FLAG(ERROR VALUE 0CCH)EE TEST EQU 8H ;使用工厂测试卡标志.=01,说明可使用测试卡C 0DE EQU 9H ;用户码(三字节)EM1 EQU 0CH ;M1码(三字节)EEC RD EQU 0FH ;原读卡条件标志单元EE2Q L EQU 10H ;第二剩水总量存储单元(两字节)EE2Q H EQU 11H;**************************************************************************;所用IC卡单元定义;**************************************************************************E2400 EQU 00H ;VALVE ERROR FLAGE2401 EQU 01H ;用水总量存储单元,这里只有中单元,低单元E2403 EQU 03H ;CONT READ CARDE2404 EQU 04H ;L,H WQ DATA FOR USE,EFLGE2407 EQU 07H ;此IC卡已读标志.=00,说明此卡上数据已读走,否则未读E2408 EQU 08H ;用户码存储单元(三字节)E240B EQU 0BH ;M1码存储单元(三字节)E240E EQU 0EH ;原读卡条件存储单元E240F EQU 0FH ;年,月,日,时(各一字节)E2413 EQU 13H ;M2码存储单元(三字节)E2416 EQU 16H ;剩水(购水)总量存储单元,高字节在先,低字节在后E2418 EQU 18H ;CRC校验字节存储单元LIST F=INHX8M,P=16F84,R=HEX0RG 0B START ;复位后从START处开始执行程序;**************************************************************************;以下程序:用于处理0.1m3传感脉冲。