《基于单片机的智能鱼缸的设计与实现---论文终稿.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能鱼缸的设计与实现---论文终稿.doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、重庆理工大学毕业论文 基于单片机的智能鱼缸的设计与实现 编号 毕业设计(论文)题目 基于单片机的智能 鱼缸的设计与实现 二级学院 计算机科学与工程 专 业 计算机科学与技术 班 级 112030701 学生姓名 李 洋 学号11203070314 指导教师 黄贤英 职称 教授 时 间 2016.6 III目 录摘 要IAbstractII1 绪论11。1课题背景11。2国内外研究现状11.3研究目的22 开发技术与原理简介42.1嵌入式技术42。2传感器技术42。3 Android技术42。3。1 Android智能手机平台概述42。3。2 Android手机平台的特点52。3。3 Andro
2、id系统软件架构53 需求分析63。1功能需求63。1。1系统的特点及功能描述63。1。2系统流程分析63。2用例分析73。3 开发工具113。3。1 底层硬件电路开发工具113.3.2底层系统开发工具123.3。3 Android客户端开发工具124 概要设计134。1系统总体方案与功能134.1。1系统功能组成134。1。2系统控制参数144.2系统的硬件结构144。3系统的软件设计155 详细设计175。1单片机系统设计175。1。1单片机选型175。1。2单片机最小系统设计185.1。3详细说明215。2温度传感器模块设计225.2。1温度传感器选型225.2.2温度传感器电路设计23
3、5。3蓝牙串口模块设计235.3。1串口技术235。3.2蓝牙串口电路设计255。3.3系统通讯协议设计255.3。4系统通讯详细说明265.4时钟模块设计275。4.1时钟芯片选型275。4.2时钟模块电路设计275。5 Android客户端设计285.5。1 Android蓝牙通信设计285。5。2 Android界面设计296 系统实现316。1 底层设备软件实现316.1.1系统软件流程图316。1.2底层系统算法设计326。2手机端软件实现356。2.1手机端软件流程图356.2。2底手机端软件算法设计366。3软硬件设备实物图386.3。1硬件设备实物图386。3。2手机端软件截图
4、407 系统测试417.1LED灯光变换测试417.2检测温度测试427。3水循环控制系统测试427。4充氧模块测试43结束语44致 谢45参 考 文 献46摘 要近年来嵌入式发展迅速,智能家居也进入了人们的生活.智能鱼缸却没有快速发展。我根据市场上相关设备现状的分析和研究,从系统集成角度进行设计和开发,提出了一套多功能的智能观赏鱼缸控制系统的设计方案。该控制系统以STC12C5A60S2单片机为控制核心,结合传感器技术,集多种控制功能于一体,包括检测温度、自动充氧、自动换水、灯光变换和自动喂食等,同时在系统中设计一个蓝牙通信模块,可实现对鱼缸的远程控制和管理。整个系统分为两个部分:第一部分是
5、以STC12C5A60S2为核心的控制部分,实现对各种控制参数的设置、存储、和处理.第二部分是手机安卓部分,通过手机端APP可以对鱼缸进行实时控制、参数设置等,实现人机交互。两个部分之间采用蓝牙通讯技术,将数据信息在上位机与下位机之间交互传输。该系统根据当前市场上的需求进行设计和开发,形成了一套自动充氧、自动换水、灯光变换和自动喂食等功能为一体的集成控制系统.同时该系统设计灵活、成本低廉,便于量产,可广泛用于家庭和宾馆等安装观赏鱼缸的场所.关键词:鱼缸,自动控制,单片机,蓝牙通讯,APPIAbstractIn recent years, with the development of embe
6、dded, intelligent household also entered peoples lives。 The intelligent aquarium is not development. I according to the current market analysis and research status quo of related equipment, system integration from the perspective of design and development, a set of multifunctional intelligent fish t
7、ank control system design。The control system STC12C5A60S2 microcontroller core. Combined with sensor technology. Set a variety of control functions. Including temperature detection, automatic oxygenation, automatic water change, transform and lighting automatic feeding。 While the design of a Bluetoo
8、th communication module in the system can be realized on the tank remote control and management. The whole system is divided into two parts: the first part is STC12C5A60S2 the control part of the core, to achieve a variety of control parameters settings, storage, and processing. The second part is t
9、he part of Android phones, the tank can be realtime control, parameter setting via mobile phone terminal APP, humancomputer interaction. Between the two parts of the Bluetooth communication technology, information exchange data transmission between the host computer and the next crew。The system is d
10、esigned and developed according to the needs of the current market。 The formation of an automatic oxygenation, automatic water change, transform and lighting automatic feeding and other functions into one integrated control system. Meanwhile, the system is designed to be flexible, low cost, ease of
11、mass production, it can be widely used in homes and hotels and other places to install aquarium。Key words: Aquarium, automatic control, single-chip, Bluetooth communication, APP II1 绪论1。1课题背景随着我们国家经济的快速发展,人民对生活质量的追求也一直在提高,人们也不再像前一代人那样的消费观念。人们追求越来越高的生活品位,导致了消费水平也在提高,家居环境的个性化、环保化也越来越受到人们的重视,同时相关的智能家居等
12、行业相应的出现大发展之机遇.现代都市生活使人们承受着种种压力许多人需要得到精神的安慰,心底渴望怀抱大自然的宁静与和谐,饲养宠物已经成为一股经久不息的潮流.而一个生机勃勃的鱼草生活惬意的鱼缸不但可以给人们带来春季盎然的美感,更能美化居室环境,使人回归那久违的绿色,让自己重新回到大自然美景的怀抱中。在这样的新趋势下,饲养几条观赏鱼将成为新的潮流。智能鱼缸控制系统正是在这种需求下产生的。水族箱不单单只是一个是养鱼、鱼草的水容器,它更是大自然的一个小小的缩影,是一个相对完整的小型生态系统。最近这些年,这种以水草、观赏鱼为主体的生态鱼缸被叫做“微缩鱼草园林,人们对其非常喜爱和追捧.但是要让一个适宜水草、
13、小鱼生活的环境长时间保持是一件费时费力的事情,很多都市人忙于工作或者迫于生活压力都没有时间照料小鱼,所以一般结局大都是水草枯死小鱼干死.所以现在出现的鱼缸水体净化和水质改善的设备有很多,目前市场上经常看见的鱼缸控制设备有:换水设备、加氧泵、喂食设备等,但是它们一般都是非智能化的、单独工作需要人工控制开关的器件。但若是把若干独立的鱼缸控制设备机械的组成一个多功能的控制设备,需要的花费是很多的,而且这些器件按装在一起之后,同时存在着电的浪费,不便于集中统一进行管理控制。1。2国内外研究现状“鱼缸”又称“水族箱”,水族箱一词起源于英国,水族箱饲养始于1851年的英国万国工业博览会上,沿用至今已经有1
14、50年的历史。鱼缸在150年前的定义仅是一个养动植物的容器,最原始的鱼缸只一个结构简单水箱,水族箱也没有什么复杂的功能。德国与英国在这个嗜好上竞争,踏入20世纪,汉堡市成为欧洲入口新奇水族品种的港口.第一次世界大战后几乎所有家居都已经有电力供应,水族箱亦因此更广泛地受欢迎。电力的改善使水族科技得以发展,使人工照明、通风、过滤、水温加热都成为可能.空中运输的出现使更多远方的外地品种能够入口,亦使水族饲养更受欢迎。现时,估计全球有大约6千万水族喜好者.水族嗜好最强列的地区依次序为欧洲、亚洲及北美洲.在美国,大部分人(40)同时打理2个或以上的水族箱。我国的水族箱控制系统发展起步相对较晚。随着经济水
15、平的突飞猛进,装饰业的日趋兴起,人们对生活、家居品位的追求愈加重视,体现在经济形态中就是与之相关的休闲、居家装饰等行业日显蓬勃发展之势。居住、工作环境的生动化、温馨化也越来越和人的精神、情操、新的生活观念紧密地联系在一起.休闲水族行业也正是在人类的这种需求下应运而生,并且近年来其快速发展之状况使其已经成为一股新兴的经济力量受到经济界及业内人士的关注,据最新资料显示:水族产品的日渐丰富,水族市场更加繁荣昌盛,水族行业产业规模的年增长率达到138,仅北京就由传统的几个小市场,发展成8个大规模的市场。其市场空间的拓展速度也昭示着将有更多的投资机会点在这种新的经济形势下诞生.如今是国际水族产品看中国,
16、许多国外大的采购公司都盯准中国这个市场,把长远的目标放在中国嘲。随着水族箱产品迅猛发展,巨大的水族箱市场的需求也极大推动了国内外各种水族箱控制设备的研发和生产。水族箱要保持金鱼、水草的生活环境需经常换水和补充氧气,通常配备水泵和空气泵这两种设备来循环水体和补充氧气,但是这些设备都是通过人力进行开关控制,不便宜操作.1.3研究目的目前很多家庭都用小型的水族箱来养水草、观赏鱼,但是人们的生活却很忙碌,可能没有时间来照顾鱼缸里的小鱼和水草,以至于鱼缸这个小型生态环境长时间得不到平衡,进而导致水草、观赏鱼相继死去。智能鱼缸控制系统正是在这种需求下产生的,现在鱼缸水体净化和水质改善的设备有很多,目前市场
17、上经常看见的鱼缸控制设备有:换水设备、加氧泵、喂食设备等,但是它们一般都是非智能化的、单独工作需要人工控制开关的器件。但若是把若干独立的鱼缸控制设备机械的组成一个多功能的控制设备,需要的花费是很多的,而且这些器件组装在一起之后,存在着资源浪费,不便于集中统一进行管理控制.现在,鱼缸智能控制器有的很大的市场需求,但是研究和开发尚处于起步阶段,相应的产品也相对较少。因此,自主设计了成本低,操作简单,节能环保的智能鱼缸控制系统。本智能鱼缸控制系统以 STC研发生产的 STC12C5A60S2 单片机为控制CPU,同时结合传感器技术、蓝牙通讯技术、手机APP,研发出一套可以用于不同类型水族箱和各种使用
18、环境的集自动充氧、自动换水、灯光变幻、自动喂食、温度监控等各种功能于一体的智能鱼缸控制系统.2 开发技术与原理简介2.1嵌入式技术嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统.嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等4个部分组成,它是集软硬件于一体的可独立工作的“器件。嵌入式系统是一种面向应用、功能定制、资源受限、响应要求高、性能稳定、无自举开发能力,由硬件和软件两部分构成的专用计算机系统.“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素,应用对
19、象系统指嵌入式系统所嵌入的宿主系统。2。2传感器技术传感器技术是现代科学的前沿技术,是新技术革命和信息社会的重要技术基础.在现代生活和科学研究中,各种类型的传感器所提供的大量可靠、准确的信息,不仅能代替人的五官功能,而且还能检测到人的五官所不能感受的信息,从而使人类能更好地认识世界和改造世界。目前,传感器技术广泛应用于航空、航天等尖端技术领域及工业、农业等人类日常生活许多方面。传感器在工业部门的应用普及率已被国际社会作为衡量一个国家智能化、数字化、网络化的重要标志。因此,传感器技术作为一种与现代科学密切相关的新兴学科正得到迅速的发展,并且在许多领域被越来越广泛的利用。2。3 Android技术
20、2。3.1 Android智能手机平台概述Android是Google公司在2008年联合开放手持设备联盟(OHA)推出的基于Linux内核的智能移动设备操作系统,主要应用于掌上便携设备,如智能手机和平板电脑等。Android平台为移动设备提供了有Linux操作系统、中间层、UI(用户界面)和应用程序共同组合的软件平台.2。3.2 Android手机平台的特点开放性:源代码开发可以修改无需授权。自由性:摆脱运营商的束缚让手机能自由接触网络。兼容性:与硬件无关,降低了开发者的负担。拓展性:可以兼容各种手机、平板电脑等移动设备.2.3。3 Android系统软件架构安卓系统软件架构主要有五层,从下
21、到上依次是:Linux内核层、本地库、安卓运行时、应用框架层、应用程序层。如图2。1所示:图2.1 Android系统架构图3 需求分析3.1功能需求该智能鱼缸控制系统是以鱼缸的日常护理为背景,系统集成开发的角度对水循环、水温监控、水含氧量、鱼饲料量自动化及其应用控制进行设计和开发,根据当前市场上的需求,并且利用高新技术形成了一套集自动水循环、灯光变幻、自动充氧和自动喂食等功能为一体的智能鱼缸控制系统.3。1。1系统的特点及功能描述1功能。采用单片机控制,实现水族箱自动换水、自动喂食、温度状态显示、自动加氧、灯光变幻等功能。 2人机界面.本系统的人机操作界面采用手机APP端显示屏,具有直观、简
22、介、易操作等多重特点。用户可直接从手机显示屏读取系统的实时数据。 3系统操作。本系统通过上位机手机APP来设置各种参数,用户可以根据观赏鱼的实际生活习性来设定适宜小鱼生活的参数,使该智能鱼缸控制系统能在各种不同的环境适中发挥作用。鱼缸下位机与手机上位机之间的配合使用使本系统具有简易的操作性。 4生产成本:本系统使用的控制CPU是STC12C5A60S2单片机,该款单片机价格低廉,其外围电路设备包括:蓝牙模块、温度传感器、时钟模块、Led灯带、电机等,这些外围成本低廉、加工简单,具有很强的可生产性.3.1。2系统流程分析如图3。1的智能鱼缸流程图,对智能鱼缸的业务流程进行分析。业务流程:用户通过
23、手动操作手机端,与智能鱼缸系统进行人机交互.用户通过手机端以蓝牙通信的方式将需要执行的命令以及参数传输给鱼缸端。鱼缸端接受到用户发送的命令以及参数执行对应的操作如喂食、换水等。鱼缸端将检测到的温度值传送给手机端,手机端将温度值显示在屏幕上,以便用户获取温度值。图3.1 智能鱼缸业务流程图3.2用例分析根据智能鱼缸系统的功能需求,对其进行用例分析。如图3。2 客户端用户用例图,主要用例有:客户端用户、换水、喂食、充氧、变换灯光、监控温度、检测温度、显示温度、设置时间. 图3。2 客户端用户用例图用例规约(1)换水用例(UC01)用例名称:换水简要说明:给鱼缸进行水体循环。事件流:基本事件流打开水
24、泵抽出、抽入水体进行水体循环扩展事件流无前置条件:无后置条件:设置时间自动进行水循环(2)喂食用例(UC02)用例名称:喂食简要说明:把鱼饲料倒入鱼缸进行喂食。事件流:基本事件流打开喂食器倒入鱼饲料扩展事件流容器中无饲料,人工添加进入容器。前置条件:无后置条件:设置时间,自动喂食(3)充氧用例(UC03)用例名称:充氧简要说明:给鱼缸中水体充氧,提高水的含氧量。事件流:基本事件流打开气泵给水体充氧扩展事件流无前置条件:无后置条件:设置时间,自动充氧(4)灯光变幻用例(UC04)用例名称:灯光变换简要说明:打开LED彩灯,提高鱼缸的观赏性。事件流:基本事件流打开LED灯带跑马灯闪烁扩展事件流无前
25、置条件: 后置条件:无(5)检测温度用例(UC05)用例名称:检测温度简要说明:检测鱼缸的温度。事件流:基本事件流打开温度传感器检测鱼缸的温度扩展事件流无前置条件:无后置条件:无(6)设置时间用例(UC06)用例名称:设置时间简要说明:设置时间,智能鱼缸系统到时自动进行相关操作.事件流:基本事件流设置时间,发送相关命令扩展事件流无前置条件:喂食、换水、充氧后置条件:无(7)显示温度用例(UC07)用例名称:显示温度简要说明:把检测到的温度显示到手机客户端。事件流:基本事件流获取温度值显示温度值扩展事件流无前置条件:检测温度后置条件:无(8)监控温度用例(UC08)1)用例名称:充氧2)简要说明
26、:检测温度值,并把温度值显示在手机客户端。3)事件流:基本事件流打开温度传感器获取温度值显示温度值扩展事件流无前置条件:检测温度后置条件:显示温度3.3 开发工具3.3.1 底层硬件电路开发工具本系统需要设计硬件电路原理图(SCH),能满足设计要求的工具很多,比如:Protel、Altium Designer、PowerPCB等。在本设计中,采用Altium Designer14绘制原理图。该工具拥有大量的原理图库和印刷电路板(PCB)库,也可以自己绘制原理图库和印刷电路板(PCB)库,还能自动生成pdf文档,使用起来很方便.3。3。2底层系统开发工具本系统采用51内核单片机最常用的Keil
27、uVision5软件,通过一个集成开发环境(uVision)将这些部分组合在一起.上海中颖公司也提供了一套Keil软件的开发驱动,只要SH79F6488单片机的JTAG调试接口配以Keil软件的Debug功能就能实现系统的在线仿真。3.3。3 Android客户端开发工具Android客户端开发工具很多,比较常用的有:Eclipse、Android Studio、Basic4Android等。本系统中使用Android Studio.该软件具有很强大的代码提示功能和UI设计功能,有利于开发者开发速度和减小开发者上手难度。能够成功开发Android,还需在windows下配置好Java开发环境以
28、及安装Android SDK。4 概要设计智能鱼缸系统分为下位机硬件模块和手机安卓软件模块这两大部分。其中硬件模块主要功能为控制鱼缸相关操作以及上报温度功能,软件模块则为向下位机发送命令以及参数,显示温度值。硬件模块与软件模块通信使用蓝牙串口方式,简单快捷.系统的架构图如图4。1所示:图4.1系统的架构图4.1系统总体方案与功能4.1.1系统功能组成该智能鱼缸控制系统的设计是在对当前市面上已有的不同类型的鱼缸控制设备充分考察和调研的前提下进行的。整个智能鱼缸控制系统分为以下几个功能子系统:即人工定时充氧系统、人工定时水循环系统、LED灯光变幻系统、人工定时喂食控制、实时温度监控系统等。这些子系
29、统的工作相互独立,但是每个子系统又由单片机控制,该智能鱼缸控制系统还结合了时钟电路模块看门狗复位电路,便于系统的自动控制,各子系统的功能参数的设置与蓝牙数据传输电路相连接,通过蓝牙模块与手机控制端进行通信,手机端也通过蓝牙模块发送相关的控制命令以及参数给下位机,上位机手机端与下位机智能鱼缸共同组成了一套功能完善的智能控制系统.4.1。2系统控制参数该智能鱼缸控制系统的控制目的是能使鱼缸能够通过人工调节或者自动调节的方式来保证鱼缸的水质、含氧量等生活环境是最适宜观赏鱼生活习性的。设计本系统时需要考虑的环境参数有:温度,水中含氧量,水的质量,led灯光,鱼的饲料等参数。下表41显示该控制系统对各项
30、参数的处理。表41系统控制参数项目控制参数相应的处理措施1水温温度传感器获取温度值,并将其通过蓝牙传输到手机端显示2水溶氧量根据人工控制或者定时自动控制气泵充氧3水质根据人工控制或者定时自动控制水泵进行水循环4灯光根据人工控制打开LED灯带,提高鱼缸观赏性5鱼饲料根据人工控制或者定时自动控制喂食器喂食4。2系统的硬件结构该智能鱼缸控制系统包含六个模块,分别为单片机核心控制模块、温度传感器、蓝牙模块、时钟控制模块、led灯带、电机。单片机核心控制模块以STC12C5A60S2单片机为核心CPU控制协调其他模块协同工作;温度传感器负责温度的检测以及获取具体的温度值;蓝牙模块负责上位机与下位机之间的
31、通讯;时钟控制模块负责提供智能鱼缸控制系统的时钟参数;led灯带则使鱼缸更具观赏性;不同的电机负责不同的功能主要有气泵、水泵、喂食器。该智能鱼缸控制系统的硬件结构如图42所示。 图4。2 硬件结构图其中控制部分包括:中心控制模块:主要以CPU核心,包括晶振,复位电路等。该模块的主要功能是将单片机各个引脚的信号以及通过绿色能源模块接收到的命令及其参数进行运算处理,然后发出各种控制信号。各种控制信号对应的相关操作通过驱动硬件完成,如打开气泵进行充氧操作等。看门狗电路负责系统工作过程的监测,复位模块使系统工作时发生异常情况的复位重启。其中输入输出部分包括:1.温度检测模块:将温度传感器检测到的温度数
32、据传输给单片机;该温度传感器模块完成数据的采集功能,主要由传感器,放大器,AD转换器等组成。温度传感器主要是用来探测鱼缸环境温度参数的变化,并将数字信号的温度变化值转化为电信号以便单片机识别.2。蓝牙数据传输模块:将手机APP端接受到的命令信号传输给CPU,CPU根据接收到的命令发出对应的控制信号。将检测到的温度值发送给手机端,手机端接收到温度值后,将其显示出来。4。3系统的软件设计Android开发中自带有蓝牙API,我们直接使用该API并搭配Socket编程和多线程编程,就可以完成手机端和设备通信。在程序中使用sqlite数据库和Chart图形库,就可以实现历史数管理和可视化图形界面显示。
33、该智能鱼缸控制系统上位机软件框图如图4.3。图4.3 手机端软件框图本课题设计的上位机软件功能包含有三大部分:蓝牙链接界面设计,人工控制界面设计,定时任务界面设计。用户使用时,打开程序,会进入蓝牙链接界面,该过程为整个软件建立一个与下位机之间的通讯;蓝牙链接以后会自动进入到人工控制界面界面,该界面包含温度值的检测与显示、喂食控制、进出水开关、氧泵开关、霓虹效果;第三个页面是定时控制界面,用户可以设置时间让鱼缸每天按照用户设置的时间来自动进行喂食、换水、充氧操作.因此该程序模块会包含有整个工程中最重要的通信功能.5 详细设计5.1单片机系统设计5.1。1单片机选型本课题中温度检测部分要求具有高精
34、度AD转换模块,综合考虑后我们选择STC研发生产的STC12C5A60S2型号单片机作为该智能鱼缸控制系统的核心CPU.STC12C5A60S2单片机是一种单时钟周期的单片机也就是说该型单片机只能执行一个任务,如果要同时执行多个任务就需要开启中断。它是一种加强型8051单片机,相比之前类型的8051单片机具有高速/低功耗/超强抗干扰等特点,因为它是一种加强型8051单片机所以该型单片机指令代码完全兼容传统8051,但是它的速度却要比传统的8051单片机快8-12 倍。STC12C5A60S2单片机的内部集成了MAX810专用复位电路用于系统工作异常时整个系统的复位重启,以及2路PWM用于对电压
35、的精确控制,还有8路速度高达25万次/秒的A/D转换,可以将温度、湿度等数字信号转换为单片机可识别的电信号.该型单片机专门针对电机的控制,可以用于强干扰场合。图5。1 STC12C5A60S2结构图STC12C5A60S2单片机的内部结构框图如图5。2所示。图5。2 STC12C5A60S2内部结构框图STC12C5A60S2管脚图如图5。3所示图5。3 STC12C5A60S2管脚图5.1。2单片机最小系统设计1)单片机电源模块设计STC12C5A60S2单片机正常工作的电压范围为3。0V-5。5V,以及蓝牙的供电电压为3。3V,本课题所设计的智能鱼缸控制系统用的是充电宝作为电源,充电宝的电
36、压为5V,因此要确保上述的硬件能够正常工作就需要一个降压稳压的模块将接入电路的电压降到一个合适的稳定的电压值。通过查阅资料实际考察等方式,从多种稳压降压模块中进行筛选,最终德科仪器公司提供的TPS76033电压转换芯片成为最佳的解决方案,通过这种方式我们成功的把3。7V 电压转换为3.3V稳定电压,这使得单片机和蓝牙模块都能同时正常的工作.TPS76033芯片特点:输入电压16V;输出电压为3。3V;Dropout Voltage:0.001 V at 0 mA;输出电流:50 mA;最大工作温度:+ 125 C;回动电压最大值:180 mV;Ib 输入偏流:90 uA;最小输入电压:+ 3.
37、5 V.如图5。1所示.图5。1降压稳压模块在智能鱼缸控制系统设计中,为了给STC12C5A60S2单片机以及相关外围电路提供稳定干净的电源,所以还加上了滤波电路(图5。2 滤波电路)。图5.2 滤波电路2)单片机时钟脉冲设计可以选择两种振荡器类型作为系统的振荡器 1 (OSC1CLK)时钟源和振荡器 2(OSC2CLK)时钟源。当选择振荡器1 时钟(OSC1CLK)作为系统时钟频率分频器的输入时钟(OSCSCLK )(FS=0),并且系统进入掉电(Power-Down )模式时,振荡器1 时钟(OSC1CLK)和振荡器2 时钟(OSC2CLK)都会关闭。如果时基定时器模块或LCD模块功能开启
38、时,振荡器1 时钟(OSC1CLK)不会关闭,振荡器2 时钟(OSC2CLK)会关闭。当选择振荡器2 时钟(OSC2CLK)作为(FS=1)并且系统进入掉电(Power-Down )模式时,用以支持片上外围设备(例如定时器3 、时基定时器等)。内部12MHz RC支持硬件/ 软件校正功能,当CLKLO寄存器中的CLKRCEN=0 时,内部RC由系统硬件自动校正;当CLKRCEN=1 时,内部RC由用户软件校正,通过修改CLKRC0 寄存器的值调整RC振荡频率,CLKRC1 寄存器为出厂校正的初值数据,当调整RC振荡频率偏移较大时,可通过只读寄存器CLKRC1 获取校正初值数据.本课题中为了减小
39、硬件电路开支,我们选择内部12MRC振荡器作为系统时钟.图5.3 单片机振荡器类型选择框图系统时钟控制寄存器如表51所示:表51 系统时钟控制寄存器B2H第7位第6位第5位第4位第3位第2位第1位第0位CLKCON32k_SPDUPCLKS1CLKS0SCMIFOSC2ONFS-读/写读/写读/写读/写只读读/写读/写复位值(POR/WDT/LVR/PIN)1110003)复位电路设计本课题设计中,由于RST引脚内部接有30K上拉电阻,所以直接在RST引脚接GND就可实现上电复位功能,但为了防止系统出错时,可以方便复位系统,于是给出一种手动复位和上电复位结合电路,如图4-7。图5。4 复位电路
40、5.1。3详细说明1) 打开系统电源,初始化系统时钟下载设置中设置晶体谐振器,内部12MHz RC振荡器.当系统发生任何形式的复位,如上电复位,看门狗复位等时,系统时钟为OSC1CLK并自动进入32。768kHz加速模式,因此当系统稳定以后需要将系统时钟切换为OSC2CLK。切换方式为:打开OSC2CLK开关,并等待延时4个NOP指令,切换代码如下:CLKCON = 0x08;/系统时钟为_nop_();_nop_();_nop_();_nop_();CLKCON = 0x0C;/系统时钟选择为OSC2CLK2) 系统各模块功能初始化系统将对以下功能包括外部中断0、定时器2、EUART、ADC
41、、POWER、OP、PGA、PWM以及对端口属性进行初始化.初始化函数名(各函数调用位置视功能需求而定)如下:POWER_init();/电压初始化OP_init();/OP初始化PGA_init(); /PGA初始化Timer2_init(); /Timer2初始化EX01_init(x); /外部中断初始化pwm1_init(); /PWM1初始化SET_OUTPUT_PULL(port, pin); /端口初始化宏5。2温度传感器模块设计5.2.1温度传感器选型智能鱼缸控制系统的设计要求温度传感器具有很高的精确度,并且能够传回准确的温度值,根据鱼类的生活习性,测温范围为零下5度到50度之
42、间,传感器测量误差在零下5度到50度之间的精度为5,并且还需要良好的抗干扰能力。综合以上因素考虑,我们使用DS18B20型号数字温度传感器.测温分辨率可达00625.如图5.5表示DS18B20的方框图。主要由4部分组成:64位只读存储器储存器、温度传感器、非挥发的温度报警触发器TH和TL、温度配置寄存器.DSl8820的管脚排列是:DQ为数字信号输入输出端;GND为电源接地;VDD为外接供电电源输入。只读存储器储存器中的64位序列号是生产厂商在出厂以前烧写进DS18B20的不会被改变,因此这个可以当作是不同DSl8820的地址码,所以DSl8820只读存储器储存器中的的64位序列号均不相同。
43、DSl8820只读存储器储存器中的的64位序列号的作用是标识不同的DSl8820,因此多个DSl8820就可以连接到一根总线上协同工作.之所以存储在配置寄存器的数据在系统断开电源后任然能够保存,是因为他们是非易失性的可擦除程序寄存器(EEPROM)。图5。5 DS18B20方框图5。2。2温度传感器电路设计如图5。5表示DS18B20的电路图.DS18B20数字温度计通过一个I/O口发送或接受信息,所以在STC12C5A60S2单片机CPU和DS18B20数字温度计之间只要连一个I/O口就可以了。DSl8820芯片的引脚2与单片机P10口连接。使用外部5V电源供电,为保证在有效P的DSl882
44、0时钟周期内,链接能使该芯片正常工作的电流. 图5。4 DS18B20电路图5.3蓝牙串口模块设计5。3。1串口技术本课题所使用单片机STC12C5A60S2自带一路增强型通用异步收发器(EUART),是普通串口的增强版。该串口收发器特性:1.自带波特率发生器的EUART;2。波特率发生器就是一个15位向上计数器;3。增强功能包括帧出错检测及自动地址识别;4。EUART有四种工作方式。与普通串口相同,该串口收发器拥有四种工作方式:表5-2 EUART工作方式列表SM0SM1方式类型波特率帧长度起始位停止位第9位000同步fSYS /(4或12) 8位无无无011异步自带波特率发生器的溢出率/1
45、610位11无102异步fSYS /(32或64)11位110,1113异步自带波特率发生器的溢出率/1611位110,1几种工作模式分别为:1。方式0:同步,半双工通讯;2。方式1:8 位EUART,可变波特率,异步全双工;3。方式2:9 位EUART,固定波特率,异步全双工;4。方式3:9 位EUART,可变波特率,异步全双工。本课题中串口工作模式选则方式1:8 位EUART,可变波特率,异步全双工;波特率为9600.EUART自带一个波特率发生器,它实质上就是一个15位递增计数器(如图4-18)。图5。5 波特率发生器框图由图4-18可以得到波特率发生器的溢出率为:在方式1中,波特率可微调,精度为一个系统时钟,因此,EUART在