数字温度计设计说明书

上传人:沈*** 文档编号:132758042 上传时间:2022-08-09 格式:DOC 页数:24 大小:903.50KB
收藏 版权申诉 举报 下载
数字温度计设计说明书_第1页
第1页 / 共24页
数字温度计设计说明书_第2页
第2页 / 共24页
数字温度计设计说明书_第3页
第3页 / 共24页
资源描述:

《数字温度计设计说明书》由会员分享,可在线阅读,更多相关《数字温度计设计说明书(24页珍藏版)》请在装配图网上搜索。

1、 单片机 课程设计说 明 书专业名称: 电气工程及其自动化 班 级: 093 学 号: 20090202101 姓 名: 张淑冠 指导教师: 姚广芹 日期: 2011年7月8日 单片机 课程设计评阅书题目数字温度计学生姓名张淑冠学号20090202101指导教师评语及成绩指导教师签名: 年 月 日答辩评语及成绩答辩教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日摘 要随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需

2、要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计是基于AT89S52单片机的温度测量系统。通过对单片机技术基础及温度传感器使用方法的学习,本组利用Protel设计工作电路,并用PROTUES进行仿真后,焊接电路,这次课程设计综合利用所学单片机知识完成了一个单片机应用系统设计并仿真,焊接电路实现功能,从而加深对单片机软硬知识的深层次理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下了一定的基础。关键词:单片机;AT89S52;温度计;数字控制目 录 1 课题描述12 设计过程2 2.1 数字温度计系统设计方框图22.2 单片机所实现功能说明22.3 电路板各部分

3、电路图及其原理2 3 测试5 总结6 参考文献7附录18附录291 课题描述本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。开发工具:protel2 设计过程由于本设计是测温电路,进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行

4、转换,就可以满足设计要求。2.1 数字温度计系统设计方框图报警提示电路上下限设置时钟电路复位电路温度测量温度显示单片机电 源 图2.1系统设计方框图2.2 单片机所实现功能说明本次实训所设计的为数字温度计,能实现对温度的测试,所测温度由数码管以整数的形式显示。同时可调所测温度的上下限,如果超出所测温度的限制,能够发出报警,报警信号由LED灯和蜂鸣器同时发出。性能指标基本要求:(1)能够显示当前室内温度,分辨率为1摄氏度。(2)具有超限声光报警功能,能够通过按键设定报警温度的上限和下限。控制器采用单片机AT89S52,温度传感器采用DS18B20,用数码管显示器实现温度显示。2.3 电路板各部分

5、电路图及其原理(一)单片机AT89S52 图2.3.1单片机AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。(二)晶振和复位装置 图2.3.2a晶振 图2.3.2b复位电路 (1)晶体振荡器,能产生振荡,其特点是固有频率十分稳定,而且震动具有多谐性,除了奇频震动外还

6、有奇次谐波泛音震动。性能上,晶振的品质因素Q和特性阻抗都非常高,而且接入系数很小,因此具有很高的频率稳定度。 (2)复位电路,与单片机第9引脚,也就是RST引脚相连,起复位作用,高电平有效(三)温度传感器DS18B20 图2.3.3温度传感器DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内,温范围55125。有三个引脚,其中1引脚接高电平,第3引脚接地,第2引脚接单片机的16引脚,即P3.6口以送入温度信号。(四)报警电路LED灯和蜂鸣器 图2.3.4aLED灯 图2.3.4b蜂鸣器 此次所设计的数字温度计可以设置上下限,当超出上下限后能够报警,

7、报警信号又LED灯和蜂鸣器同时发出。其中LED灯要有一个上拉电阻和高电平相连,LED报警信号由单片机的P1.0口送出。蜂鸣器采用无源连接,报警信号由单片机的P3.7引脚送出(五)按键。 按键实现对温度计所测温度的上下限进行节。 图2.3.5按键 3 测试将制作好的数字温度计用USB线与电脑连接,把编的程序写入单片机中,测试温度计显示数据是否正确。调节环境温度,利用温度计(事先准备一个)确定环境温度,观察数码管所显示的数据,并与温度计示数对比。调节温度使温度达到声光报警温度,测试声光报警是否正常。总 结课程设计的过程是艰辛的,但是收获却是很大的。这次课程设计我主要是应用以前学习的编程以及单片机的

8、一些知识,综合起来才完成了这个温度计的设计,虽然所设计器件很小,但是付出却是艰辛的。首先,综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识,再次,我在课程设计中碰到了很多的问题,我通过查阅相关书籍,资料,通过自己钻研,特别是得到了姚老师的谆谆教导,姚老师给予了我很大的帮助,不仅给了我思路上的开阔,还让我认识到了自己对以前所学知识的不足方面。随着社会发展,单片机技术的迅速普及,以及飞速发展,人们对实时数字的要求越来越迫切,需求日益增加,单片机的应用无处不在,从小小的电子表,到大型的计算机都离不开单片机,因此我们更需要学习单片机工作原理的及其编程。通

9、过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在单片机运用这方面有一个大的发展。参考文献1 张毅刚 彭喜元 彭宇 单片机原理及其应用 高等教育出版社2 王守忠 赵明明 索世文 51单片机应用开发速查手册人民邮电出版社3 谢自美 电子线路综合设计 华中科技大学出版社4 夏继强 单片机应用设计培训教程实践篇 北京航空航天大学出版社 5 李广弟, 朱月秀, 王秀山 单片机基础 北京航空航天大学出版社6 王毅 单片机器件应用手册 人民邮电出版社 附录1 总电路图 附录2 程序 /*程序功能:基于四眼兔子单片机学习板 的温度计 数码管显示温度,十位与

10、个位时间:2010.3.14*/#include #include #define uchar unsigned char#define uint unsigned intbit presence;bit flow0;sbit led=P10; sbit DQ=P36;/定义温度传感器sbit led1=P20;sbit led2=P21;sbit led3=P22;sbit led4=P23;sbit key1=P32;sbit key2=P33;sbit key3=P34;sbit key4=P35;float i=0;int datt=0;int aa=0;int bb=0;int cc

