江河防汛物联预警系统

上传人:文*** 文档编号:48705402 上传时间:2022-01-13 格式:DOC 页数:27 大小:288.28KB
收藏 版权申诉 举报 下载
江河防汛物联预警系统_第1页
第1页 / 共27页
江河防汛物联预警系统_第2页
第2页 / 共27页
江河防汛物联预警系统_第3页
第3页 / 共27页
资源描述:

《江河防汛物联预警系统》由会员分享,可在线阅读,更多相关《江河防汛物联预警系统(27页珍藏版)》请在装配图网上搜索。

1、江河防汛物联预警系统-数据采集及储存设计学 院:专 业:姓 名:指导老师:学 号:职 称:中国珠海二年月北京理工大学珠海学院XXXX届本科生毕业设计诚信承诺书本人郑重承诺:本人签名: 日期:年 月日江河防汛物联预警系统-数据采集及储存设计摘 要目前,中国科技发展飞速,自动化系统渐渐的取代了人工化,自动化技术产品的市场已逐步进入社会,并且被广泛的使用。对防洪设备进行改变,才符合现代生活的节奏,但是对防汛的预警技术,还需要提升和加强。为了实时监测并预警江河附近,以及灾害发生时能够有效的应急处理,提出一种基于单片机和物联网的局部江河防汛系统。通过设置无线监控的检测节点,为系统提供实时水位数据,再经过

2、无线网络传输至中心服务器,并实时传输数据以及报警服务,为所需者提供服务。关键词:数据采集;数据查询;SSM框架;防汛River flood control and IOT early warning system- data collection and storage designAbstractSo far science and technology in China have developed rapidly, the automation system has gradually replaced the artificial, and the market of automati

3、on technology products has gradually entered the society, and is widely used. The change of flood control equipment is in line with the pace of modern life, but the early warning technology of flood control needs to be improved and strengthened. In order to monitor and warn the nearby rivers in real

4、 time and deal with the emergency effectively when the disaster happens, a local flood control system based on MCU and Internet of things is proposed. By setting up wireless monitoring detection nodes, real-time water level data is provided for the system, and then transmitted to the central server

5、through wireless network, and real-time data transmission and alarm services are provided for the users.Keywords: Data collection; Data query; Internet of things; Flood control目 录1 前言11.1 本设计的目的、意义及应达到的技术要求11.2 本设计在国内外的发展概况及存在的问题11.3 本设计应解决的主要问题12本设计22.1设计原理22.2方案选择22.2.1分析问题42.2.2设计过程43结论7参考文献9致谢10

6、附录111 前言 防洪信息化的关键任务是将网络技术运用到防洪建设中,设立防洪基本设备主要是能够充分挖掘和运用信息资源,从而能及时安排防汛的工作人员减少灾害带来的损害,通过科学技术促进防洪业务的现代化。目前在海量的信息的研究和开发工作,用户往往需要根据系统的应用程序的当前状态在特殊或紧急情况下应用系统,主动响应,执行相应的操作,并且可以推信息给用户。但现在应用仍有许多功能无法实现,人们必须考虑实现能够主动需求的应用管理系统信息技术。本设计主要是设计江河防汛预警系统的后端系统,通过后端系统建立数据库,使硬件部分采集到的水位数据,能够将数据实时准确的传输出去,后端系统的设置将是整套系统的大脑或者中枢

7、系统,后端系统连接着前端数据的显示以及硬件部分对数据达到采取。本套后端系统的建立运用的是Java语言,使用这种语言可以减少在开发过程中语言的复杂性,并且更容易进行测试。在后端的sql数据库中设置了读写分离,从而保障了数据的安全,并且也可以使数据的传输更加安全,不会出现重要的数据丢失的现象。1.1本设计的目的、意义及应达到的技术要求不断恶化的气候以及世界各地的气候变化,每日的降雨变幻莫测,降水不再是历史的规律,也不能用以往的信息来判断洪水的季节,而运用一个设备来实现自动控制管理,就成为一个非常急切的需求。因此我们必须对江河的水位进行环境监测,这种管理就可以为预防洪灾和防汛的问题,提供许多可信赖的

