版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要该水温水位控制主要由AT89S52单片机控制,DS18B20温度传感器,数码管和报警系统组成。该系统能够实时显示测量水箱内实时温度,并以数码管显示屏的形式告知使用者。同时还能对水位进行实时监控,水位不足或者已满都可以让使用者得知,当水位已满时就会报警,提醒使用者及时关闭加水阀门。关键词:AT89S52单片机 温度控制 水位控制The Control of Measurement System of Water Level andTemperature of Solar Energy HeatingAbstract: the solar energy water heater mainly
2、by water level control AT89S52 SCM control, the temperature sensor DS18B20, LCD1602 LCD, clock and alarm system chip 1302. The system can real-time display the current date and time, and stopwatch function, measuring tank temperature, and real-time LCD inform the user. Also can real-time monitoring
3、of water shortage, water or already full allow users, when the water is full already will alarm, remind users timely close water valve. Through the Protues software simulation above mentioned function normal realization.Keywords: AT89S52 SCM Temperature control Water level control目录 前言3一、 总体设计4二、 硬件
4、设计42.1 温度传感器DS18B2042.1.1 DS18B20的主要特性:42.1.2 DS18B20的外形52.1.3 DS18B20主要的数据部件52.1.4 DS18B20电源供电方式电路图52.2水位传感器62.2.1原理图62.2.2说明使用72.4 蜂鸣器电路8三、 软件设计8四、整体设计84.1水位94.2水温9五、 系统调试10六、 总结10七、 参考文献10八、 附录11 前言单片机的应用技术是一项新型的工程技术,特别是随大规模集成电路的产生而飞速发展。目前,单片机以其体积小、重量轻、抗干扰能力强、对环境要求不高。可靠性高、性能价格比高、开发较为容易,在工业控制系统、数据
5、采集系统、智能化仪器仪表、设备自动化等诸多领域极为广泛的应用,都可见到单片机的踪影。目前市场上太阳能热水器的控制系统大部分都存在着或多或少的缺点:成本较高,操作复杂,控制不方便等。本设计中采用美国DALLAS半导体公司出产智能温度传感器DS18B20作为检测元件,测温范围为-55125摄氏度,最大分辨率可达0.0625摄氏度,可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和好使用的特点。本设计的水位传感器电路,省去了传统的A/D转换器,操作简单,控制方便。我们在日常的太阳能热水器的使用中,很少能预测出当时水温的高低,还有在给太阳能热水器补给水源时,其水位具
6、体什么时候能够加满也未能知晓,这就大大浪费了水资源,也给日程生活添加了不必要的开支,我在课程设计中基于单片机89S52能够准确的告知使用者热水器的即时温度,还能通过报警的模式告知使用者热水器储蓄罐已满,从而达到了节约水源,方便大众的目的。同时,也能告知使用者当时的日期和时间。此次课程设计中设计了一个简易的测量太阳能热水器水温,水位的装置,并能通过报警的形式告知使用者水位已满请关闭,我相信经过进一步的加工,一定会很好的运用到我们日常的生活中。1、 总体设计通过水位、水温传感器进行对温度计水位的采集,温度直接通过ds18b20后不用进行A/D转换,二采用四芯的水位传感器需在程序中才用A/的转换。然
7、后在数码管上显示出来,当水位到达最低、最高水位时,就开始报警。当温度超过预设的温度时,也要发出报警。单片机报警系统水位采集温度采集显示系统2、 硬件设计2.1 温度传感器DS18B202.1.1 DS18B20的主要特性:(1)电压范围较宽,电压范围:3.05.5V。(2)单线接口方式,DS18B20在与单片机连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三条线上,实现组网多点测温。(4)测温范围55125,在-10+85时精度为±0.5,精度较高。(5)可编程的分辨率为912位,对应的可分辨的
8、温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(6)在9位分辨率时最多能在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(7)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(8)负压特性:电源极性接反时,芯片不会烧毁,但不能正常工作。2.1.2 DS18B20的外形 1GND 地信号2DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD 可选择的VDD引脚。当工作于寄生电源时,此引脚必须接
9、地。2.1.3 DS18B20主要的数据部件DS18B20有2个主要的数据部件: (1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达
10、,其中S为符号位。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,温度报警触发器TH和TL,配置寄存器。2.1.4 DS18B20电源供电方式电路图(1)DS18B20寄生电源供电方式电路DS18B20寄生电源供电电路,如图5所示,要想让DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,靠上拉电阻是无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,图6电路只适用于单一温度传感器测温,也不宜采用电池供电,并且电源电压必须是稳压5
11、V。当电源电压下降时,会使测量的误差变大。 图5 DS18B20寄生电源供电电路 图6 DS18B20外部供电单点测温电路(2)DS18B20的外部电源供电方式DS18B20外部供电单点测温电路,如图7所示,DS18B20外部供电多点测温电路如图6所示。此时I/O线不需要强上拉电压,同时在总线上可以挂接多个DS18B20传感器,组成多点测温系统。但要注意在外部供电的方式下,DS18B20的GND引脚不能悬空,否则读取的温度总是85。 2.2水位传感器2.2.1原理图2.2.2说明使用4芯接口说明,4芯是四根线,其中二根接水位,二根接水温。水位是四个电阻串联,从下到上依次是30K,10K,10K
12、,10K。对应电极从下到上分别是:公共极,20%电极,50%电极,80%电极,100%电极 水温是一个10KNTC热敏电阻。25摄氏度是电阻为10K。测量传感器好坏最简单的方法是测量阻值,使用万用表电阻档 。4根线,找2根测量如果电阻无穷大,换其中一根线,直到有阻值,阻值在60K左右是水位,阻值在10K左右是温度,测试水位一组线,一根表笔接公共电极,一根表笔接水位电极,依次测量阻值如果阻值不对,就说明有开路,短路 等,机器就不会正常工作2.3显示电路2.4 蜂鸣器电路 蜂鸣器俗称喇叭(如图8),是广泛应用于各种电子产品的一种元器件,它用于提示、报警、音乐等许多应用场合。蜂鸣器通常工作电流比较大
13、,电路上的TTL电平基本上驱动不了蜂鸣器,需要增加一个电流放大的电路才可以。蜂鸣器由振荡器、磁铁、振动膜片以及外壳等组成,接通电源后,振荡器产生音频信号,电流通过电磁线圈使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。当P3.7端输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声,当P3.7端为低电平时,三极管导通,这样蜂鸣器中就有电流流过,就会发出声音因此,可通过程序来控制蜂鸣器的声音大小。 图8 蜂鸣器电路图3、 软件设计本设计的基本运行步骤是:接通电源温度传感器开始工作,数码管显示出温度与,当向水箱中倒入水后,到达第一个水位时此时数码管上显示直至到达水箱
14、的顶部,并且蜂鸣器报警,提醒用户水已满,关闭水阀,从而完成了对水位的控制。P1.4表示响铃警报端口通过判断是否导电,来检测水位所在,满水后达到报警目的,并断开注水连接,使蜂鸣器报警。四、整体设计4.1水位4.2水温五、 系统调试本设计采用KeilC51编译器进行源程序编译及仿真调试,同时用Protel进行硬件电路板的设计制作。硬件电路制作完毕,用万用表检测有无短路开路等现象,确定硬件电路没有错误时,用proteus进行仿真,运行程序进行调试。由于初次使用DS18B20器件,在程序设计过程中遇到很大难题,通过询问老师和查阅网络,得到相关信息,在同学的共同学习下,更深的了解了该元件的使用方法和相关
15、编程方式,并成功的运用到电路中。六、 总结经过这么长时间来不懈的努力与奋斗,我终于在老师的指导下完成了我的设计,本设计除了具有测量太阳能热水器水温水位的功能,还具有显示日期,时间,星期等的附加功能。虽然它还有很多需要完善的地方,在这次作品设计的过程中学到了很多东西,使我明白了很多书本上的东西不通过具体的实践是不能够领会其中的精髓的,我们必须通过自己的亲手实践,去经历失败了才能对所学知识达到真正的掌握。理论必须联系实际,而实践是检验真理的唯一标准,我真正的懂得了这句话的真谛。在我以后的工作和生活中,我从此可以汲取很多经验,凡事都要自己去动手,去实践一下,遇到困难,永远不要丧失一颗胜利的心,有耐心
16、,有信心,有细心,有恒心,有虚心,只有这样,我才会在逆境中不断前进,不断充实自己!7、 参考文献1赵建领编著.Protel电路设计与制版宝典.北京:电子工业出版社,20072程远东,曾宝国主编.电子设计与制作技术.北京:科学出版社,20113王秋爽,曾昭龙编著.单片机开发基础与经典设计实例.北京:机械工业出版社,20084凌阳科技编著.凌阳16位单片机开发实例.北京:北京航空航天大学出版社,20065黄智伟编著.全国大学生设计竞赛制作实训.北京:北京航空航天大学出版社,20116吴少军,刘光斌编著.实用低功耗设计原理、器件与应用.北京:人民邮电出版社,20037张金主编.电子设计与制作100例
17、(第2版).北京:电子工业出版社,20128零点工作室编著.精通Protel DXP 2004电路设计.北京:电子工业出版社,20069王振红,张常年编著.全国大学生电子设计竞赛赛前训练题精选.北京:化学工业出版社,201010张大明主编.单片微机控制应用技术实操指导书.北京:机械工业出版社,200711赵文博,刘文涛.单片机语言C51程序设计M北京:人民邮电出版社2006.12胡乾斌.单片微型计算机原理与应用M(第二版).武汉:华中科技大学出版社.2005.13Microchip Inc.PIC16/17 Microcontrollers Data Book.1995/1996.14马琨.几
18、种实用变压器和稳压电源的制作。电气时代.1999(1).15何立民.单片机应用系统抗干扰技术M.北京:北京航空航天大学出版社,2001.16陈家胜.太阳能热水器辅助电加热控制器的研制.电子技术,2000,27(10):8、 附录水位#include<reg52.h>/*包涵C52头文件*/#include<intrins.h>#defineunfloat unsigned float/*定义无符号浮点数*/#define uintunsigned long int /*定义无符号长整型量*/#defineuchar unsigned char/*/void accept
19、(); /*AD转换启动*/void wei(uint i);/*定义各位的计算*/void delay(); /*定义延时程序*/void display(uchar A,uchar B,uchar C); /*定义显示程序*/sbit START=P23;/*定义位*/sbit OE=P24;sbit EOC=P25;sbit D0=P30;sbit D1=P31;sbit D2=P34;sbit D3=P35;sbit beep=P37;uint led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/*一维数组,0123456789
20、*/uint read,s;uint a,b,c,d,m,n,t,tx,y,m,X,h;/*定义各个变量*/unsigned char adval; uchar A1,A2,A2t,A3, adval;/*/void main()/*主程序*/while(1)accept();read=P0; /*读数据*/wei(read);display(A1,A2,A3);/*/void accept()/*AD转换*/START=0;START=1;_nop_();START=0;while(EOC=0)display(A1,A2,A3);OE=1;void wei(int a)/*将二进制转换成十进
21、制计算*/ while(EOC!=1) P0=0xff; OE=1; a=P0; OE=0; if(a<=33) a=0; adval=a; if(a>=38&&a<=44) a=10; adval=a; if(a>=47&&a<=59) a=20; adval=a; if(a>=60&&a<=64) a=30; adval=a; if(a>=69) a=35; adval=a; A1=adval/100;/分出百,十,和个位 A2t=adval%100; A2=A2t/10; A3=A2t%10;
22、 display(A1,A2,A3);/*/void display(uchar A,uchar B,uchar C)/*显示程序*/P3=P3&0x0c;P1=ledB;/*点亮最高位*/D2=1;delay();P3=P3&0x0c;P1=ledC;/*点亮最低位*/D3=1;delay();/*/void delay()/*延时程序*/uint m,n;for(m=10;m>0;m-)for(n=10;n>0;n-);/*/*/ void fm() uint m; for(m=500;m>0;m-) beep=beep; delay(); void ba
23、ojing() if(adval>=35|adval<=0) fm(); 水温#include<reg52.h>#define uchar unsigned char #define uint unsigned int sbit DQ=P10; sbit DQ1=P11; /温度数据口sbit wx1=P20; /位选1sbit wx2=P21; /位选2sbit wx3=P22; /位选3sbit wx4=P23; /位选4sbit beep=P13;sbit led=P14;sbit led1=P15;unsigned int temp, temp1,temp2,
24、xs; /一号数据初始化unsigned int temp3, temp4,temp5, xs1; /一号数据初始化uchar code table=0xc0,0xf9,0xa4,0xb0,0x99, /共阳数码管 0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6;/*延时程序*/ void delay(unsigned int m) /温度延时程序 while(m-); void delay1(unsigned int m) unsigned int i,j; for(i=m;i>0;i-) for(j=110;j>0;j-); void Init_
25、DS18B20() /一号DS18B20初始化unsigned char x=0;DQ = 1; /DQ复位 ds18b20通信端口 delay(8); /稍做延时DQ = 0; /单片机将DQ拉低delay(80); /精确延时 大于 480usDQ = 1; /拉高总线 delay(4);x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);void Init_DS18B201() /二号DS18B20初始化unsigned char x=0;DQ1 = 1; /DQ复位 ds18b20通信端口 delay(8); /稍做延时DQ1 = 0; /单片机将D
26、Q拉低delay(80); /精确延时 大于 480usDQ1 = 1; /拉高总线 delay(4);x=DQ1; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);/*一号DS18B20程序*/*ds18b20读一个字节*/uchar ReadOneChar() unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i-) DQ = 0; / 高电平拉成低电平时读周期开始 dat>>=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; / delay(4); retur
27、n(dat); /*ds18b20写一个字节*/ void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i>0; i-) DQ = 0; /从高电平拉至低电平时,写周期的开始 DQ = dat&0x01; /数据的最低位先写入 delay(5); /60us到120us延时 DQ = 1; dat>>=1; /从最低位到最高位传入 /*读取ds18b20当前温度*/void ReadTemperature() unsigned char a=0; unsigned b=0; unsigned t=0; Init_DS18B20(); WriteOneChar(0xCC); / 跳过读序号列号的操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信技术网络安全操作手册
- 供应链关键节点中断紧急响应采购部门预案
- 珠宝领域产品质量承诺书(5篇)
- 合作开发新产品计划确认函(3篇范文)
- 新材料研发及产业化推广应用方案
- 心理健康及情绪调节操作手册
- 沟通渠道及平台使用规范手册
- 2026年临床医学检验技术考试操作规范模拟试卷培训试卷
- 企业文档管理与归档标准化手册
- 2023兰州新区幼儿园笔试裸考必看100题及答案
- 历史文化街区保护规划
- 2023年专利代理人专利法律知识考试试卷及参考答案
- 胆汁淤积性肝病课件
- 《电气控制与PLC》考试复习题库(含答案)
- 美军装备试验人员培养主要做法、特点及借鉴,军事技术论文
- GB/T 26559-2021机械式停车设备分类
- GB/T 19274-2003土工合成材料塑料土工格室
- 通用的决策树算法CARTClassificati课件
- 安全爬梯受力计算正文
- DB37-T 4401-2021养老机构分级护理服务规范
- 化工投料试车方案一
评论
0/150
提交评论