11、=0;int dd=0;int wendu=30;int wenduxia=25; uchar ge,shi,bai,xiao,xiao1;sbit BEEP=P37;unsigned char code tab= 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90;unsigned char init = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00;unsigned char init1 = 0x12, 0x12, 0x12, 0x12, 0x12, 0x12,0x33;void dela

12、yms(uchar xms) while(xms-) uchar time;for(time=114;time0;time-); void display(void)P0=tabshi;led4=0;delayms(1);P2=0xff;P0=tabge;led3=0;delayms(1);P2=0xff;P0=0xc6;led1=0;delayms(1);P2=0xff;P0=0x9c;led2=0;delayms(1);P2=0xff;/* 延时微妙函数*/void delayus(unsigned char x) unsigned char i; while (x-) for (i =

13、0; i 0; j-) delayms(1); BEEP = BEEP; BEEP = 1; /*us延时函数 (8*1.085)*num */void Delay(unsigned int num) /延时函数 while (-num) ;void xianshi()int q ; char z; for(z=5;z0;z-)for(q=20;q0;q-) P0=tabaa;led4=0;delayms(1);P2=0xff;P0=tabbb;led3=0;delayms(1);P2=0xff; P0=tabcc;led2=0;delayms(1);P2=0xff; P0=tabdd;led

14、1=0;delayms(1);P2=0xff; void xianshi1() aa=0;bb=0;cc=wenduxia/10; dd=wenduxia%10; P0=tabaa;led4=0;delayms(1);P2=0xff;P0=tabbb;led3=0;delayms(1);P2=0xff; P0=tabcc;led2=0;delayms(1);P2=0xff; P0=tabdd;led1=0;delayms(1);P2=0xff; void shengwen() if(key1=0) delayms(100); ; if(key1=0) wendu+; aa=wendu/10;b

15、b=wendu%10;cc=0;dd=0;xianshi(); delayms(150); void jiangwen() if(key2=0) delayms(100); if(key2=0) wendu-; aa=wendu/10;bb=wendu%10; cc=0;dd=0;xianshi(); delayms(150); void xianshixianzhi() if(key3=0) delayms(100); if(key3=0) aa=wendu/10; bb=wendu%10; cc=wenduxia/10; dd=wenduxia%10; xianshi(); delayms

16、(150) ; /*初始化18b20*/uchar ds18b20_init(void) DQ = 0; /单片机发出低电平复位信号 Delay(60); /延时480us DQ = 1; /释放数据线 Delay(8); /延时64us,等待应答 presence = DQ; /接收应答信号 Delay(50); /延时400us,等待数据线出现高电平 DQ = 1; /释放数据线 return (presence); /返回presence信号/*读一个字节数据 */unsigned char ReadOneChar(void) unsigned char i = 0; unsigned

17、char dat = 0; DQ = 1; for (i = 0; i = 1; DQ = 1; /释放总线 _nop_(); _nop_(); if (DQ) /读总线电平状态 dat |= 0x80; /最高位置1 Delay(6); /延时45us DQ = 1; /释放总线,表示此次读操作完成 return(dat);/*写一个字节数据 */void WriteOneChar(unsigned char dat) unsigned char i = 0; for (i = 0; i 8; i+) /一个字节8个bit DQ = 0; /给低脉冲信号 Delay(1); /延时= 1;

18、/数据右移一位,最低位移入CY DQ = CY; /写1bit数据 Delay(6); /延时45us DQ = 1; /释放总线,表示此次写操作完成 /*读温度函数*/void read_temp(void)uint d=1;uchar temp1=0;uchar temp2=0;uint t=0;float tt; uint zong=0;ds18b20_init();WriteOneChar(0xcc);/跳过ROM匹配WriteOneChar(0x44);/启动温度转换ds18b20_init();WriteOneChar(0xcc);/跳过ROM匹配WriteOneChar(0xbe

19、);/读温度寄存器temp1=ReadOneChar();/温度低8位temp2=ReadOneChar();/温度高8位if(temp2112)/判断温度正负,负温度时执行大括号内程序temp1=(temp1)+1;if(temp1)+1=0xff)temp2=(temp2)+1;elsetemp2=(temp2); flow0=1;/温度是零下else /温度值为零上flow0=0;t=temp2;t=5)/四舍五入计算小数点后一位xiao+; zong=bai*100+shi*10+ge;if(zong=wendu|zong=wenduxia) led=0;beep();if(zongw

20、enduxia)led=1;void shezhixiaxian() if(key4=0) delayms(30); if(key4=0) while(1) if(key4=0) delayms(50); if(key4=0) break; if(key1=0) delayms(50); if(key1=0) wenduxia+; aa=0; bb=0; cc=wenduxia/10; dd=wenduxia%10; xianshi(); if(key2=0) delayms(50); if(key2=0) wenduxia-;aa=0;bb=0; cc=wenduxia/10; dd=wenduxia%10; xianshi(); xianshi1();/*主函数*/void main(void)P2=0xff;P0=0xff;while(1) read_temp();/读取温度值display();shengwen();jiangwen(); xianshixianzhi(); shezhixiaxian();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!