(完整word版)自动控制鱼缸电路图
鱼缸温度控制器ppt

CC4098引脚图
加热器与开关串联
五、AD/DC电源变换电路
电源变换电路
如图,电路工作原理为 右侧输入220V/50Hz的家用 电,经过C3作用而降压,VD 作为整流二极管使用起到整 流的作用,再经过DW的稳压, C4滤波,则在C4两端得到直 流电压Vo,其值大约为12V, 刚好用作直流电路供电。这 样就完成了使用家用电来为 直流电路供电的转换。另外, 采用家用电供电还方便了加 热器的供电,因为鱼缸专用 的加温器或加热器都采用市 电作为电源。
555时基集成耐压 4.5~16V Xc3=1/(2 πf C)
Ic3 = U / Xc
R1为510KΩ Rp为0-3.3MΩ C1为1000μ Td = 1.1(R1 Make Presentation much more fun
@WPS官方微博 @kingsoftwps
温 度 控 制 器 电 路 组 成
利用555时基集成电路来实现,该系统的工 作原理框图如图所示,主要由4部分组成:传感 器电路部分、AD/DC电源变换、555时基集成电 路和加热电路。通过传感器设定水温的控制范围 为20至24度,当温度在此之间时电路都会周而 复始的工作,从而达到可靠控制鱼缸中水温的目 的。
电接点可调试水银温度计
二、555时基集成电路
管脚的作用: 脚①是公共地端为负极; 脚②为低触发端TR; 脚③是输出端V,电流可达2000mA; 脚④是强制复位端MR; 脚⑤是控制端VC, 脚⑥为高触发端TH,也称阈值端; 脚⑦是放电端DIS; 脚⑧是电源正极VC。 主要参数: 电源电压4.5~16V。 输出驱动电流为200毫安。 作定时器使用时,定时精度为1%。作 振荡使用时,输出的脉冲的最高频率可达 500千赫。 使用时,驱动电流若大于上述电流时, 在脚输出端加装扩展电流的电路,如加一三 极管放大。
智能水族箱控制系统

哈尔滨工业大学华德应用技术学院毕业设计(论文)摘要智能水族箱控制系统, 所有的电路都是在单片机的控制下工作的,目前通常采用的是Motorola公司的MC6805系列的单片机,而本设计中采用了Intel公司的89C51作为控制核心,以单片机89C51为核心结合接口芯片及外围电路以实现水族箱的智能控制。
环境参数检测部分包含采集水体温度、水中含氧量和光照强度,它们由温度传感器Ds18b20和光敏电阻等,对养鱼的水温和光照强度进行测量,然后信号供CPU进行运算判断是否需要加热处理或辅助照明并显示在液晶上。
输出控制执行机由氧气补充模块、温度控制模块、辅助光照模块组成。
智能水族箱系统主要由单片机最小系统单元、液晶显示单元、加热电路、制冷电路、光照单元、氧气单元等部分组成。
关键词单片机;氧气控制;水族箱I哈尔滨工业大学华德应用技术学院毕业设计(论文)AbstractIntelligence aquarium control system, all of the circuit are under the control of the processor, usually use the current work is MC6805 series of Motorola company, and the design of microcontroller is adopted in the Intel company of 89C51 microcontroller as control core, with 89C51 as the core combine interface chip and periphery circuit to realize intelligent control of aquatic animals box. Environmental parameters testing section contains collecting water temperature, water oxygenation and illumination intensity, they by temperature sensor ds18b20 and photoconductive resistance, etc, to fish the water temperature and light intensity measurements and then signal which CPU calculations to decide whether it is necessary to heat treatment or assist illume and displayed on the LCD. Output control execution machine by oxygen supplement module, temperature control module, auxiliary light module.Intelligence aquarium system mainly consists of single chip minimize system unit, liquid crystal display unit, heating, cooling circuit circuit, illumination unit, oxygen unit components.Keywords AT89C51, Oxygen control; LCD displayII哈尔滨工业大学华德应用技术学院毕业设计(论文)目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 系统的开发背景 (1)1.2 系统的开发意义 (2)1.3 课题的研究内容 (2)第2章方案设计与论证 (4)2.1 控制芯片的选择 (4)2.2 温度传感器的选择 (5)2.3 显示模快的选择 (5)2.4 本章小结 (6)第3章硬件设计 (8)3.1 系统硬件结构框图 (8)3.2 主控模块分析 (9)3.2.1 AT89C51概述 (9)3.2.2 主要特性 (9)3.2.3 引脚说明 (9)3.3 温度信号采集单元 (12)3.3.1 DS18B20概述 (12)3.3.2 DS18B20内部结构 (12)3.3.3 DS18B20工作时序 (16)3.3.4 DS18B20与AT89C51的接口设计 (17)3.4 LCD1602液晶显示单元 (18)3.4.1 LCD1602简介 (18)3.4.2 LCD1602的基本参数及引脚功能 (19)3.4.3 LCD1602的指令说明及时序 (22)3.4.4 1602LCD的RAM地址映射及标准字库表 (24)3.4.5 1602LCD的一般初始化(复位)过程 (25)3.5 加热电路 (25)3.6 制冷电路 (26)3.7 DS18b20接口电路 (27)III哈尔滨工业大学华德应用技术学院毕业设计(论文)3.8 1602接口电路 (27)3.9 光敏电阻电路 (28)3.10 本章小结 (29)第4章软件设计及调试 (30)4.1 软件程序设计 (30)4.1.1 系统整体设计流程图 (30)4.1.2 温度采集模块设计 (31)4.1.3 显示模块程序设计 (32)4.1.4 按键模块程序设计 (32)4.2 系统硬件调试 (33)4.3 软件程序调试 (34)4.3.1 软件环境 (34)4.3.2 软件调试 (35)4.3.3 系统联调 (36)4.4 本章小结 (36)结论 (37)致谢........................................................................................ 错误!未定义书签。
DIY鱼缸自动换水装置,微量换水,原理示意图+详细过程

DIY鱼缸自动换水装置,微量换水,原理示意图+详细过程摘自《南美水族》,作者:lonewolf本装置可实现什么:全自动微调换水,根据排水速率来控制换水量,完全不用人工参与,同时非常方便改变换水量,懒人的福音。
同时,如果你希望你的鱼缸水质稳定不波动,那么这也是一个非常好的解决方案开篇先扯,是我的习惯。
为什么DIY自动换水装置,是因为1.首先,我是一个懒人,每天让我去换水,我经常忘记,并且用水管加水,经常加水忘记关水龙头,最后水漫金山,若干次之后,受不了了2.由于草缸草长势不好,发帖,别人回帖说可能跟水质波动有关,想想也是,每次换水1/5,直接加自来水,水质不波动才怪,而DIY一个自动换水,有规律的高频率少量换水,可以保持水质稳定3.过年回家的时候,长时间不在屋里,水蒸发后导致水位下降,甚是头疼4.我的鱼缸进水管带除油膜功能,而水位的高低变化让我不得不经常调整除油膜的高度,很烦5.我很懒6.还没想起来基于以上6条灰常重要的原因,勤快的潜意识不停地激励我,于是在我筹备DIY滤桶购买了一堆工具之后,先拿这些工具试手做个DIY 自动换水装置。
某天公交车闲来无事,上车思索,下车想法成型,原理如下:通过水位控制器来控制电磁阀开关,水位低则补水,水位高则停止补水,完活。
(浏览器和显示器分辨率原因,图片右侧不能完全显示的,请点击图片看大图)请看下图:再补充下排水原理:由于平时电磁阀是关上的,所以三通其实就是个两通,由于排水管另外一头低于水位线,所以水会自动通过排水管流出去,通过控制输液管流量调节器,可以控制排水速度。
当排水过多,水位控制开关上的浮漂下沉,导致开关连通,电磁阀打开,开始加水,加水到一定位置,浮漂上升,导致开关关闭,停止加水,同时继续排水由此可见,我这个图是24小时排水+进水,通过调整排水速度,可以做到每天固定流量的的平缓换水,维持水质稳定,同时,你可以不用关心电磁阀如何开关,你只用关心排水量就行了。
鱼缸自动恒温电路

这个鱼缸自动恒温器可用于养殖爱好者喂养热带鱼类用,电路简单,效果较好。
工作原理该电路如图1(点此下载原理图)。
当水温低于设定温度(热带鱼通常为23-27℃)时,3AX31(作热敏传感器)的Iceo变小,其呈现的阻值增大,a点为低电平,经IC1A反相后输出高电位,VT2导通,继电器j1吸合,热转换器R4工作。
反之,则a点为高电平,VT2截止,j1释放,R4断电。
元器件选择与制作元器件清单见下表。
名称型号数量编号R1 电阻820 1R2 电阻 1.2M 1R3 电阻 1.5K 1RL 烙铁芯(热转换器)20-100W 1RP 微调电阻680K 1C 电解电容220u/25V 1VD1-VD5 整流二极管IN4001 5VT1 晶体三极管3AX31 1VT2 晶体三极管9013 1IC1A 六反相器CD4069、CD4049 1J 电磁继电器JRX-13F12v 1T 电源变压器10V2-5W 1S 钮子开关 1热敏元件选用感温变化曲线较好的锗三极管3AX31、3AX34等,反相器用CD4049或CD4069等。
电源变压器用10V、2-5W的小型变压器。
感温头及热转换器的制作见图2。
找一小块合适的有机玻璃打好孔(半沉孔见示意图),让晶体管3AX31正好能放入,将剪短管脚并接好引线的晶体管装入孔内,再用环氧树脂注满小孔,待环氧树脂彻底干后即可使用。
热转换器用20-100W的烙铁芯(功率视鱼缸容积而定),试管选用长20cm、内径2cm的。
先将烙铁芯引线接好,放入试管中,然后放入导热良好的石晶沙,最后用橡皮塞将试管口密封好(最好也用环氧树脂密封)。
先将感温头、热转换器及温度计置于水中,调整RP,观察温度计,使温度控制在23-27℃即可投入使用。
水族箱温度控制系统硬件设计

摘要摘要现在越来越多的家庭和公共场所都摆上了各种水族箱。
但作为大部分小型的家庭水族箱设备,都需要人为的手工操作,这给饲主带来了很大的不便。
人们有时会因繁忙的工作,忽视了对观赏鱼的照顾。
本文通过对目前大多数水族箱控制设备应用现状的分析和研究,提出了一种多功能的观赏鱼缸智能控制系统的设计方案。
该控制系统基于89系列单片机的家庭水族箱控制系统。
整套系统以STC89C51单片机为核心芯片,结合传感器技术、继电器原理、C语言编程等技术,集多种控制功能于一体,包括恒温、自动换水、自动喂食、自动水循环等,并可根据需要增加控制参数,通过选择不同元器件控制成本。
本文从功能设计、元器件选择、硬件电路设计和软件设计等几个方面对该控制系统进行阐述。
通过调试期间的运行,表明该控制系统运行稳定可靠、操作简单方便、具有多种节电工作模式。
同时该系统设计灵活、结构简单、成本低廉,易于规模化生产,可广泛用于家庭和宾馆等安装观赏鱼缸的场所。
关键词自动控制;单片机;水族箱;传感器技术AbstractNow, more and more families and public places are put on all kinds of aquarium. As most of the small home aquarium equipment need artificial manual, which brought great inconvenience to the owners. It is sometimes due to busy work, ignoring the care of ornamental fishThis article through to the present most aquarium control device application present situation analysis and research, put forward a kind of multifunctional ornamental fish design scheme of intelligent control system. The control system based on the 89 Series MCU family aquarium control system. The entire system to the STC89C51single-chip microcomputer as the core chip, combined with the sensor technology, relay principle, C language programming technology, sets a variety of control functions, including temperature, automatic water, automatic feeding, automatic water circulation and so on, and may need to increase the control parameters, through the selection of different components of cost control. This article from the function design, components selection, hardware circuit design and software design aspects of the control system are described.Through long time operation test, it shows that the control system is stable and reliable, the operation is simple and convenient, has a variety of energy-saving operation mode. At the same time the system flexible design, simple structure, low cost, easy mass production, can be widely used in families and hotels and other places of installation of ornamental fish.Keywords: automatic control Series MCU aquarium sensor technology目录摘要 (I)Abstract (II)1 绪论 (1)1.1选题背景 (1)1.2国内外研究现状及发展趋势 (1)1.3主要研究内容 (2)1.4课题研究的步骤 (3)2 系统的总体设计 (4)2.1概述 (4)2.2系统的设计要求 (4)2.3 系统总体方案功能 (5)2.3.1 系统的功能组成与控制参数 (5)2.3.2 系统的硬件结构框图 (5)2.4 本章小结 (6)3 系统的硬件设计 (8)3.1硬件总体结构 (8)3.2主要元器件的选取 (9)3.2.1 单片机的选取 (9)3.2.2 3-8译码器和LED数码管动态显示的选取 (11)3.3 各模块硬件设计 (13)3.3.1 时钟电路设计 (13)3.3.2 键盘控制与显示模块设计 (14)3.3.3 温度控制模块 (15)3.3.4 其他模块设计 (16)4 系统的软件设计 (22)4.1 主程序工作流程 (22)4.1.1 主程序工作流程图 (22)4.2 时间和温度读取模块 (23)4.2.1 读取DS1302的时钟 (23)4.2.2 读取DS18B20的温度 (24)4.4 E2PROM模块 (25)4.5 本章小结 (26)5 总体设计的展望 (27)5.1 创新点与应用范围 (27)5.1.1 设计总结 (27)5.1.2 创新点 (27)5.1.2 应用范围 (28)5.2 展望 (28)5.3 本章小结 (28)结论 (29)致谢 (30)参考文献 (31)附录1 (32)1 绪论1.1选题背景随着我国经济的发展和人民生活水平的大幅度提高,人们的消费观念变化很大,消费档次与水平都在提高,人们的生活品味越来越高,环境的个性化、环保化也越来越受到人们的重视,与之相关的休闲、居家装饰等行业相应的日显蓬勃发展趋势。
鱼缸温度控制系统.

EL背光源结构
LED背光源
• LED(Light Emitting Diode(发光二极管)) • 主要特性:
– 亮度均匀 – 使用寿命长(10^5h) – 低电压驱动,不需要逆变器 – 颜色丰富
LED背光源结构
CCFL vs EL vs LED
光源 LED EL CCFL 形式 点光源 面光源 线光源 均匀度 不好 极好 好 功耗 大 小 较大 应用 小尺寸 中、小尺寸 大尺寸 成本 低 较高 高 专用电源 无 有 有
开口率
• 什么是开口率?光线能透过LCD的有效区 域的比例 • 开口率直接决定了LCD的亮度
开口率的计算
开口率计算举例
• 光线从背光板发射出,依次经过一下几个 零件,各个零件的穿透率如下:
– 偏光片:50% – 玻璃:95% – 液晶:95% – 开口率:50% – 彩色滤光片:27%
• 计算光线的总通过率
彩色TN-LCD屏结构
• 结构说明
–1 – 2&3 –4 – 5&6 –7 –8 玻璃基材 方向互相垂直的偏光板 彩色滤光片 方向互相垂直的电极 配向膜 垫片(spacer)
TFT-LCD切面结构图
LCD部分
• • • • • • • • 偏光板 玻璃基板 Black matrix 彩色滤光片 配向膜 框胶和Spacer 薄膜晶体管 存储电容
LCD背光源分类
• CCFL背光源 • EL背光源 • LED背光源
CCFL背光源
• CCFL(冷阴极荧光灯):充满惰性气体的密 闭玻璃管
CCFL背光源结构
EL背光源
• 场致发光片(EL冷光片):将发光粉(荧 光粉)置于两个平板电极之间构成 • 发光原理:发光材料中电子在电场的作用 下碰撞发光中心,出现电力并发生能级跃 迁而导致发光 • 平面光源
水族箱温度控制系统

水族箱温度控制系统(一)系统的概述本系统以AT89C51单片机为控制核心的测控仪,主要是为了对水族箱内的温度控制而设计的。
该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。
(二)系统的要求本系统通过单片机AT89C51控制,用18B20数字温度计采集温度。
通过LCD 显示屏显示当前温度,当温度高于20℃,马达将带动风扇的转动,实现自动控制水族箱里的温度.并且随着温度每升高2℃,马达的转动速率提高一倍。
当检测到的温度高于25℃时,发出报警信号。
本设计将实现水族箱温度的自动化控制。
用protues软件绘制电路原理图,再根据电路原理图捍接电路板。
捍接的电路板实现温度的自动化控制。
(三)系统的主要模块1.本系统的主要组成部分本系统为一个全自动温度检测与控制系统,由以下几个部分组成:AT89C51单片机,温度检测,显示电路,马达,及报警装置等组成。
组成图如图1-1。
温度检测装置AT89C51显示设备马达控制报警装置图 1-1 温度自动控制主要组成部分由图1-1所示,本系统的核心部分是AT89C51,此芯片是该电路的枢纽。
由它先控制着温度的检测,用检测到的温度实现马达的自动控制,以及显示。
若检测到的温度高于设定的值,则发出报警信号。
2. 各部分的功能(1)AT89C51单片机:它是系统的中央处理器,担负着系统的控制和运算。
(2)温度检测装置:18B20数字温度计对水族箱内温度进行采集,将温度转换成数字。
(3)显示设备:主要是用于显示检测到的水族箱温度。
(4)马达:主要用于带动风扇的转动。
(5)报警装置:产生报警信号。
二、系统的硬件组成电路设计系统的硬件组成部分包括:主控制器AT89C51单片机、温度传感器DS18B20、显示电路LED、马达、报警装置等构成。
AT89C51连接各模块的主控制端口,初步选定将要运用到的电子元器件,再用Protues绘制原理图,再根据原理图捍接电路板。
水族箱温度控制系统

水族箱温度控制系统(一)系统的概述本系统以AT89C51单片机为控制核心的测控仪,主要是为了对水族箱内的温度控制而设计的。
该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。
(二)系统的要求本系统通过单片机AT89C51控制用18B20数字温度计采集温度。
通过LCD 显示屏显示当前温度,当温度高于20C,马达将带动风扇的转动,实现自动控制水族箱里的温度.并且随着温度每升高2C,马达的转动速率提高一倍。
当检测到的温度高于25C时,发出报警信号。
本设计将实现水族箱温度的自动化控制。
用protues软件绘制电路原理图,再根据电路原理图捍接电路板。
捍接的电路板实现温度的自动化控制。
(三)系统的主要模块1.本系统的主要组成部分本系统为一个全自动温度检测与控制系统,由以下几个部分组成:AT89C5单片机,温度检测,显示电路,马达,及报警装置等组成。
组成图如图1-1。
图1-1温度自动控制主要组成部分由图1-1所示,本系统的核心部分是AT89C51此芯片是该电路的枢纽。
由它先控制着温度的检测,用检测到的温度实现马达的自动控制,以及显示。
若检测到的温度高于设定的值,则发出报警信号。
2.各部分的功能(1)AT89C51单片机:它是系统的中央处理器,担负着系统的控制和运算。
(2)温度检测装置:18B20数字温度计对水族箱内温度进行采集,将温度转换成数字。
(3)显示设备:主要是用于显示检测到的水族箱温度。
(4)马达:主要用于带动风扇的转动。
(5)报警装置:产生报警信号。
二、系统的硬件组成电路设计系统的硬件组成部分包括:主控制器AT89C51单片机、温度传感器DS18B20、显示电路LED、马达、报警装置等构成。
AT89C51连接各模块的主控制端口,初步选定将要运用到的电子元器件,再用Protues绘制原理图,再根据原理图捍接电路板。
(一)系统总硬件设计首先对硬件系统18B20定义端口为P2.0,P2.1,P2.2和P0 口控制LCD的显示,定义端口P1.5为马达控制端口,P1.7为发光二极管控制端口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录1。
电路图2.程序代码#include <reg52.h〉#include ”delay。
h”#include ”ds18b20.h"#include ”LCD1602。
h"#include "ds1302.h”sfr T2MOD = 0xC9;sbit Heat = P0^4;sbit IN1=P0^3;sbit IN2=P3^5;sbit IN3=P3^6;sbit IN4=P3^7;sbit LED1=P3^2;sbit LED2=P3^3;//水温控制相关参量int tempval = 0;float tmp_new=0;float tmp_old=0;uchar tmp_set1 = 30;uchar tmp_set2 = 35;float tmp_set = 50;float Ctrl_P = 0。
8;float PWM = 0;float cnt=0;//喂食、光照、氧循环相关参量uint FeedInterval=30;//喂食间隔时间uint FeedTime=10;//喂食时间uint OxygenInterval=30;uint OxygenTime=10;uint LightInterval=30;uint LightTime=10;uint FeedInterval_cnt;uint FeedTime_cnt;uint OxygenInterval_cnt;uint OxygenTime_cnt;uint LightInterval_cnt;uint LightTime_cnt;uchar Time_cnt=0;//设定参数相关变量uchar SetTimeFlg=0;uchar SetFeedFlg=0;uchar SetOxygenFlg=0;uchar SetLightFlg=0;uchar FeedFlg=0;uchar OxygenFlg=0;uchar LightFlg=0;uchar data_zancun=0;uchar TestNum=0;void Init_timer(void){RCAP2H=(65536—38400)/256;RCAP2L=(65536—38400)%256;TH2=RCAP2H;TL2=RCAP2L;T2CON=0;T2MOD=0;ET2=1;TR2=1;EA=1;}void Zhengzhuan(void){uchar i;for(i=0;i〈128;i++){IN1=0;IN2=1;IN3=1;IN4=1;delay1ms(1);IN1=0;IN2=0;IN3=1;IN4=1;delay1ms(1);IN1=1;IN2=0;IN3=1;IN4=1;delay1ms(1);IN1=1;IN2=0;IN3=0;IN4=1;delay1ms(1);IN1=1;IN2=1;IN3=0;IN4=1;delay1ms(1);IN1=1;IN2=1;IN3=0;IN4=0;delay1ms(1);IN1=1;IN2=1;IN3=1;IN4=0;delay1ms(1);IN1=0;IN2=1;IN3=1;IN4=0;delay1ms(1);}void Fanzhuan(void){uchar i;for(i=0;i<128;i++){IN1=0;IN2=1;IN3=1;IN4=0;delay1ms(1);IN1=1;IN2=1;IN3=1;IN4=0;delay1ms(1);IN1=1;IN2=1;IN3=0;IN4=0;delay1ms(1);IN1=1;IN2=1;IN3=0;IN4=1;delay1ms(1);IN1=1;IN2=0;IN3=0;IN4=1;delay1ms(1);IN1=1;IN2=0;IN3=1;IN4=1;delay1ms(1);IN1=0;IN2=0;IN3=1;IN4=1;delay1ms(1);IN1=0;IN2=1;IN3=1;IN4=1;delay1ms(1);}}void PageClear(void){uchar i;write_com(0x80);for(i=0;i<16;i++)write_data(’ ');write_com(0xc0);for(i=0;i〈16;i++)write_data(' ’);}void KeyScan(void){uchar temp;P2 = 0xfe;temp = P2;temp = temp&0xf0;if(temp != 0xf0){delay1ms(10);temp = P2;if(temp != 0xf0){switch(temp){case 0xe0:{//TestNum=0;data_zancun=0;PageClear();SetLightFlg=0;SetFeedFlg=0;SetTempFlg=0;SetOxygenFlg=0;SetTimeFlg++;if(SetTimeFlg==7)SetTimeFlg=1;}break;//时间case 0xd0:{TestNum=7;data_zancun++;if(data_zancun==3)data_zancun=1;}break;//数字键7case 0xb0:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=4;}break;//数字键4case 0x70:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=1;}break;//数字键1 }while(temp != 0xf0){temp = P2;temp = temp&0xf0;}}}P2 = 0xfd;temp = P2;temp = temp&0xf0;if(temp != 0xf0){delay1ms(10);temp = P2;temp = temp&0xf0;{switch(temp){case 0xe0:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=0;}break;//数字键0case 0xd0:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=8;}break;//数字键8case 0xb0:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=5;}break;//数字键5case 0x70:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=2;}break;//数字键2 }while(temp != 0xf0){temp = P2;temp = temp&0xf0;}}}P2 = 0xfb;temp = P2;temp = temp&0xf0;if(temp != 0xf0){delay1ms(10);temp = P2;temp = temp&0xf0;if(temp != 0xf0){switch(temp){case 0xe0:{//TestNum=8;PageClear();SetTempFlg=0;SetLightFlg=0;SetOxygenFlg=0;SetFeedFlg=0;if(SetTimeFlg!=0){SetTimeFlg=0;}data_zancun=0;}break;//确定键case 0xd0:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=9;}break;//数字键9case 0xb0:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=6;}break;//数字键6case 0x70:{data_zancun++;if(data_zancun==3)data_zancun=1;TestNum=3;}break;//数字键3 }while(temp != 0xf0){temp = P2;temp = temp&0xf0;}}}P2 = 0xf7;temp = P2;temp = temp&0xf0;if(temp != 0xf0){delay1ms(10);temp = P2;temp = temp&0xf0;if(temp != 0xf0){switch(temp){case 0xe0:{//TestNum=12;data_zancun=0;PageClear();SetLightFlg=0;SetFeedFlg=0;SetTempFlg=0;SetTimeFlg=0;SetOxygenFlg++;if(SetOxygenFlg==3)SetOxygenFlg=1;}break;//氧气data_zancun=0;PageClear();SetFeedFlg=0;SetTempFlg=0;SetTimeFlg=0;SetOxygenFlg=0;SetLightFlg++;if(SetLightFlg==3)SetLightFlg=1;}break;//照明case 0xb0:{//TestNum=14;data_zancun=0;PageClear();SetLightFlg=0;SetTempFlg=0;SetTimeFlg=0;SetOxygenFlg=0;SetFeedFlg++;if(SetFeedFlg==3)SetFeedFlg=1;}break; //喂食case 0x70:{data_zancun=0;PageClear();SetLightFlg=0;SetFeedFlg=0;SetTimeFlg=0;SetOxygenFlg=0;SetTempFlg++;if(SetTempFlg==3)SetTempFlg=1;}break;//温度}while(temp != 0xf0){temp = P2;temp = temp&0xf0;}}}if(SetTimeFlg){switch(SetTimeFlg){case 1:{if(data_zancun==1){time_date[6]&=0x0f;else if(data_zancun==2){time_date[6]&=0xf0;time_date[6]|=TestNum;} }break;case 2:{if(data_zancun==1){time_date[4]&=0x0f;time_date[4]|=TestNum〈<4;}else if(data_zancun==2){time_date[4]&=0xf0;time_date[4]|=TestNum;} }break;case 3:{if(data_zancun==1){time_date[3]&=0x0f;time_date[3]|=TestNum〈〈4;}else if(data_zancun==2){time_date[3]&=0xf0;time_date[3]|=TestNum;} }break;case 4:{if(data_zancun==1){time_date[2]&=0x0f;time_date[2]|=TestNum〈〈4;}else if(data_zancun==2){time_date[2]&=0xf0;time_date[2]|=TestNum;}}break;case 5:{if(data_zancun==1){time_date[1]&=0x0f;time_date[1]|=TestNum〈<4;}time_date[1]&=0xf0;time_date[1]|=TestNum;}}break;case 6:{if(data_zancun==1){time_date[0]&=0x0f;time_date[0]|=TestNum〈〈4;}else if(data_zancun==2){time_date[0]&=0xf0;time_date[0]|=TestNum;} }break;}}else if(SetTempFlg){switch(SetTempFlg){case 1:{if(data_zancun==1){tmp_set2=TestNum*10+tmp_set2%10;}else if(data_zancun==2){tmp_set2=TestNum+10*(tmp_set2/10);} }break;case 2:{if(data_zancun==1){tmp_set1=TestNum*10+tmp_set1%10;}else if(data_zancun==2){tmp_set1=TestNum+10*(tmp_set1/10);}}break;}}else if(SetFeedFlg){switch(SetFeedFlg){case 1:{{FeedInterval=TestNum*10+FeedInterval%10;}else if(data_zancun==2){FeedInterval=TestNum+10*(FeedInterval/10);} }break;case 2:{if(data_zancun==1){FeedTime=TestNum*10+FeedTime%10;}else if(data_zancun==2){FeedTime=TestNum+10*(FeedTime/10);} }break;}}else if(SetLightFlg){switch(SetLightFlg){case 1:{if(data_zancun==1){LightInterval=TestNum*10+LightInterval%10;}else if(data_zancun==2){LightInterval=TestNum+10*(LightInterval/10);} }break;case 2:{if(data_zancun==1){LightTime=TestNum*10+LightTime%10;}else if(data_zancun==2){LightTime=TestNum+10*(LightTime/10);}}break;}}else if(SetOxygenFlg){switch(SetOxygenFlg)case 1:{if(data_zancun==1){OxygenInterval=TestNum*10+OxygenInterval%10;}else if(data_zancun==2){OxygenInterval=TestNum+10*(OxygenInterval/10);} }break;case 2:{if(data_zancun==1){OxygenTime=TestNum*10+OxygenTime%10;}else if(data_zancun==2){OxygenTime=TestNum+10*(OxygenTime/10);}}break;}}}void MainPage(void)//主界面{uchar i;tmp_set = (float)(tmp_set1+tmp_set2)/2。