《毕业设计(论文)基于单片机的温度计的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的温度计的设计.doc(13页珍藏版)》请在三一办公上搜索。
1、目 录摘要 2 1、绪论32、硬件系统设计32.1、主控制电路32.2、测温电路42.2.1、DS18B20介绍42.2.2、测温电路52.3、显示电路52.4、电源电路62.5、报警电路6 3、程序设计73.1、主程序7 3.2、温度转换子程序7 3.3、温度显示子程序8 3.4、报警子程序94、数据测试95、总结与体会 10参考文献11致谢12附录13摘要传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特
2、点。选用AT89C51型单片机作为主控制器件,DSl8B20作为测温传感器通过4位共阳极LED数码管串口传送数据,实现温度显示。通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0100最大线性偏差小于0.1。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。关键词:AT89S51、DS18B20、74LS573、LM78051 绪论随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的
3、要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。 温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中,有特别重要的意义。现在所使用的温度计通常都是精度为1和0.1的水银、煤油或酒精温度计。这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确等优点,其输出温度采用数字显示,主要用
4、于对测温比较准确的场所,或科研实验室使用。目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等,温度计中传感器是它的重要组成部分,它的精度、灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。传感器应用极其广泛,目前已经研制出多种新型传感器。但是,作为应用系统设计人员需要根据系统要求选用适宜的传感器,并与自己设计的系统连接起来,从而构成性能优良的监控系统。2 硬件系统设计2.1 主控制电路是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80
5、C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。单片机控制电路如图所示。AT89S52单片机的主要特性:8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。2.2 测温电路2.2.1 DS18B20介绍 该产品采用美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片封装而成,具
6、有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 技术性能描述: 1 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 2 测温范围 55125,固有测温分辨率0.5。 3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温。 4 工作电源: 35V/DC。 5 在使用中不需要任何外围元件。 6 测量结果以912位数字量方式串行传送。 7 不锈钢保护管直径 6。8 适用于DN1525, DN40
7、DN250各种介质工业管道和狭小空间设备测温。 9 标准安装螺纹 M10X1, M12X1.5, G1/2”任选。 10 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 2.2.2 测温电路温度传感器的单总线(1-Wire)与单片机的P20连接,P20是单片机的高位地址线A8。P2端口是一个带内部上拉电阻的8位双向I
8、O,其输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时。如执行MOVX DPTR指令,则表示P2端口送出高8位的地址数据。在访问8位地址的外部数据存储器时,可执行MOVX RI指令,P2端口内容即为特殊功能寄存器(SFR)区中R2寄存器内容,整个访问期间不改变。在Flash编程和程序校验时,P2端口也接收高位地址和其他控制信号。图4为DSl8820内部结构。DSl8820与单片机的接口如图。2.
9、3 显示电路采用技术成熟的74HCl64实现串并转换。LED显示分为静态显示和动态显示。这里采用静态显示,系统通过单片机的串行口来实现静态显示。串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的1/12。当器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时允许从TXD端输出移位脉冲。显示电路的连接如图。2.4 电源电路由于该系统需要稳定的5 V电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器LM7805。它仅有输入端、输出端及公共端3个引
10、脚,其内部设有过流保护、过热保护及调整管安全保护电路由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。电源电路连接如图。2.5 报警电路系统中的报警电路是由发光二极管和限流电阻组成。 3 程序设计系统程序主要包括主程序,温度转换子程序,温度显示子程序,报警子程序等。3.1主程序 主程序的主要功能是负责温度的实时显示,读出并处理DS18B20的测量的当前温度值,温度测量每秒进行一次。其流程图与程序如下void main(void) Sound_Off; while(1) convert_temp(); display(); 3.2温度转换子程序 温度转换子程序的流程图和主要程序(转换部分)
11、如下:void convert_temp(void) reset_18b20(); write_a_byte(0xcc); write_a_byte(0x44); delay_18b20(150); reset_18b20(); write_a_byte(0xcc); write_a_byte(0xbe); templ=read_a_byte(); temph=read_a_byte(); 3.3温度显示子程序 把温度转换的数据以整数和小数的形式显示出来。程序如下void display(void) uchar a,b; int i; a=(temph&0x07)4)&0x0f);/整数部分
12、b=(templ&0x0f)*6.25;/小数部分 for(i = 0;i 500; i +) Select_num4; Output = leda/10; Output = 0xFF; for(i = 0;i 500; i +) Select_num3; Output = leda%10 & 0x7f; Output = 0xFF; for(i = 0;i 500; i +) Select_num2; Output = ledb/10; Output = 0xFF; for(i = 0;i 25) | (a 18) Sound_On; else Sound_Off; 4 数据测试 本设计通过
13、keil软件编译程序,通过proteus ISIS实现仿真现象,现象中85.00度为初始温度,因为DS18B20有严格的时间规定,所以仿真中数字有点闪烁。显示人体最适的环境温度是18到25度,所以该设计特别设计了低于18度高于25度喇叭响(即为报警),以给人们提供信息是否需要开空调开取暖器之类的。仿真图如下5 总结与体会 毕业设计是对大学所学知识的一次运用和检阅,同时对自学能力提出很高的要求。 首先,在做这次课程设计的过程中,我学会了高效率的查阅资料、运用工具书、利用网络查找资料。为了让自己的设计更加完善,查阅这方面的实际资料是十分必要的,也是必不可少的。其次,在这次课程设计中,我运用了以前学
14、过的专业课知识,如:proteus仿真、C语言、电路分析基础等。我深刻认识到学习不应该有偏科现象,各方面的知识都应该要接触,认真学习每门课程。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。在以后的工作学习中,要理论联系实际,把我们所学的理论知识用到实际当中。参考文献1 曾令琴,电路分析基础(第2版),北京,人民邮电出版社,
15、2008.2 谭浩强,C语言程序设计(第2版),北京,清华大学出版社,2008.3 王廷才,电子线路CAD Protel 99 SE(第2版),北京,机械工业出版社,2007.4 张秀国,单片机C语言程序设计教程与实训,北京,北京大学出版社,2008.5 百度文库6 豆丁网致 谢毕业论文即将完成,我的学生生涯也要告一段落了。借此机会,我要对三年来帮助过我的人表示深深的感谢。 我要特别感谢我的指导老师潘老师的热情关怀和悉心指导。在我撰写论文的过程中,潘老师倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了潘老师悉心细致的教诲和无私的帮助,在此表示真诚地感谢和深深的谢意。 在论文的写作过程中,也得到了许多同学的宝贵建议,同时还到许多在工作过程中许多同事的支持和帮助,在此一并致以诚挚的谢意。感谢所有关心、支持、帮助过我的良师益友。 最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位专家表示衷心地感谢! 袁陈夏 2011年4月18日 附仿真图