基于AT89S52单片机温度控制系统设计毕业设计 - 图文

loading 分享 2026-7-17 下载文档

结 论

经过一个学期时间的分析、研究、设计,本次毕业设计课题最终实现了一套比较完整的通过无线方式实现温度的远程采集、监测、报警的系统。在明确了系统所要实现温度数据采集与无线传输及相应的控制方案功能后,设计了系统的总体架构,然后详尽地阐述了系统的硬件电路结构和完成各项功能相关的软件设计。

本系统是通过单片机控制无线传输来实现对周围环境的温度进行测量和传输,它是以AT89S52单片机为控制单元,以温度传感器DS18B20为检测器件,以无线收发模块NRF905完成数据的无线传输,用数码管进行显示,实现温度的测量、无线传输、显示;在接收侧显示温度数据,并根据限定值进行相应的红外控制。在整个系统的完成过程中,软件和硬件部分都遇到了很多的问题。经过不断地尝试和改正,最终各部分功能都能得以实现。由于本人水平有限,同时又由于时间的限制,本系统有很多细节方面不能够做到非常完善。

由于目前大多数无线测量控制系统都会主机和从机之分,主机发送命令,从机执行命令,所以应该在接收模块中加入按键功能,按键按下发送采集命令,从机在接收到采集命令时,再开始采集,这样就实现了主机对从机的控制。任何方案都有一个不断改进和完善的过程,所以以后会在主从控制方面进行改进,从而使本系统成为一套具有主从控制的无线测温控制的完整系统。

27

致 谢

走的最快的总是时间,来不及感叹,大学生活已近尾声,四年多的努力与付出,随着本次论文的完成,将要划下完美的句号。

本论文设计在梅秋燕老师的悉心指导和严格要求下完成,从课题选择到具体的写作过程,论文初稿与定稿无不凝聚着梅秋燕老师的心血和汗水,梅秋燕老师一丝不苟的作风,严谨求实的态度使我深受感动,没有这样的帮助、关怀和熏陶,我不会这么顺利的完成毕业设计。在此向梅秋燕老师表示深深的感谢和崇高的敬意! 在毕业之际,我还要借此机会向在这四年中给予我诸多教诲和帮助的各位老师表示由衷的谢意,感谢他们四年来的辛勤栽培。各位任课老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在设计中得以体现,顺利完成毕业论文。同时,在论文写作过程中,我还参考了有关的书籍和论文,在这里一并向有关的作者表示谢意。

感谢在毕业设计过程中曾悉心指导过我的研究生。感谢所有和我在一起做毕业设计的同学,感谢他们的指点与帮助。在毕业设计的这段时间里,他们给了我很多的启发,提出了很多宝贵的意见,对于他们帮助和支持,在此我表示深深地感谢!

28

参考文献

[1] 王文保.微机原理与接口技术教程.北京:北京大学出版社,2004:34-44. [2] 何希才.传感器及其应用电路.北京:电子工业出版社,2004:68-78.

[3] 李小青.单片机应用系统的功率接口技术.北京:北京航空航天大学出版社,

1992:96-99.

[4] 冯建兰.单片机技术实用教程.武汉:华中科技大学出版社,2004:82-88. [5] 汪建.MCS-96系列单片机原理及应用技术.武汉:华中理工大学出版社,1998. [6] 刘秀英.单片机应用设计200例.北京:北京航天航空大学出版社,2006 . [7] 徐爱钧.单片机高级语言C51应用程序设计.北京:电子工业出版社,2002. [8] 郭国法.MCS-51单片机温度控制系统的设计.北京:微计算机信息出版社,2005. [9] 赖寿宏.微型计算机控制技术.北京:机械工业出版社,1994.

[10] 何立民.单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学,

1990.

[11] 李晓荃.单片机原理与应用.北京:电子工业出版社,2000. [12] 刘和平.单片机原理及应用.重庆:重庆大学出版社,2002.

[13] 谢自美.电子线路设计实验测试(第二版).武汉:华中科技大学出版社,2000. [14] 樊昌信.通信原理(第五版).北京:国防工业出版社,2001.

[15] Richard c.Dorf.modern conctrol systerm. BEIJING:Science Publishing House,2002. [16] Donald A.Neamen.Electronic circuit analysis and design.BEIJING: Tsinghua Unis-

ity Press and Springer Verlag,2002.

29

附录1温度控制系统程序

发送端: 主程序

#include \#include \sbit BEEP = P1^5; //主函数 void main(void) {uint temp; nRF905_Init(); nRF905_Config(); delay(500); while(1) //主循环 {temp = Get_Temp(); DisplayTemperture(temp); nRF905_TxRxBuf[0] = temp/100; nRF905_TxRxBuf[1] = temp/10; nRF905_TxRxBuf[2] = temp; nRF905_Tx();}} DS18B20子程序 #include \

//variable of temperature uint temp;

code uchar Code[]={0xC0,0xF9,0xA4,

0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}

;

//0~9数据

uchar a; uint i;

uchar thbit,upbit,lowbit,hibit; //延时子程序

void DS18B20_mDelay (uchar DS18B20_Delay) { uchar i;

for(;DS18B20_Delay>0; DS18B20_Delay--) { for(i=0;i<20;i++); }} //延时子函数

//sign of the result positive or void DS18B20_Delay(uint count) { uint i; while(count)

{ i=200; while(i>0) i--; count--; } } //发送初始化及复位信号 void DQ_Reset(void) { //DQ18B20 初始化 uint i; DQ=0; i=103; while(i>0)i--; DQ=1; i=4; while(i>0)i--; }

//read a bit 读一位

bit ReadBit_Temp(void)

{ uint i; bit dat;

//i++ for DS18B20_Delay

小延时一下

DQ=0;i++;DQ=1;i++;i++;

dat=DQ; i=8;while(i>0)i--;

30


基于AT89S52单片机温度控制系统设计毕业设计 - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于AT89S52单片机温度控制系统设计毕业设计 - 图文 的文档
相关推荐
相关阅读