8、信息与数据,同时还可以为防洪救灾和保护中国人民群众生命财产,发挥一个重要影响作用。但国内的很多监测站都任然在使用人工测量的方式,该方法存在着很多安全隐患,而且也有不准确的测量和时效性差的问题。数据的采集是指将水位测量后的数据转换成对应的数字量,再运用计算机处理这整个过程。而“实时”是指对一件事情在最短的时间内做出相应的处理。为了能够达到及时性,必须保证计算机在接收数据时速度足够快。同时为了保证数据的完整性,后端程序在接收数据时必须在传输过程中全部执行完。以上的工作,如果运用人工,将会大大增加时间。当前数据采集正在逐步向电子自动化发展,数据的处理以及管理,都是运用电子计算机。我们毕设小组提出一种

9、基于自动管理机制的防汛控制系统,从前期的数据收集到后期的确定计划都能给予工作人员很大的帮助。该系统拥有自动数据采集、自动数据汇总以及自动报警的功能,而且这个系统适用于各个地方的实时监管与检测。此系统设计运用的是无线的网络通讯模式,可以进行实时传输检测数据,提高数据处理的能力,增强信息服务的能力。1.2本设计在国内外的发展概况及存在的问题数据采集的系统的目的是为了将从传感器输出并且接收到的模拟的信号,变换成我们计算机可以识别的数字信号,并且在完成这项工作后同时做出相对应的计算和处理。这个系统起源于20世纪中期,在这几十年里,随着中国信息技术的发展,数据采集的技术也得到了很大的提升。目前的数据采集

10、技术运用到了许多个方向,例如石油勘测,地震数据以及河流水位信息。美国的防汛预警系统主要是把河流分区进行数据采集,单独控制每个点的水位和预警信息。美国还运用雷达声纳等新型技术,快速而精确的预测预报洪水的相关信息。过去这些资料都是人工收集,现在大部分采用自动水文观测系统(AHOS),自动水文观测系统将资料传送到河流预报中心,在人们难以前往的地方则通过通信卫星传送。现场的布置是河流预报中心通过远程的终端进行操作,在计算机上迅速处理各河流区送来的资料,再将防汛预警信息发送给各个河流区,以便于能迅速传送到负责防汛的单位,在通过广播、电视、报纸告知公众。日本科技与经济发展较快,国土靠海平均降水量较多,有一

11、个良好的水资源管理模式。日本和美国的管理模式不同,但是,也能给予中国一些管理上的意见。随着国内的网络技术的发展,GPRS也已经成为重要的一项技术,已经运用到国内的工业、农业、军事等各行各业。国内最早的研究是将数据处理与预报计算连为一体,是从研制自动监测、洪水警报、预报管理系统设计开始的,把这一系统命名为“水文自动测报系统”。目前,这套系统从前期的采集、传输到最后的处理可以在2小时内完成,并通过形势分析,完成几大江河干支流的控制中心的洪水预报。有一个地下水资源数据库在沈阳,它的管理方法有很多优点,此管理系统主要是从相关水位数据、水位动态变化以及历史数据进行综合分析,为相关部门人员能够提供决策的帮

12、助和信息化服务。1.3本设计应解决的主要问题a洪水预警系统最主要的是及时性,本设计主要是想实现数据实时传输,以及在此过程中监控人员可以用手机看到水位信息的实时变化,在此过程中数据传输的实时与准确是十分重要的,这也是本设计需要注意和解决的问题之一。b建立水位数据库,实现水位数据联网、实现信息共享,便于工作人员在任何地方随时都可查看水位的信息。c通过建立完整的防汛系统,实现水位数据的自动采集以及自动传输,从而达到减少人工成本的效果。2本设计本项目进行设计一套防汛物联检测技术系统,以Java为编程教学语言,以Air800 模块为主控电路芯片,实现对水域的水位的数据信息采集分析处理,再通过传输到阿里云

13、平台,进行数据的处理对比,最后通过微信小程序展示数据以及实施相关措施,如报警。在整个系统中我负责上位机的数据采集,使上位机和下位机能进行通信。因为水位数据的监测点较多,而且是远距离的云端传输,所以我选择了SSM为基础框架,能很大程度的简化开发的复杂程度。而选择MySQL为数据库,主要是因为执行速度快,而且能够支持多种语言,为我的开发过程提供了便利。2.1设计原理结合硬件构思,将防汛系统的后端设计如下图。在系统运行时,首先通过传感器采集数据,然后将收集到的数据传输至云端,接着数据全部入库,最后是由数据处理模块从数据库中调取数据进行处理,如若超过警戒值就采取相关的措施,如若没有则继续进行数据采集。

