基于单片机的智能温控系统的设计与实现_第1页
基于单片机的智能温控系统的设计与实现_第2页
基于单片机的智能温控系统的设计与实现_第3页
基于单片机的智能温控系统的设计与实现_第4页
基于单片机的智能温控系统的设计与实现_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的智能温控系统的设计与实现文档编制序号:KK1DT-LLE0828-LLETD298-POI08课程设计报告设计名称基于单片机的智能温控系统的设计与实现学 校陕西电子科技职业学院学 院电子工程学院学生姓名 王一飞班 级1507指导教师聂弘颖时 间2017年10月23日一、概述随着嵌入式技术、计算机技术、通信技术的不断发展与成熟。控制系统以其直观、 方便、准确、适用广泛而被越来越广泛地应用于工业过程、空调系统、智能楼宇等。恒 温控制系统,控制对象是温度。温度控制在曰常生活及工作领域应用的相当广泛,比如 温室、水池、发酵缸、电源等场所的温度控制,而以往温度控制是由人工完成的而且不 够重视

2、,其实在很多场所温度都需要监控以防止发生意外。针对此问题,本系统设计的 目的是实现一种可连续高精度调温的温度控制系统,它应用广泛,功能强大,小巧美 观,便于携带,是一款既实用又廉价的控制系统。本项目设计是对温度进行实时监测与控制,设计的温度控制系统实现了基本的温度 控制功能:被控温度范围可以调整,初始范围25=T=35O如果被测温度在25度到35 度之间,则既不加热,又不报警;如果被测温度小于25度,则既加热,又报警;如果 被测温度大于35度,则报警,不加热。数码管显示温度,温度精确到整数。二、方案设计采用单片机+单总线DS18B20的方案,其中单片机采用51兼容系列三、详细硬件设计及原件介绍

3、单片机最小系统在基于单片机的应用系统中,其核心是单片机的最小系统,而单片机又是最小系统 的核心,为了方便起见,采用的单片机型号是:STC89C52RC,内部资源有:8KBFLASH , 512B SRAM, 4个8位I/O, 2个TC, 1个UART,带ISP和IAP功能。是近年来流行 的低端51单片机。时钟电路采用晶体,复位电路采用简单的RC复位电路。R=10K, OlOuF,详细电路见总体原理图DS18B20 简介DS18B20是采用“wire。一线总线传输数据的集成温度传感器,信息经过单线接口送 入DS18B20或从DS18B20送出,因此从中央处理器到DS18B20仅需连接一条线。可采

4、用 外部电源供电,也可采用总线供电方式,此时,把VDD连接在一起作为数字电源。因为每一个DS18B20有唯一的系列号(silicon serial number),因此多个 DS18B20可以存在于同一条单线总线上,这允许在许多地方放置温度灵敏器件。此特性 的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测。TO OTHER 1-WIREDEVICESEXTERNAL +5V SUPPLYDS18B20与单片机接口VCC4. 7KDS13B20|1 12 I 3I/O图3.4外部电源供电方式四、总体原理图见附录1 五、程序设计1、主程序流程图六、项目总结通过对该项目的设计制作,我对

5、简单的单片机控制系统的开发过程有了比较全面的理解在这次实习中,我的体会有:L细心,制作硬件和编写程序,调试程序,都需要细心,否则很容易失败。2 .基础,单片机不是万能的,它需要外部硬件电路的配合,这些电路不复杂,但是 要弄明白它的原理,还是要下一番功夫的。像基础的电子焊接,测量,元件的识别等都 是。3 .团队合作,由于时间的关系,每个项目由几个人合作,这时就特别需要团队合作 意识。4 .撰写设计文档,对写设计文档总感到是一种累赘反正实物已经出来了,有没 有文档关系不大。现在需要在设计过程中随时记录一些东西,最后整理成设计文档。5 .将一个大的问题分割成几个相对独立的部分,更容易解决。附录1:电

6、路原理图eaoRJ.IORW 想必圈 1KJ AOSP g RWE ro gg hj.MorP23WF23*1nxc rxiEO 叱 W4TU”所r74”PJ.SrTi , ”。雌 fr而BaSBBOEBRP1附录2 :代码:#include(1)名称:温控系统包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义/#include#define uchar#define uintunsigned charunsigned int/*.,.,.,.,定义端口/ 孑好j好才好孑好好4好才好,好孑好才好孑好好44、才好,好孑好才好孑好好44、才好,好孑好才好孑好好44、才好,好孑好才好孑好

