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

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

ID:50951764

大小:74.00 KB

页数:10页

时间:2020-03-16

基于51的温度控制系统设计C语言源程序.doc_第1页
基于51的温度控制系统设计C语言源程序.doc_第2页
基于51的温度控制系统设计C语言源程序.doc_第3页
基于51的温度控制系统设计C语言源程序.doc_第4页
基于51的温度控制系统设计C语言源程序.doc_第5页
资源描述:

《基于51的温度控制系统设计C语言源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、/*********************************************************//*程序名称:温度监控系统*//*程序功能:利用89C52单片机和DS18B20温度传感器实现环境*//*温度的实时测量和高、低温报警*//*程序版本:v1.0*//*作者:*//*编写时间:*//*********************************************************/#include#include//

2、含_nop_()延时函数//定义数据类型#defineucharunsignedchar#defineuintunsignedint//定义端口#defineLEDP0//段码输出口sbitDQ=P3^2;//传感器数据口sbitSMG_q=P1^0;//定义数码管阳级控制脚(千位)sbitSMG_b=P1^1;//定义数码管阳级控制脚(百位)sbitSMG_s=P1^2;//定义数码管阳级控制脚(十位)sbitSMG_g=P1^3;//定义数码管阳级控制脚(个位)sbitbuzzer=P1^5;//蜂

3、鸣器sbitled_low=P2^6;//低温指示灯sbitled_high=P2^7;//高温指示灯sbitled_ok=P2^5;//温度正常指示灯sbitled_work=P2^4;//工作指示灯sbitset=P3^7;//设置按键sbitadd=P3^4;//加一按键sbitdec=P3^5;//减一按键//定义变量和常量intcount=0;//按键次数寄存器inth;//主函数用循环计数器uinttemp;//温度值ucharr;//温度值整数形式ucharhigh=35,low=20;/

4、/上下限初值//共阳LED段码表"0""1""2""3""4""5""6""7""8""9""不亮""-"ucharcodeLED_code[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharcodeLED_code1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};ucharcodeditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04

5、,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};//小数部分转换码表uchardatatemp_data[2]={0x00,0x00};//存储从传感器读出的温度值uchardatadp[5]={0x00,0x00,0x00,0x00,0x00};//显示单元数据,共4个数据和一个运算//子函数声明voidds_reset();//DS18B20初始化函数voidds_write(uchards_wrdata);//DS18B20写数据函数uchards_r

6、ead();//DS18B20读数据函数read_temp();//读取温度函数voidchange_temp(uinttem);//温度数据处理voidxianshi(inthorl);//温度显示转换voiddisplay();//数码管显示函数voidkeyscan();//按键查询函数voidwarn_led();//超限报警voiddelay(uintt);//延时函数,单次25us/********************主函数*********************/voidmain()

7、{LED=0x00;//初始化显示端口led1=0;led2=0;led3=0;led4=0;for(h=0;h<4;h++){dp[h]=8;}while(1)//循环执行显示和温度读取{uchari;for(i=0;i<200;i++){warn_led();//指示灯控制display();//显示keyscan();//按键扫描}change_temp(read_temp());//温度数据读取和处理}}/*********************************************

8、**//*函数名称:ds_reset()*//*函数功能:DS18B20初始化*//*入口参数:无*//*输出参数:无*//*调用函数:delay();_nop_();*//*全局变量:无*//*局部变量:presence*//***********************************************/voidds_reset(void){charpresence=1;while(presence){while(pres

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。