14、2.2方案选择1、 技术选择该系统环境较为复杂,需要有较好的安全性,于是选择SSM框架的设计思路。采用云计算技术路线,数据层采用云数据存储。在进行开发时,尽量简化设计、减少对象,不做重复性工作,合理布置。数据的采集、存储、查询,必须规范执行,避免造成混乱。SSM框架是包含了spring MVC ,mybatis框架以及spring,是一使用模型、视图、控制器设计应用程序的模式,通过分离数据、逻辑以及界面显示这三个类型的方法,来设计代码,从而能够将整个管理系统分成几个不同的层面,分别是:数据访问层、服务层、表现层以及管理层。视图的管理以及请求的转发都是由spring MVC来完成的。搭建spri

15、ng框架可以给使用者提供更多的服务选择。mybatis是一个能够持久对数据进行研究的引擎。Spring是一个轻量级的应用框架,它的源代码都是开放的,在开发过程中通过IOC容器来管理对象,它相当于一个工厂,一个装有许多bean的大工厂,在设计代码的时候,主要是从配置文件中调用特定的参数,以便于将数据实例化,通过这种运行方式,我们就不用再进行初始化,而且基本上看不到新的关键字。但是这个框架的用途有很多种,从简单的可测性观点来看,在开发Java的应用程序的时候运用Spring框架就会使开发过程更加简便,主要是因为Spring就是一个开放源代码的框架。SpringMVC是一种轻量级web框架,实现了最

16、常用的MVC(Model View Controller 模型-视图-控制器)模式,简化了web的开发,通过分离分派器、控制器、模型对象,使程序更容易修改。基本工作原理如下:客户端(浏览器)发送请求到前端控制器 DispatcherServlet。DispatcherServlet 根据请求信息调用 HandlerMapping,找到请求对应的 Handler,并返回给DispatcherServlet 。DispatcherServlet 根据找到对应的 Handler后,调用 HandlerAdapter 适配器处理。HandlerAdapter 会根据 Handler 来调用真正的处理器

17、(Controller),并处理相应的业务逻辑。处理器处理完业务后,会返回一个 ModelAndView 对象给DispatcherServlet,其中的Model表示转发的数据,而View表示最终负责响应的视图组件的名称。DispatcherServlet将ModelAndView传给ViewReslover视图解析器,ViewResolver 会根据逻辑 View 查找视图组件。DispaterServlet 把返回的 Model(数据) 填充到View(视图组件)。DispaterServlet 把 View 返回给客户端或者浏览器。Mybatis是一个很好的持久层框架。它能够让数据库底

18、层的操作变得简单明了。它可以使用一个简单的标记语言,对配置进行标记并映射原始数据。其中数据库中的所有数据都是由对象和接口映射而成。因为Mybatis是直接进行了一个基于Java数据库的简易的包装与映射,所以从性能研究角度分析来看JDBCMyBatisHibernate。Mybatis操作主要是围绕一个实例进行的。首先解析配置文件,解析为配置对象。在界面和数据库应用程序之间有一个接口,维系着主机和数据库,这就是一个内存镜像对象。首先我们可以通过开发者创建一个工厂模式,然后在这个模式中建立一个包含所有的信息的会话工厂,最后就可以获取一个我们所需要的会话。MyBatis是隐藏Java数据库的属性以及

19、实现细节,Java数据库的核心会在底层出现。在Mybatis 里面,SqlSession 是提供给各种应用的一个系统接口。SqlSession作为Mybatis的主要java接口,它拥有一个Executor 对象,能把数据库的所有操作都隐藏了。在创建对象同时,执行器Executor 在要执行疑问或者执行更新时,需要来处理参数、SQL执行以及处理结果集,其目的是在于简化它。2、 开发运行环境开发工作过程需在Windows系统下进行。详细工具如下表。系统环境JDK1.6+开发工具MyEclipse2014服务器Tomcat7+画图工具Visio数据库MySQL5.1.4数据库管理工具Navicat

