分享
分享赚钱 收藏 举报 版权申诉 / 19

类型单片机大作业报告--温度控制系统设计.docx

  • 上传人:精品资料
  • 文档编号:7759432
  • 上传时间:2019-05-25
  • 格式:DOCX
  • 页数:19
  • 大小:205.93KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机大作业报告--温度控制系统设计.docx
    资源描述:

    1、单片机大作业-温度控制系统设计班级:1302041学号:13020410024姓名: 陈串串1 设计要求项目简介:温度的测量和控制对人类日常生活、工业生产、气象预报、物资仓储等都起着极其重要的作用。在许多场合,及时准确获得目标的温度、湿度信息是十分重要的,近年来,温湿度测控领域发展迅速,并且随着数字技术的发展,温湿度的测控芯片也相应的登上历史的舞台,能够在工业、农业等各领域中广泛使用。鉴于此,本文对基于单片机的温湿度计系统进行了相关研究。本系统是通过单片机控制来实现对周围环境的温湿度进行测量。本系统是以 AT89C52 单片机为控制单元、温度传感器 DS18B20 为主要检测器件,实现温度、湿

    2、度的测量、显示、控制,并利用单片机之间的通信功能,将所采集到的温度和湿度值在液晶屏中显示出来。温度测量范围为测 温范 围 40 70 ,精度0.0625。(1)温度高于 28启动制冷开关,从而使制冷压缩机工作;(2)温度低于 15启动加热开关,从而使加热丝导通工作;(3)以上设定通过用户从键盘上输入实现;(4)温度需要用八段式 LED 显示(温度显示范围-4070);(5)制冷和制热需要 LED 灯显示其工作。2 电路设计硬件电路的设计运用51单片机、七段数码管、LED灯、晶振、电解电容、DS18B20、电阻、排阻、电源等组成全部系统。DS18B20可以程序设定912位的分辨率,精度为0.5C

    3、。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。设计框图如下:项目视图图 2-1 温度控制系统原理总图单片

    4、机运用单片机处理温度转化成的串行数字信号,实现信号处理。将获得的结果通过输出装置输出显示在七段数码管上,并且在最后的处理部分也借用了 P2 和 P3 口的三个引脚,来点亮所需要点亮的 LED 灯。89C52 单片机组成结构中包含运算器、控制器、片内存储器、并行 I/O 口、串行I/O 口、定时/计数器、中断系统、振荡器等功能部件。图 2.1.1 单片机控制部分电路温度采集部分运用一个 DS18B20 温度传感器作为外部温度的检测部分,并将采集好的串行数字信号供单片机处理。图 2.1.2DS18B20 传感器获取外界温度电路温度显示部分六个七段数码管组成显示部分。图 2.1.3 温度显示部分温度

    5、状态指示电路温度高于指定温度(28)时,LED-RED 亮(代表制冷工作);温度在指定温度(1528)之间时,LED-GREEN 亮;温度低于指定温度(15)时,LED-BLUE 亮(代表制热工作)。图 2.1.4 状态指示部分 软件的设计#include #define W_IO P1 /片选线从左往右分别与 P1.0-P1.4 相连#define S_IO P0 /段选线从 A-DP,分别与 P0.0-p0.7 相连#define uchar unsigned char#define ulong unsigned long#define uint unsigned intintt,a;ui

    6、nttemp,flag;float ftemp;sbit LED1=P20;sbit LED2=P24;sbit LED3=P31;sbitds=P34;uchar Time5; /数码管要显示的 4 位数字和温度正负int code S_Data10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;int code W_Data5=0x01,0x02,0x04,0x08,0x10;void delayms(int time)/延时函数inti,j;for(i=time;i0;i-)for(j=110;j0;j-);void LED(ucha

    7、r Data5,uintdp,uint flag)/七段数码管上的显示程序 inti=0,j=0;P0=0XFF;for(i=0;i0)i-;ds=1;i=4;while(i0)i-;bit du1wei() /读一位数据uinti;bit dat;ds=0;i+; ds=1;i+;i+;dat=ds;i=8;while(i0)i-;return (dat);uchar du1zijie()/读一字节数据uchari,j,dat;dat=0;for(i=1;i1);return(dat);void xie1wei (uchardat)/写一字节uinti;uchar j;bit test;fo

    8、r(j=1;j1;if(test)ds=0;i+;i+;ds=1;i=8;while(i0)i-;else ds=0;i=8;while(i0)i-;ds=1;i+;i+;void xie_temp_zhuanhuan()/开始获取温度并转换init18b20();delayms(1);xie1wei (0xcc);xie1wei (0x44);uintdu_temp_flag()/读存储器中存储的温度,标记正负uchara,b;uint c;init18b20();delayms(1);xie1wei (0xcc); xie1wei (0xbe);a=du1zijie(); b=du1zij

    9、ie();temp=b;temp0xf000) c=1;return c; uintdu_temp_cunchuqi(uint flag)/读存储器中存储的温度,转换uchara,b;init18b20();delayms(1);xie1wei (0xcc); xie1wei (0xbe);a=du1zijie(); b=du1zijie();temp=b;temp=1500LED2=0;LED3=0;void main()/主函数while(1) xie_temp_zhuanhuan();flag=du_temp_flag();t=du_temp_cunchuqi(flag);Time0=f

    10、lag;Time1=t/1000;Time2=t%1000/100;Time3=t/10%10;Time4=t%10;LED(Time,2,flag);baojin(flag);部分代码说明1.代码全程引入一关键(全局)变量 flag,代表温度正负,当温度在零上时,flag 为0,温度在零下时,flag 为 1,作为影响多个子函数的重要参数。2.void LED(uchar Data5,uintdp,uint flag)/八段数码管上的显示程序 inti=0,j=0;P0=0XFF;for(i=0;i5;i+)if(i=0)W_IO=W_Datai;if(flag=0) S_IO=0xff;

    11、else S_IO=0xbf;delayms(5);elseif(dp!=i)W_IO=W_Datai;S_IO=S_DataDatai;elseW_IO=W_Datai;S_IO=S_DataDataidelayms(5);数码管的显示是另一关键,结合主函数可知,该子函数中 i=0-4 代表六联数码管上 2-6即后五个的对应处理情况,即 i=0 对应符号位,i=1-4 对应数字位。符号位与数字位处理方式不同,故有了 for 循环内第一层 if-else 条件判断区分参数 dp 关系小数点位设定,主函数中取 dp=2,对应 i=2 时的小数点特殊处理,故有了第一层 if-else 中 else

    12、 下的又一层3 测试结果仿真结果温度信号模拟,仿真结果如图。温度大于 28 度时,系统开启制冷措施(红灯亮)温度小于 15 度时,系统开启取暖措施(蓝灯亮)温度在指定范围 15-28 之间时,系统不采取任何措施(绿灯亮)温度低于测量下限时,系统发出警报(蓝灯亮)温度高于测量上限时,系统发出警报(红灯亮)4 总结本次单片机课程设计,不仅要求设计者能熟练使用单片机来实现温度的采集与读数,熟练编写程序,还要求对单片机的电路连接结构,对数码管芯片有明确清晰的了解与认识。刚开始拿到老师给的题目,我们就开始分析应该需要用到哪些知识,我们发现首先应该了解 Keil 和 protel 软件的使用,其次就是 D

    13、S18B20 的数据采集和编程问题。由于汇编程序是非常晦涩难懂的,所以我们决定采用 C 语言进行编程,而我们本身学的是汇编,所以我就在网上下载了一个郭天祥的基于 C 的单片机教学视频,开始前几天我基本就在看视频学习。在学习过程中,我学到了很多编程技巧,对我之后写编程序有很大的帮助。本次课程设计中不断翻阅资料,提高了我的分析能力,也让我体会到了动手实践的快乐,当看到电路仿真成功时,内心十分欣喜。参考文献:1李广弟、朱月秀、冷祖祁.单片机基础M.北京:北京航空航天大学出版社,20072张俊谟、张迎新.单片机教程M.北京:单片机教程,20083马斌.单片机原理及应用M.北京:人民邮电出版社,20094于帆、赵妮.程序设计基础M.北京:清华大学出版社,20065郭天祥单片机教程

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:单片机大作业报告--温度控制系统设计.docx
    链接地址:https://www.docduoduo.com/p-7759432.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开