}
if(S2==0)//如果是S2按键按下 {
delay(2000);//延时消斗
if(S2==0)//再次判断是否按下 {
return 2;//返回按键号 }
while(S2==0);//松手检测 }
if(S3==0)//如果是S3按键按下 {
delay(2000);//延时消斗
if(S3==0)//再次判断是否按下 {
return 3;//返回按键号 }
while(S3==0);//松手检测 }
return 0; }
void main(void) {
uint k=0; uint temp;
for(j=300;j>0;j--); while(1) { wendu=Read_AD(); // 热电偶数据读取,返回温度
if(wendu >baojin)//当温度大于报警值则蜂鸣器报警,否则关闭蜂鸣器 BEEP=0; else
BEEP=1; Display_temp(); //温度显示 Show_Channel(); //显示通道
if(temp=Key_Scan())//扫描按键,查看按键是否被按下 {
if(temp==1) //如果是S1按键按下,则系统处于巡检状态 {
system_flag=1; }
if(temp==2) //如果是S2按键被按下,则系统处于定点状态 {
42
system_flag=2; }
if(temp==3) //如果是S3按键被按下,则系统处于退出报警状态
{
system_flag=3; } } k++;
if(k==40) {
k=0;
channel_num++; //读完通道,通道自增
if(channel_num>8) //判断通道是否巡检到8通道,若是则从第一通道开始显示
{
channel_num=1; }
Choose_Channel(channel_num); //选通下一个通道 } }
//这里是通道的切换
if(system_flag==1)//当系统处于巡检状态时
channel_num++; //读完通道,通道自增
if(channel_num>8) //判断通道是否巡检到8通道,若是则从第一通道开始显示
{
channel_num=1; }
INH=1;
INH=0; }
3 4