20、 Premium操作系统Windows2.2.1分析问题开发防汛管理系统,结合全国基础数据库建设,对于目前的信息系统,初步建立统一的防汛信息化平台。系统可以实现对防汛平台支撑,完成防汛各个部门日常处理。防汛数据任务的关键是实时的水位数据、监测河流变化以及突发自然变化的情况,而防汛预警是否及时的关键是信息的及时性与准确性,否则收集的测量数据就失去了意义。传统的水位数据采集设备十分落后,因此必须进行优化,以实现水位数据的自动采集、自动存储技术以及系统自动分析问题分析,来适应信息时代的应用要求与现代化管理。1、 自动数据采集和实时监控。在应用程序中设置特定水位的触发器,实现定时的主动数据抽取处理。开

21、发水位数据自动测报功能,是为了数据能随时上传至系统,而开发实时监控功能,是为了当数据出现问题时能及时上报,让相关人员及时处理。2、 自动报警自动报警的处理工作反映在两个方面,一方面是对系统运行过程中汛期的数据采集,第二方面是当数据超过特定值时,系统能在第一时间对事件做出反应,并将这些数据记录下来后自动传输给系统,以实现自动报警功能。数据进入数据库时对数据的判断并不能保证完全正确,所以需要监测设备。 2.2.2设计过程一、数据库设计1)表名说明T_level水位记录表T_position监测点位置定义表2)表名:t_level字段名称字段描述字段类型是否为空主键外键是否自增长备注IdIntNY是

22、Position_id位置编号IntNt_position.idtime日期DatetimeNlevel实测水位Floatphoto图片Blob表名:t_position字段名称字段描述字段类型是否为空主键外键是否自增长备注IdIntNYJing经度FloatNwei纬度FloatNmark备注VARCHAR(200)二、搭建环境1) 安装软件,并进行环境配置。首先从官网下载jdk1.8并且进行安装,安装完成后进行环境变量的配置。首先在系统变量中新建一个,输入java_home。再新建classpath,输入.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.

23、jar;在path中添加;%JAVA_HOME%bin;%JAVA_HOME%jrebin最后进行安装测试,打开cmd后,在对话框中输入java -version ,如果出现的指令中含有Java的版本,则说明jdk安装成功。首先安装tomcat软件,需要配置两个系统的环境变量,打开电脑系统的环境变量,分别创建JAVE_HOME和CATALINA_HOME这两个变量。详细配置如下图:最后测试,运用ie浏览器打开localhost:8080/,如果可以看到tomcat的页面,就说明tomcat配置完成。安装eclipse软件,设置工作目录,配置运行环境选择上一步安装的tomcat。安装mysql软

24、件。2)创建项目并进行配置首先,打开eclipse,建立新的Maven项目,创建相对应的项目路径。然后集成spring mvc框架,集成MyBatis框架。配置数据库连接,在jdbc.properties文件配置如下:jdbc.driverClassName=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql:/127.0.0.1:3306/levelDB?serverTimezone=GMT#用户名jdbc.username=test#密码jdbc.password=test在webinfo目录下创建web页面。在dao目录下创建数据库接口。 在model