7、好44、才好,好孑好才好孑好好44、才好,好孑好才好孑好好44、才好,好孑好才好孑好好44、才好,好孑好/sbitDQ=P27;/dsl8b20 端口sbit ledj=P1U;加热 sbit ledb=Pl;报警 sbit keyup=P30; /温度加sbit keydn=P3 1; /温度减l/W * W J|W wW * W J|W wW * W J|W wW * W J|W wW * W J|W wW * W J|W wW * W J|W wW * W J|W w /*全局变量I9;孑wA wwA wA WA WA WA WA WA W /uint tmax=30;uint tmin

8、=26;uint temp;uchar shi, ge, temph, i, j, x;uchar code tab= 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c,/*0x39, 0x5e, 0x79, 0x71 ;/7段数码管段码表共阳函数声明9f A A A A A A A A Junsigned int ReadWD(void); void csh(void);unsigned char ReadOneChar(void);void void void voidWriteOneChar(uc

9、har dat); delay(uint i);xs(uchar shi,uchar ge); sjcl();主函数 ,J JJ、 g J. 、 . jI j g g J. 、 .、j g g JQ 、. j jJ g g J. 、 . j JJ g JQ 、 . jI j g g JQ .、 . jI JJ J. *g J. .、 . j j g J. 、 .I j void main() /unsigned char temph; while(1)if (keyup=0)for(j=0;j20;j+) for(i=0;i20;i+)shi=tmax/10; ge=tmax%10; xs(s

10、hi, ge);)delay (5000);shi=10;ge=10;xs(shi, ge);if (keyup=0) tmax+;while(keyup=0);)if(keydn二二0) tmax一;while(ke5rdn=0);)else if(keydn=0)for(j=0;j20;j+) for(i=0;i4;shi=temph/10; 十位温度ge=temph%10; 个位温度xs(shi, ge); 显示温度sjcl();数据处理)I9/*显示函数void xs(uchar shi,uchar ge)P2=2;P0=tabshi;delay(500);P2=3;P0=tabge;

11、delay(500);P2=4;P0=0xc6;delay(500); I、/? ,、)? ,、)? ,、)? ,、)? ,、)? ,、)? ,、)? ,、4I/4, 4,界,乙三乙,4, 4,界,乙三乙,4, 4,界,乙三乙,4, 4,界,乙三乙,4, 4,界,乙三乙,4, 4,界,乙三乙,4, 4,界,乙三乙,4, 4,界,乙三乙,/数据处理函数tt/ 乙,八,八,八,八,八,八,八,八,/void s jcl ()if(temphtmax) ledj=l;ledb=0;else if(temph=tmin&temph0;i)DQ = 0; /给脉冲信号dat=l;DQ = 1; /给脉冲

12、信号if(DQ=l) dat =0x80;delay (5);return (dat);)I9写一个字节void WriteOneChar(unsigned char dat)unsigned char i=0; for (i=8;i0;i-)DQ = 0;DQ = dat&OxOl;delay (5);DQ = 1;dat=l;)delay(5);/*冰/读取温度/*/unsignedint ReadWD(void)unsigned unsigned unsigned csh();char a=0;int b=0;int t=0;WriteOneChar(OxCC) ; /跳过读序号列号的操

13、作WriteOneChar (0x44) ; / 启动温度转换delay(200);csh();WriteOneChar (OxCC); 跳过读序号列号的操作WriteOneChar(OxBE); 读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar (); 低位b=ReadOneChar () ;/ 高位b=8;t=a+b;return(t);)(2)名称:DS18B20温度计,温度值由单片机发给上位机并显示(扩展功能程序)名称:18B20温度传感器,温度在上位机显示公司:陕西圣弘科技有限公司编写:赵进全日期:#include 包含头文件,一般情况不需要改动,头文件包

14、含特殊功能寄存器的定义#include/SincludeO#define uchar unsigned char#define uint unsigned intII*w |W W |W W |W W |W W |W W |W W |W W |W /定义端口/*/sbit DQ=P27;/dsl8b20 端口*,/*全局变量/*/uint temp;uchar shi, ge, bh;uchar code tab=0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,Ox7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x

15、71;7段数码管段码表共阳/*函数声明It/ unsigned int ReadWD(void);void csh(void);unsigned char ReadOneChar(void);void WriteOneChar(uchar dat);void delay(uint i);void xs(uchar shi,uchar ge);l/W J|W W J|W W J|W W J|W W J|W W J|W W J|W W J|W /主函数void init_com(void) 串 口初始化函数TM0D=0X20; 定时器1定时方式2/PCON=OXOO;SC0N=0X50; 串口方式

16、1,允许接收TH1=OXFD;波特率为 9600TL1=0XFD;TR1=1;void comm (char *parr) 串口发送数据函数( do(SBUF =*parr+;发送数据while(!TI) ;/数据发送完标志位1TI=0;标志清0while(*parr);保持循环直到字符为0main()主函数unsigned char TempH, buff2; init_com();while (1)temp=ReadWD(),/定时读取当前温度TempH=temp4;shi=TempH%100/10; 十位温度ge=TempH%100%10; 个位温度bh=0x39;显示C符号xs (sh

17、i, ge);sprintf (buff,飞d”, temp4); 将整型温度转换成字符型comm (buff);将字符型温度由串口发送到上位机void xs(uchar shi,uchar ge)P2=l;P0=tabshi;delay(500);P2=2;POO;P0=tabge;delay (500);P0二 0;P2=3;P0=bh;delay(500);P0 =0;/*/*/延时函数/*/void dela5r(unsigned int i)延时函数 while(i-);I9/*;A w才wA w才wA W才A W才A W才A W才A W才A W才 /初始化void csh(void

18、)unsigned char x=0;DQ = 1;/DQ复位delay (8);稍做延时DQ = 0;单片机将DQ拉低delay(80); 精确延时大于480usDQ = 1;拉高总线delay (10);x=DQ;稍做延时后如果户0则初始化成功x=l则初始化失败delay (5); )读一个字节unsignedcharReadOneChar(void)unsignedunsignedcharchari=0;dat = 0;for (i=8;i0;i-)DQ = 0; /给脉冲信号dat=l;DQ = 1; /给脉冲信号if(DQ)dat =0x80;delay (5);)return (dat);)写一个字节 fJ乙、乙、4、乙、J乙、乙、4、乙、J乙、乙、4、乙、J乙、乙、4、乙、J乙、乙、4、乙、J乙、乙、4、乙、J乙、乙、4、乙、J乙、乙、4、/void WriteOneChar(unsigned char dat)unsigned char i=0; for (i=8;i0;i-)DQ = 0;DQ = dat&OxOl;delay (5);DQ = 1; dat=l;)delay(5);)/*读取温度unsignedi

温馨提示

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

评论

0/150

提交评论