收藏 分享(赏)

单片机报告--温度控制系统设计.docx

上传人:精品资料 文档编号:7758856 上传时间:2019-05-25 格式:DOCX 页数:12 大小:202.14KB
下载 相关 举报
单片机报告--温度控制系统设计.docx_第1页
第1页 / 共12页
单片机报告--温度控制系统设计.docx_第2页
第2页 / 共12页
单片机报告--温度控制系统设计.docx_第3页
第3页 / 共12页
单片机报告--温度控制系统设计.docx_第4页
第4页 / 共12页
单片机报告--温度控制系统设计.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、0单片机大作业-温度控制系统设计班级:1302041学号:13020410022姓名:刘云昭1目录目录 1摘要 2ABSTRACT21 设计要求及方案选择 31.1 设计要求 31.2 方案选择 32 理论分析与设计 32.1 温度采集电路的分析及设计 32.3 直流电源电路的分析及设计 43 电路设计 53.1 硬件电路的设计 53.1.1 51 单片机 53.1.2 温度采集部分 63.1.3 温度显示部分 63.1.4 温度处理电路 73.2 软件的设计 74 系统测试 104.1 调试所用的基本仪器清单 104.2 调试结果 104.3 测试结果分析 115 总结 11参考文献 122

2、1 设计要求(1)温度高于 28启动制冷开关,从而使制冷压缩机工作;(2)温度低于 15启动加热开关,从而使加热丝导通工作;(3)以上设定通过用户从键盘上输入实现;(4)温度需要用八段式 LED 显示(温度显示范围-4070) ;(5)制冷和制热需要 LED 灯显示其工作。2 电路设计2.1 硬件电路的设计运用 51 单片机、七段数码管、LED 灯、晶振、电解电容、DS18B20、电阻、排阻、电源等组成全部系统。图 2-1 温度控制系统原理总图2.1.1 51 单片机运用单片机处理温度转化成的串行数字信号,实现信号处理。将获得的结果通过输出装置输出显示在七段数码管上,并且在最后的处理部分也借用

3、了 P2 和 P3 口的三个引3脚,来点亮所需要点亮的 LED 灯。89C52 单片机组成结构中包含运算器、控制器、片内存储器、并行 I/O 口、串行I/O 口、定时/计数器、中断系统、振荡器等功能部件。图 2.1.1 单片机控制部分电路2.1.2 温度采集部分运用一个 DS18B20 温度传感器作为外部温度的检测部分,并将采集好的串行数字信号供单片机处理。图 2.1.2DS18B20 传感器获取外界温度电路42.1.3 温度显示部分六个七段数码管组成显示部分(实际用到五个) 。图 2.1.3 温度显示部分2.1.4 温度状态指示电路温度高于指定温度(28)时,LED-RED 亮(代表制冷工作

4、) ;温度在指定温度(1528)之间时,LED-GREEN 亮;温度低于指定温度(15)时,LED-BLUE 亮(代表制热工作) 。图 2.1.4 状态指示部分 2.2 软件的设计2.2.1 程序全部代码#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 intint t,a;uint temp,flag;floa

5、t ftemp;sbit LED1=P20;sbit LED2=P24;sbit LED3=P31;sbit ds=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)/延时函数8int i,j;for(i=time;i0;i-)for(j=110;j0;j-);void LED(uchar Data5,uint

6、dp,uint flag)/七段数码管上的显示程序int i=0,j=0;P0=0XFF;for(i=0;i0)i-;ds=1;i=4;while(i0)i-;bit du1wei() /读一位数据uint i;bit dat;ds=0;i+; ds=1;i+;i+;dat=ds;i=8;while(i0)i-;return (dat);uchar du1zijie()/读一字节数据uchar i,j,dat;dat=0;for(i=1;i1);return(dat);void xie1wei (uchar dat)/写一字节uint i;uchar j;bit test;for(j=1;j1

7、;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);9uint du_temp_flag()/读存储器中存储的温度,标记正负uchar a,b;uint c;init18b20();delayms(1);xie1wei (0xcc); xie1wei (0xbe);a=du1zijie(); b=du1zijie();

