0000修改温控3(5)

2019-01-27 13:44

沈阳航空航天大学课程设计论文

7.结论及进一步设想

本文详细讲述了系统设计方案,并给出了相关程序流程。本设计应用性比较强,可以应用在仓库温度、大棚温度、机房温度、水池等的监控。另外,如果把本设计方案扩展为多点温度控制,加上上位机,则可以实现远程温度监控系统,将具有更大的应用价值。 本文的创新点在于详细设计了基于单片机AT89C51 的温度监控系统,设计程序已经.此系统可广泛用于温度在DS18B20 测温范围之内的场合,有良好的应用前景。由于单片机的各种优越的特性,使得它的经济效益显的更加突出,有很好的实用性

参考文献

[1] 刘复华. 单片机及其应用系统. 北京:清华大学出版社,1992

[2] 李斌,董慧颖. 可重组机器人研究和发展现状. 沈阳工业学院学报,2000,19(4):23-27 [3] 刘复华. 单片机及其应用系统. 北京:清华大学出版社,1992

[4] 李斌,董慧颖. 可重组机器人研究和发展现状. 沈阳工业学院学报,2000,19(4):23-27 [5]张友德主编 《单片微型机原理,应用与实验》 复旦大学出版社出版 1993 [6]何立民主编 《单片机应用技术选编(1)》 北京航空航天大学出版社 2000

[7]李朝青,单片机原理及接口技术(简明修订版)[M]. 北京:北京航空航天大学出版社, 1998

[8]李广弟.单片机基础[M]. 北京:北京航空航天大学出版社,1994

第 15 页

沈阳航空航天大学课程设计论文

附录1 元件清单

元件名称 型号 数量 单片机 AT89C51 1 温度传感器 DS18B20 1 按键 4 七段数码管 JM-S02041A-B 6 LED 2

第 16 页

沈阳航空航天大学课程设计论文

附录2 程序

#include

#include\#define GPIO_DIG P0 uint ding,shuru,count,jiao; float u,e0,y; sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; sbit en=P1^1; sbit k5=P1^3; sbit k6=P1^4; sbit k7=P1^5; //--定义全局变量

unsigned char code DIG_CODE[17]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码 unsigned char DisplayData[8]; //用来存放要显示的8位数的值

//--声明全局函数--// void LcdDisplay(int); void DigDisplay(); void delay(uint z);

/*******************************************************************************

* 函 数 名 : main * 函数功能

: 主函数

* 输 入 : 无 * 输 出 : 无

*******************************************************************************/

第 17 页

沈阳航空航天大学课程设计论文

void main() { }

/*******************************************************************************

* 函 数 名 : LcdDisplay() * 函数功能

: LCD显示读取到的温度

* 输 入 : v * 输 出 : 无

*******************************************************************************/

void LcdDisplay(int temp) //lcd显示

第 18 页

EA=1;

TH0=(65536-500)/256;

TL0=(65536-500)%6; TR0=1; while(1) {

LcdDisplay(Ds18b20ReadTemp());

if(k5==0){ delay(10);if(k5==0)ding=ding+1;while(!k5);} if(k6==0){ delay(10);if(k6==0)ding=ding-1;while(!k6);} if(k7==0){ delay(10);if(k7==0)shuru=ding;while(!k7);} y=Ds18b20ReadTemp();

ET0=1;

TMOD=0x11;

e0=shuru-y; }

if(u>=150) u=150; if(u<0) u=0; jiao=u;

u=u+0.0135*e0;

沈阳航空航天大学课程设计论文

{

float tp; } else {

}

DisplayData[0] = DIG_CODE[temp % 10000 / 1000]; DisplayData[1] = DIG_CODE[temp % 1000 / 100] | 0x80; DisplayData[2] = DIG_CODE[temp % 100 / 10]; DisplayData[3] = DIG_CODE[temp % 10];

第 19 页

if(temp< 0)

//当温度值为负数

{

DisplayData[0] = 0x40;

//因为读取的温度是实际温度的补码,所以减1,再取反求出原码 temp=temp-1; temp=~temp; tp=temp;

temp=tp*0.0625*100+0.5;

//留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的//后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,//算由?.5,还是在小数点后面。

时候把小数点 小于0.5的就

DisplayData[0] = 0x00;

tp=temp;//因为数据处理有小数点所以将温度赋给一个浮点型变量 //如果温度是正的那么,那么正数的原码就是补码它本身 temp=tp*0.0625*100+0.5;

//留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的//后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,//算加上0.5,还是在小数点后面。

时候把小数点 小于0.5的就

// DisplayData[1] = DIG_CODE[temp / 10000];


0000修改温控3(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于农村义务教育阶段学校布局调整的实践与思考

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: