基于51的温度控制系统设计C语言源程序.docxVIP

基于51的温度控制系统设计C语言源程序.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
/* 程序名称:温度监控系统 */ /* 程序功能:利用 89C52 单片机和 DS18B20温度传感器实现环境*/ /* 温度的实时测量和高、低温报警 */ /* 程序版本: */ /* 作 者: */ /* 编写时间: */ /*********************************************************/ #include #include  //  含 _nop_()  延时函数 定义数据类型 #define uchar unsigned char #define uint unsigned int 定义端口 #define LED P0 // 段码输出口 sbit DQ = P3^2; // 传感器数据口 sbit SMG_q = P1^0; / / 定义数码管阳级控制脚(千位) sbit SMG_b = P1^1; / / 定义数码管阳级控制脚(百位) sbit SMG_s = P1^2; / / 定义数码管阳级控制脚(十位) sbit SMG_g = P1^3; / / 定义数码管阳级控制脚(个位) sbit buzzer = P1^5; // 蜂鸣器 sbit led_low = P2^6; // 低温指示灯 sbit led_high = P2^7; // 高温指示灯 sbit led_ok = P2^5; // 温度正常指示灯 sbit led_work = P2^4; // 工作指示灯 sbit set = P3^7; // 设置按键 sbit add = P3^4; // 加一按键 sbit dec = P3^5; // 减一按键 定义变量和常量 int count = 0; // 按键次数寄存器 int h; // 主函数用循环计数器 uint temp; // 温度值 uchar r; // 温度值整数形式 uchar high = 35,low = 20;// 上下限初值 // 共阳 LED段码表  0 1 2 3 4 5 6 7 8 9  不亮 - uchar code LED_code[12] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar code LED_code1[] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; uchar code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}; // 小数部分转换码表 uchar data temp_data[2] = {0x00,0x00};// uchar data dp[5] = {0x00,0x00,0x00,0x00,0x00};//  存储从传感器读出的温度值 显示单元数据,共  4 个数据和一个运算 // 子函数声明 void ds_reset(); //DS18B20 初始化函数 void ds_write(uchar ds_wrdata); //DS18B20 写数据函数 uchar ds_read(); //DS18B20 读数据函数 read_temp(); // 读取温度函数 void change_temp(uint tem); // 温度数据处理 void xianshi(int horl); // 温度显示转换 void display(); // 数码管显示函数 void keyscan(); // 按键查询函数 void warn_led(); // 超限报警 void delay(uint t); // 延时函数,单次 25us /******************** 主函数 *********************/ void main() { LED=0x00;  //  初始化显示端口 led1=0; led2=0; led3=0; led4=0; for(h=0;h4;h++) { dp[h]=8; } while(1)  //  循环执行显示和温度读取 { uchar i; for(i=0;i200;i++) { warn_led(); display(); keyscan();  //  // //  指示灯控制 显示 按键扫描 } change_temp(read_temp()); // 温度数据读取和处理 } } /***********************************************/ /* 函数名称: d

文档评论(0)

明天会更好 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档