25、目录下创建数据库表的实体类。 在mapper目录下创建与表相关的mapper文件,并且需要在mapper文件配置相关的增删改查。 在service目录中创建对应的增删改查服务。 在impl目录下创建相应的service接口的实现类。 在controller目录下创建controlle类。首先需要新建一个数据库,命名为leveDB,再创建两张表:水位记录表t_level和监测点位置定义表,并且初始化一些数据是为了poistion表,sql如下:- 创建水位记录表CREATE TABLE t_level ( id int NOT NULL AUTO_INCREMENT COMMENT id,tim

26、e DATETIME NOT NULL COMMENT 时间, position_id int NOT NULL COMMENT 位置id, level Float NOT NULL COMMENT 水位,photo blob COMMENT 照片, PRIMARY KEY (id) ENGINE=leveDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT=数据表- 创建数据表CREATE TABLE t_position ( id int NOT NULL COMMENT id,jing float NOT NULL COMMENT 经度,

27、 wei float NOT NULL COMMENT 维度, mark varchar(200) COMMENT 备注说明, PRIMARY KEY (id) ) ENGINE=leveDB DEFAULT CHARSET=utf8 COMMENT=监测位置定义表- 初始化数据INSERT INTO t_position (id, jing, wei,mark)VALUES(1, 100,200, 1号监测点),(2, 100,300, 2号监测点),(3, 100,400, 3号监测点),(4, 100,500, 4号监测点),(5, 100,600, 5号监测点),(6, 100,700

28、, 6号监测点);三、数据库的模糊搜索。 在进行数据库查找时,有两种方法,分别是模糊查询和完整查询这两种。一般模糊查询语句:SELECT 字段 FROM 表 WHERE 某字段 Like 条件。其中关于条件,SQL提供了四种匹配形式:_ : 表示的是任何一个单个的字符。匹配单个的任何一个字符,它都是字符语句,主要是为了能够限制表达式的长度。比如 SELECT * FROM yonghu WHERE u_name LIKE 一只能够找出中间字是一的。例如:张一岁再比如 SELECT * FROM yonghu WHERE u_name LIKE 两_;就会找出第一个字是两的。例如:两个人%:表示

29、任意0个或多个字符。可匹配各种类型和长度的字符,有些情况下若是有中文,则需要用两个%。例如 SELECT * FROM yonghu WHERE u_name LIKE %二%在查找中,如果想要找到有“二”又有“四”的记录,就必须运用and条件。SELECT * FROM yonghu WHERE u_name LIKE %二% AND u_name LIKE %四%若运用 SELECT * FROM yonghu WHERE u_name LIKE %二%四%虽然能查询出“二四四”,但不能找出“四二二”。 :括号中字符中的任意一个。指定1个字符串,要求所匹配对象为它们中的某个字符串。比如 S

30、ELECT * FROM yonghu WHERE u_name LIKE 一三四二将找出“一二”、“三二”、“四二”。若 内有一连串字符(12345、ABCDE之类的)则可略写为“1-5”、“A-E”SELECT * FROM yonghu WHERE u_name LIKE 二A-G将找出“二A”、“二B”、“二G”; :是不在括号之内的一个字符。其取值和 一样,但它查询到的对象是指定字符以外的所有字符。比如 SELECT * FROM yonghu WHERE u_name LIKE 一二三3将找出不带“一”、“二”、“三”的如“四3”、“五3”等;SELECT * FROM yongh

31、u WHERE u_name LIKE 二a-d;将排除“二a”到“二d”,查找“二c”、“二e”、查找内容包括通配符时,如果在查询特殊字符“%”、“_”、“”的语句时出现无法完成的现象,那就是由于通配符的原因,只要把特殊字符用“ ”括起就可以正常查询。因此我们写出了以下函数:function sqlencode(str)str=replace(str,) str=replace(str,)str=replace(str,%,%)sqlencode=strend function四、系统测试 为了让系统的功能能够正常的使用以及保证数据的准确传输,我进行了确认测试,测试环境如下: 1)服务器环境

32、操作系统:Windows10硬件配置:8GB内存、四核处理器(2.8GHz)、1TB硬盘2)客户机 浏览器(IE6.0以上)3结论完成硬件需求了分析后,首先设计了系统的框架,然后确认了开发平台和使用环境。之后对系统的工作流程、性能模块、总体构造、数据流图进行设计。主要设计了自动数据采集、实时监控、数据的汇总与传输、自动报警等。从而可以实现了对防汛指挥工作的辅助,具备了信息进行系统所应具备的信息技术服务发展能力。根据系统的构思以及河流的现状,发现系统仍存在缺点,因为防汛系统的优良会涉及到人身安全还有社会的经济发展,所以仅仅是能够采集其数据是远远不能够满足需求的。而是能够在收集了这些数据之后,能主

33、动对数据进行规划处理,从而评估这些环境数据所达到的影响程度,再进行预警处理才可以实实在在的达到防汛系统对社会所贡献的价值。洪水不是必然的,在处理好人为的因索时,因提前做好的较为全面的预防措施。在洪水爆发之前会有很长的时间,只要拥有足够的信息,就能第一时间做出正确的决策,所以防洪防汛的科技产品是非常重要。当防汛系统能够代替人力时,就可以减少人力的消耗以及财力的浪费,而且能够做到二十四小时实时监控,从而尽量减少灾害造成的损失。防洪防汛系统主要是它可以随时对环境进行监测,进而给人们带来更多的时间去准备和应对。所以一个良好的防洪系统不只是对河流数据的监测,还需要有一个非常有效的报警提醒功能。在整个系统

