天津大学网络教育学院本科毕业设计(论文)题目:IC卡智能水表设计完成期限:2017年1月5日至 2017年5月15日学习中心:奥鹏专业名称:电气工程及其自动化学生姓名:学生学号:指导教师:李克骄摘要本文主要以智能IC卡水表系统为研究对象,研究了基于单片机的智能水表的设计。
首先提出射频IC智能水表系统的设计方案;其次对系统硬件电路结构进行了设计;再次介绍了系统软件设计原则以及控制流程。
该智能水表以低功耗、低电压、高性能的8 位单片机AT89C51为核心,以防干扰性能极高的双干簧管为流量传感器,另外本设计还有可显示状态字的LED 显示屏以及报警模块,剩余水量到报警值或为零时,门阀驱动电路运作,自动关阀中断供水。
采用射频读写芯片,当IC 卡贴近感应区时,通过读卡芯片读入所购水量并和水表内剩余水量累加,并写入射频卡水表内存储器。
本设计可以改善传统水表功能单一的缺点,测量精度更高,功能更强,可靠性更好。
关键词:智能水表;射频IC卡; AT89C51;目录第一章绪论错误!未定义书签。
第二章系统分析及设计方案错误!未定义书签。
系统设计技术指标..................... 错误!未定义书签。
系统主要硬件......................... 错误!未定义书签。
第三章硬件设计................. 错误!未定义书签。
单片机的介绍......................... 错误!未定义书签。
中断系统............................. 错误!未定义书签。
流量传感器........................... 错误!未定义书签。
阀门驱动电路......................... 错误!未定义书签。
读写模块............................. 错误!未定义书签。
通信模块............................. 错误!未定义书签。
电路显示............................. 错误!未定义书签。
报警电路............................. 错误!未定义书签。
电源电路............................. 错误!未定义书签。
第四章软件设计................. 错误!未定义书签。
设计思路............................. 错误!未定义书签。
主流程图............................. 错误!未定义书签。
protues仿真......................... 错误!未定义书签。
参考文献......................... 错误!未定义书签。
附录........................... 错误!未定义书签。
致谢........................... 错误!未定义书签。
第一章绪论水资源短缺现象日益严重,加强用水科学管理是当前首要任务。
长期以来,我国城镇居民都是先用水后交费,采用人工抄表、按户收费的方式。
传统水表主要结构由硬件构成,以相对固定形式确定下来,所实现的功能较单一。
因此研制一种低功耗、计量精确方便的智能水表显得极为重要。
随着科学技术的发展,智能IC卡水表渐渐走入了人们的生活。
1997年第一个代码预付水表产生了;1998年射频卡水表研究成功;1999年新一代的接触式IC卡水表(采用逻辑加密卡)及CPU卡水表研制成功:2000年TM卡水表产生了;2001年具有防水功能的接触式IC 卡水表研制生产。
20世纪90年代初期,中国各地对水表计量精度等级达到A级就满足了,而美国普遍要求相当于国际标准的C级。
近年来世界性共同倾向对水表的质量要求提高,向工业发达国家靠近,如乌拉圭国家要求速度式C级计量精度等级,澳大利亚要求D级。
中国市场上,速度式水表从B级到C级,容积式从C级到D级,纯净水用户指定要求D级水表。
我国的传统水表必须进行改进才能适应社会和经济的发展。
测量精度高、功能强、可靠性好,智能化,小型化、使用灵活方便成为研究本课题的重要方向。
[1] [2] [3]本文以智能IC卡水表系统为研究对象,首先提出射频IC智能水表系统的设计方案;其次对系统硬件电路结构进行了设计;再次介绍了系统软件设计原则以及控制流程。
该智能水表以美国ATMEL 公司生产的一种低功耗、低电压、高性能的8 位单片机AT89C51为核心,以双干簧管为流量传感器,另外本设计还有可显示状态字的LED 显示屏以及报警模块,剩余水量到报警值或为零时,门阀驱动电路运作,自动关阀中断供水。
采用射频读写芯片,当IC 卡贴近感应区时,通过读卡芯片读入所购水量并和水表内剩余水量累加,并写入射频卡水表内存储器。
第二章 系统分析及设计方案本文以智能IC卡水表系统为研究对象,研究了基于单片机的智能水表的设计。
了解智能IC 水表系统的工艺过程,对被控对象进行整体分析,设计整体系统方案;根据智能IC 水表系统的特点,完成系统的硬件设计;在硬件设计基础上,完成系统软件部分的设计,包括主程序、初值设定子程序、LED 显示子程序等。
系统设计技术指标(1)实现智能水表精确测量,达到 1 级精度要求的方法。
此处涉及到水量计量芯片的选择、CPU 的选择、软件算法的构架、PCB 布局等影响测量精度因素的研究。
(2) (2)实现水表智能化管理的具体方法。
涉及到的研究内容有:数据存储的方法、系统通过 RS485 与上位机通信实现方法、系统通过红外与其他设备通讯的实现方法。
(3) (3)实现系统供电电源的方法。
此处涉及到交流电源转直流稳压电源的研究。
系统主要硬件单片机的最小系统、流量传感器、显示电路、电源模块、报警电路、门阀驱动电路、读写模块等,系统的结构如图2-1所示。
第三章硬件设计单片机的最小系统、流量传感器、显示电路、电源模块、报警电路、门阀驱动电路、读写模块等。
单片机的介绍AT89C51是一种带4K字节FLASH存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机而在众多的51系列单片机中,要算ATMEL 公司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。
而这种单片机对开发设备的要求很低,开发时间也大大缩短。
AT89C51提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89C51是一种CMOS八位微处理器,而且在其片种能重复写入/擦除1000次,数据保存时间为十年。
它与MCS-51系列单片机在指令系统和引脚上完全兼容,可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。
AT89C51可构成单片机最小应用系统,缩小系统体积, 增加系统的可靠性,降低了系统成本。
只要程序长度小于4k, 四个I/O口全部提供给用户。
可用5V电压编程,而且写入时间仅10毫秒,仅为8751/87C5的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。
AT89C51芯片提供三级程序存储器锁定加密,提供了方便而可靠的硬加密手段,能完全保证程序或系统不被仿制。
AT89C51有间歇、掉电两种工作模式。
间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU可根据工作情况适时地进入睡眠态, 内部RAM和所有特殊的寄存器值将保持不变。
这种状态可被任何一个中断所终止或通过硬件复位。
掉电模式是VCC电压低于电源下限, 振荡器停止振时, CPU 停止执行指令。
该芯片内RAM和特殊功能寄存器值保持不变,直到掉电模式被终止。
只有VCC电压恢复到正常工作范围且在振荡器稳定振荡后,通过硬件复位、掉电模式可终止。
AT89C51有40引脚双列直插(DIP)形式。
其与80C51引脚结构基本相同,其逻辑引脚图如图3-1。
其引脚功能叙述如下:电源和晶振VCC——运行和程序校验时加+5VGND——接地XTAL1——输入到振图3-1荡器的反向放大器XTAL2——反向放大器的输出,输入到内部时钟发生器。
(当使用外部振荡器时,XTAL1接地,XTAL2接收振荡器信号)RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
I/O(4个口,32根)P0口——8位、漏极开路的双向I/O口。
当使用片外存储器(ROM、RAM)时,作地址和数据分时复用。
在程序校验期间,输出指令字节(需加外部上拉电路)。
P0口——8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口——8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口——8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。