基于51单片机智能水表

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C LCSADS C V 8765 C W C S LCSADS V D N210 GAAA 4 20C42TAU 4321
Z 器 Z U 鸣 2 B+ 蜂Q 0 5 4 5 K 8 1R S 3 Q C C V
三、硬件设计
蜂鸣器模块设计
原理图如左边所示。蜂鸣器 选用5V电磁式有源蜂鸣器,由于 蜂鸣器的工作电流一般比较大, 以至于单片机的I/O口是无法直接 驱动的,所以要利用三极管开关 电路来驱动。本处选用的是8550 三极管,它是一个PNP型的三极 管。基极串联一个1K的电阻连接 到 单 片 机 的 I/O 口 时 。 当 I/O 口 输 出低电平时,三极管导通,蜂鸣 器鸣叫;当I/O口输出高电平时, 三极管截止,蜂鸣器停止鸣叫。
C C V C C V 12345678901234567890 22222222233333333334 EC LC P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0 AV PSEN EA/VPP 21 LL AAD TTN P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XXG 3 USTC89C51 01234567890 123456789 11111111112 3 C F C P C 0 V 3 1 1 键 Y12MHZ F C P 按 0 3 位 2 复 C10UF 12 DD K 口 1 0 XX R1 载 TR 2 U下
复位电路 晶振电路 电源电路 独立按键
STC89C52 主控芯片
蜂鸣器/LED提示 电路
AT24C02存储芯 片
LCD1602显示电 路
霍尔型水流传感 器YF-S401
三、硬件设计
单片机最小系统说的 通熟易懂的话就是以最少 的元器件组成能让单片机 正常工作的系统。主要包 括单片机、时钟电路、复 位电路、5V电源组成。 ①.时钟电路提供的时钟 信号给单片机提供一个时 间基准; ②.复位电路是为了使单 片机回到原始状态重新执 行程序; ③.5V电源 为了给单片 机 供电以正常的工作。
定时中断 重新赋初值 TH1=TH;TL1=TL;
判断1S是否定 时完成 是
计算脉冲数量
重置定时变量
校准频率