34、运作的过程中,分别设置了防洪的安全限与警戒限,能给让系统每时每刻能够运用这个标准对环境进行检测,使系统可以在水位数据超过预定值的时候会及时发出报警信号。在防汛上,前期根据地区不同设置不同的安全值和警戒值。数据的自动传输汇总,自动与预警值进行比较,超过就会报警,而且根据程度不同,运行不同的处方案。这样既可以反映防洪预警的水平,又可以使相关组织在不同的预警中做出不同的处理,然后再进行统计和分析已经收集到的数据,还可以合理进行下一步的判断,帮助决策者提高决策水平和质量。由上分析可以我们看出,这个项目不仅仅是一个毕业设计,而是一个可以减少人们在汛期财产损失的科学技术系统。参考文献1宗平 沈祖诒 王志坚

35、.基于主动机制的防汛防旱指挥系统设计研究J河海大学学报(自然科学版),2009(01):114-118.2朱东红 吴东丽 郭剑 阙艳红 刘立业 刘兴良 张会可 郭渊杰.气象自动观测集成平台设计J.软件,2018(7):9-9.3陈张.浅析struts2和springMVC的异同J。数码世界,2017():1-1.4张慎武.基于SSM框架集的省级档案科技管理平台的设计和实现J数字技术与应用,2018(4):3-3.5王英杰 刘才 王英睿.可视化杆系结构分析程序设计J.计算力学学报,2020(4):113-118.6李大鸣 陈海舟 范玉.国内外防洪减灾发展与现状J.中国农村水利水电,2005(09

36、):36-40.7美兵,基于图像识别的远程水位监测系统研究J.西安电子科技大学,201102)128刘国生,刘然听。远程水位(潮位)实时监测系统J.第十三届中国海洋(岸)工程学术讨论会论文集,2007.090.724-7339余应建,水位远程测量与数据传输技术D.测试技术学报.2000 (01) 226-0010胡依凡.计算机软件技术的开发与应用J.电子技术与软件工程,2018(4):49-49谢 辞附 录附录1#define MAIN_Fosc22118400UL/定义主时钟, 模拟串口和和延时会自动适应。535MHZ/*以下宏定义用户请勿修改*/#include reg51.H#inclu

37、de STC12C5A60S2.H#include intrins.h#include Common.h /通用宏定义#include Uart.h#include oled.h#include bmp.h#include #defineucharunsigned char#define uintunsigned int/*/sfr P1ASF = 0x9D;/12C5A60AD/S2系列模拟输入(AD或LVD)选择/sfr ADC_CONTR = 0xBC;/带AD系列/sfr ADC_RES = 0xBD;/带AD系列/sfr ADC_RESL = 0xBE;/带AD系列/7 6 5 4

38、3 2 1 0 Reset Value/sfr ADC_CONTR = 0xBC;ADC_POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 0000,0000/AD 转换控制寄存器 #define ADC_OFF()ADC_CONTR = 0#define ADC_ON(1 7)#define ADC_90T(3 5)#define ADC_180T(2 5)#define ADC_360T(1 5)#define ADC_540T0#define ADC_FLAG(1 4)/软件清0#define ADC_START(1 3)/自动清

39、0#define ADC_CH00#define ADC_CH11#define ADC_CH22#define ADC_CH33#define ADC_CH44#define ADC_CH55#define ADC_CH66#define ADC_CH77sbit key1 = P00;sbit key2 = P01;sbit beep = P22;#define S2RI 0x01 /S2CON.0#define S2TI 0x02 /S2CON.1uchar key_value = 0;uchar beep_value = 35;uint count = 0;uchar ss6;bit

40、flag = 0;void delay_dms(unsigned char ms);uintadc10_start(uchar channel);/channel = 07/void UartInit(void)/9600bps11.0592MHz/PCON &= 0x7F;/波特率不倍速/SCON = 0x50;/8位数据,可变波特率/AUXR |= 0x04;/独立波特率发生器时钟为Fosc,即1T/BRT = 0xDC;/设定独立波特率发生器重装值/AUXR |= 0x01;/串口1选择独立波特率发生器为波特率发生器/AUXR |= 0x10;/启动独立波特率发生器/void Uart1