8、temp=b;temp0xf000) c=1;return c; uint du_temp_cunchuqi(uint flag)/读存储器中存储的温度,转换uchar a,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=flag

9、;Time1=t/1000;Time2=t%1000/100;Time3=t/10%10;Time4=t%10;LED(Time,2,flag);baojin(flag);2.2.2 部分代码说明1.代码全程引入一关键(全局)变量 flag,代表温度正负,当温度在零上时,flag 为 0,温度在零下时,flag 为 1,作为影响多个子函数的重要参数。2.课题要求中默认 DS1820 初始化和读取程序已知,意为程序中直接代替,但这样就无法实现软件仿真,所以从网上查找了以下六个涉及传感器 DS18B20 的初始化、读写及转换的子函数:init18b20()/DS18B20 复位,初始化函数11du

10、1wei() /读一位数据du1zijie()/读一字节数据xie1wei (uchar dat)/写一字节xie_temp_zhuanhuan()/开始获取温度并转换du_temp_cunchuqi(uint flag)/读存储器中存储的温度,转换其中“du_temp_cunchuqi(uint flag)/读存储器中存储的温度,转换”一子函数,由于搜集到的代码只针对零上温度处理,故添加处理零下温度部分代码如下:if(flag=1)temp=temp;temp=temp+1;对零下温度作按位取反并加 1 的处理,之后和零上温度处理方式相同3.void LED(uchar Data5,uint

11、 dp,uint flag)/七段数码管上的显示程序int i=0,j=0;P0=0XFF;for(i=0;i5;i+)if(i=0)W_IO=W_Datai;if(flag=0) S_IO=0xff; 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 对应数字位。符号位

12、与数字位处理方式不同,故有了 for 循环内第一层 if-else 条件判断区分参数 dp 关系小数点位设定,主函数中取 dp=2,对应 i=2 时的小数点特殊处理,故有了第一层 if-else中 else 下的又一层103 测试结果3.2 仿真结果温度信号模拟,仿真结果如图。图 3.1.1 高温时,LED-RED 亮11图 3.1.2 温度在设定范围内,LED-GREEN 亮图 3.1.3 低温时,LED-BLUE 亮12图 3.1.4 要求上限,LED-RED 亮图 3.1.5 要求下限,LED-BLUE 亮133.2 测试结果分析单击 DS18B20 上的+或-号来实现温度的调节1.温度

13、高于指定温度(28)时,LED-RED 亮(代表制冷工作) ;2.温度在指定温度(1528)之间时,LED-GREEN 亮;3.温度低于指定温度(15)时,LED-BLUE 亮(代表制热工作) ;4.实现了在-4070范围内的温度监测。4 总结本次模拟电路课程设计有较强的综合性,不仅要求设计者能熟练使用单片机来实现温度的采集与读数,熟练编写程序,还要求对单片机的电路连接结构,对数码管芯片有明确清晰的了解与认识,否则在设计的第一步就会遇到障碍。经过一个多星期的资料收集与查询,又经过几天的总体构思,在脑中对温度控制系统的设计有了一个总体的框架,对程序的流程图也有一个基本的结构,最后结合参考资料,又

14、经过两天对程序的编写以及程序的改进,最后终于完成了本次课程设计各项内容。通过运用所学知识、网上查阅资料和努力设计,我从这次课程设计不仅仅只是获得自己亲手做的电子产品,还学到了很多,例如面对问题要保持冷静,特别是在程序的编写这一块,要找出程序的错误一定要有一个冷静的头脑,否则很难发现错误甚至是越改越错。另外我还认识到与他人合作的重要性,虚心向别人学习,充分利用网上资源,都是一些不错的方法。模拟电子技术是一门很有用也是专业基础的学科,一定要学好理论知识,打好基础,而且要学会动手,增强动手能力,通过实践加深对理论知识的理解。本次课程设计中不断翻阅资料,提高了我的分析能力,也让我体会到了动手实践的快乐,受益匪浅!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报