中断次数+1 T1_num++;
计算水流量和流速
返回
五、总结
通过这次设计,我学到了不少课本、课堂上没涉及到的 知识。学会了将以前学过的零散的知识联系在一起解决问题, 也锻炼了自己的动手能力。经过长时间的硬件设计、软件调 试,本系统基本完成要求的功能。不足之处有:1.硬件的稳 定性有待进一步提高。2.系统界面人性化还不足。
谢谢!
原理图如下所示,将数据口
D0-D7连接到51单片机的P0上方 便进行数据的传输;而VL口接一 个可调电位器,当调节电位器位 置改变时接入VL的电压也随之变 化进行显示的清晰度也随之变化,
所以在实际时采用电位器而不采
用固定阻值的电阻就是为了能够
方便的调节以使用在电压不同的 场 合 ; E 是 片 选 信 号 , R/W 是 读 写信号,RS是寄存器选择信号分 别用一个IO口进行控制。
二、系统总体构造
➢ 设计采用STC89C51作为本设计的主控芯片,通过LCD1602 进行实时显示信息,采用霍尔型水流传感器YF-S401进行采 集用水量和水流速度,设计可以通过按键进行设置单次用 水量,并且存储在AT24C02中,当单次用水量超过设定值 时系统发送声光报警提示。同时系统能够记录中的用水量 并且具有掉电存储。
y=1? 是
Add=0xHale Waihona Puke Baidu0+x;
否 Add=0xc0+x;
写入地址
*s!=‘\0’? 是
写入*s数据 否
地址s++
返回
四、软件设计
定时器1中断子程序设计
当定时器溢出时会产生一个中断 信号,进入中断后,需要重新对 定时器赋初值,然后通过判断是 否1s定时完成,如果定时完成则 进行计算频率。由于每次产生中 断都会出现一些误差所以还需要 对计算的脉冲进一步的校准,以 得到精度更高的结果,然后进行 计算流量,水流速度。
基于51单片机智能水表
目录
1 设计目的和意义 2 系统总体构造 3 硬件设计 4 软件设计 5 总结
一、设计目的和意义
水资源短缺现象日益严重,加强用水科学管理是当前首要任务。 长期以来,我国城镇居民都是先用水后交费,采用人工抄表、 按户收费的方式。传统水表主要结构由硬件构成,以相对固 定形式确定下来,所实现的功能较单一。因此研制一种低功 耗、计量精确方便的智能水表显得极为重要。20世纪90年代 初期,中国各地对水表计量精度等级达到A级就满足了,而 美国普遍要求相当于国际标准的C级。近年来世界性共同倾 向对水表的质量要求提高,向工业发达国家靠近,如乌拉圭 国家要求速度式C级计量精度等级,澳大利亚要求D级。中国 市场上,速度式水表从B级到C级,容积式从C级到D级,纯净 水用户指定要求D级水表。我国的传统水表必须进行改进才 能适应社会和经济的发展。测量精度高、功能强、可靠性好、 智能化、小型化、使用灵活方便成为了研究本设计的重要的 方向。
三、硬件设计
数据存储模块设计
原理图如下所示,AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质 上减少了器件的功耗。AT24C02有一个8字节页写缓冲器。该 器件通过IIC总线接口进行操作,有一个专门的写保护功能。
本设计中用到一个AT24C02芯片所以直接将A0、A1、A2 三个引脚都连接到GND,而WP写保护引脚通用接到GND上, 这样方便读/写操作。而SDA和SCL分别接到单片机的两个引 脚上。
这样通过检测I/O口是否有出 现低电平然后消抖就可以判断是 否有按键按下,在对应执行相应 的功能。
四、软件设计
主程序设计
主函数void main()是程序的 入口函数,单片机上电后先进行 初始化,重置变量数值,然后对 外围器件进行初始化,完后进入 死循环不断的检测处理。如果没 有进入死循环的话,那么程序就 只执行一遍就退出了,而达不到 实时检测的效果。
三、硬件设计
独立按键模块设计
432 YYY EEE KKK 键键键 值值置 减加设
电路图如右边所示,按键一 端连接单片机的I/O口,另一端连 接电源地。而单片机的I/O在悬空 没有作为输出的情况下是默认高 电平,当按键按下后相当于I/O口 短接电源地,这种按键是金属接 触的方式所以会有抖动纹波的情 况,所以在程序中需要适当的加 上短暂的延时消抖。
单片机最小系统设计
三、硬件设计
液晶显示模块设计
KAD LL76543210SLD VBDDDDDDDDEW/RRVVSSV 1 2061DCLQ 6543210 987654321 1111111 76543210S DDDDDDDDEW/RR C C C V C V K 2 0 C 1R C V 21
我的综合设计主要涉及硬件和软件两方面的内容,通过 这些我的硬件和软件开发能力都获得了提高。首先硬件方面, 基本掌握了原理图绘制软件的使用方法,并设计了一个单片 机最小系统。通过硬件电路搭建的过程,使我对51系单片机 的接口有了更深层次的理解,熟悉了一些单片机常用的外围 电路引脚和连接方法,如LCD液晶,键盘等。并且提高对问 题的分析和解决能力,加深了对所学理论知识的理解和运用。
开始
LCD1602初始化
定时器/计数器初始 化
读取存储在 AT24C02的数据
按键检测与处理
判断是否正常 显示set_f==0?
是 显示用水量信息
否 显示设置流量限值
四、软件设计
LCD1602显示子程序设计
开始
首先需要将显示位置的地址
通过命令写入,然后将数据按顺
序的进行写入即可。在写入地址
后显示第一个内容后地址会自动 加一。函数名lcd1602_write_char acter(uchar x,uchar y,uchar *p), 参数为x,y,*s,其中的x,y表 示在液晶显示屏上的位置坐标, *s是需要显示的字符数组。程序 会根据位置坐标计算出显示位置 的首地址。
相关文档
最新文档