41、Init(void)/115200bps11.0592MHz/PCON &= 0x7F;/波特率不倍速/SCON = 0x50;/8位数据,可变波特率/AUXR |= 0x04;/1T模式/BRT = 0xFD;/设置独立波特率发生器重装值/AUXR |=0X01;/串口1选择独立发生器为波特率发生器/AUXR |=0X10;/启动独立波特率发生器/ES = 1; /使能串口1中断/*-/UART1 发送串口数据/-*/void UART1_SendData(u8 dat)/ES=0;/关串口中断/SBUF=dat;/while(TI!=1);/等待发送成功/TI=0;/清除发送中断标志/ES

42、=1;/开串口中断/*-/UART1 发送字符串/-*/void UART1_SendString(char *s)/while(*s)/检测字符串结束符/UART1_SendData(*s+);/发送当前字符/void Timer0Init(void)/5毫秒11.0592MHzAUXR &= 0x7F;/定时器时钟12T模式TMOD &= 0xF0;/设置定时器模式TL0 = 0x00;/设置定时初值TH0 = 0xEE;/设置定时初值TF0 = 0;/清除TF0标志TR0 = 1;/定时器0开始计时ET0 = 1;EA = 1;uchar key_scan() /按键读取值程序uchar

43、 value = 0;if (key1 = 0)value = 1;else if (key2 = 0)value = 2;else value = 0;return value;void SIM868_Init()uchar i;UART1_SendString(AT+CGATT?rn);/while(UART1_RX_STA|=0x8000)/for (i = 0; i 10;i+)delay_dms(250);UART1_SendString(AT+CIPMODE=1rn);for (i = 0; i 5;i+)delay_dms(250);UART1_SendString(AT+CST

44、T=CMNETrn);for (i = 0; i 5;i+)delay_dms(250);UART1_SendString(AT+CIICRrn);for (i = 0; i 10;i+)delay_dms(250);UART1_SendString(AT+CIFSRrn);for (i = 0; i 5;i+)delay_dms(250);UART1_SendString(AT+CIPSTART=TCP,121.36.21.219,60002rn);for (i = 0; i 43)beep_value = 43;key_value = 0;if (key_value = 2)beep_va

45、lue-;if (beep_value 1)beep_value = 1;key_value = 0;/delay_dms(250);/delay_dms(250);for (i = 0; i 450)ad_value = (float)(j-450) * 0.16; ssi = (uchar)ad_value/10 * 10 + (uchar)ad_value%10;if (ssi = 0x2b)ssi = ssi + 0x01;if (j beep_value | ss1 beep_value | ss2 beep_value | ss3 beep_value | ss4 beep_val

46、ue | ss5 beep_value)beep = 0;if (ss0 = beep_value & ss1 = beep_value & ss2 = beep_value & ss3 = beep_value & ss4 = beep_value & ss5 = beep_value)beep = 1;OLED_ShowString(0,0,S1:,10);OLED_ShowNum(25,0,ss0,2,10);OLED_ShowString(45,0,S2:,10);OLED_ShowNum(65,0,ss1,2,10);OLED_ShowString(0,1,S3:,10);OLED_

47、ShowNum(25,1,ss2,2,10);OLED_ShowString(45,1,S4:,10);OLED_ShowNum(65,1,ss3,2,10);OLED_ShowString(0,2,S5:,10);OLED_ShowNum(25,2,ss4,2,10);OLED_ShowString(45,2,S6:,10);OLED_ShowNum(65,2,ss5,2,10);OLED_ShowString(0,6,beep:,10);OLED_ShowNum(40,6,beep_value,2,10);/UART1_SendString(xxx);/UART1_SendString(x

48、xx);/if (flag = 1)/for (i = 0; i 6;i+)/UART1_SendData(ssi);/flag = 0;/for (i = 0; i 6;i+)UART1_SendData(ssi);/sprintf(disbuff,%x%x%x%x%x%xrn,ss0,ss1,ss2,ss3,ss4,ss5);/UART1_SendString(disbuff);/delay_dms(250);delay_dms(250);uintadc10_start(uchar channel)/channel = 07uintadc;uchari;ADC_RES = 0;ADC_RESL = 0;ADC_CONTR = (ADC_CONTR & 0xe0) | ADC_START | channel; i = 250;doif(ADC_CONTR & ADC_FLAG)ADC_CONTR &= ADC_FLAG;adc = (uint)ADC_RES;adc = (adc 2) | (ADC_RESL & 3);returnadc;while(-i);/超时检测return1024; 21

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!