找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2702|回复: 0
打印 上一主题 下一主题
收起左侧

温度报警设定模块终结

[复制链接]
跳转到指定楼层
楼主
ID:3721 发表于 2015-1-5 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*初始化程序 ,初始上下限温度设置
键盘设定上下限温度
all right resever
*/
#include<reg51.h>
void sethi(void);
void setlo(void);
void dishi(void);
void dislo(void);
#define key P1//键盘接口
sbit hj=P1^0; // 十位加
sbit lj=P1^1; //个位加
sbit con=P1^2; //确认
sbit sound=P3^5;
bit finish;  
#define uchar unsigned char
extern uchar lowtem,hitem;
//初始化程序,设定上下限温度报警值
void begin(void)
{sound=0;
finish=0;
sethi(); //设置上限温度
finish=0;
setlo();//设置下限温度
}
//高温极限设置程序
void sethi(void)
{uchar i;
do{do{dishi();
key=0xff;
i=key;}
while(i==0xff);//有按键按下
{dishi();//调用软件延时去除键盘抖动
if(i==key)
{switch(i)
{case 0xfe:if((hitem+=10)>=100)hitem=0;break;//十位加
case 0xfd:if((hitem+=1)>=100)hitem=0;break;//个位加
case 0xfb:finish=1;break;//确定键按下,退出上限温度设置
}
while(i==key);   
}
}
}while(finish==0);
      
}
//低温极限设置程序
void setlo(void)
{uchar i;
do{do{dislo();
key=0xff;
i=key;}
while(i==0xff);//有按键按下
{dislo();//调用软件延时去除键盘抖动
if(i==key)
{switch(i)
{case 0xfe:if((lowtem+=10)>=hitem)lowtem=0;break;//十位加
case 0xfd:if((lowtem+=1)>=hitem)lowtem=0;break;//个位加
case 0xfb:finish=1;break;//确定键按下,退出上限温度设置
}
while(i==key);   
}
}
}while(finish==0);
      
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表