新手请教大家一个问题,我做了一个温度下限报警的程序,现在现在想在程序里加点功能,当temp<set的时候,num加1就不在加了,然后等待下次temp<set的时候再加1,如此循环。可是怎么也想不出来该怎么加,麻烦大家帮忙看看应该怎么写这部分程序。
#define uint unsigned int
#define uchar unsigned char
#define ms 4
#define set 30 //设定温度下限
sbit beep=P1^5;
uchar code table1[]= {0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0xA0,0x60,0x25,0x3C,0x23,0x34,0x74};
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
uchar code table2[]= {0x08,0xcb,0x12,0x82,0xc1,0x84,0x04,0xca,0x00,0x80};
uchar flag=0,temp;
uchar num;
void disp(uint x)
{
P0=table1[num/10];
P2=0x7f;
delayms(ms);
P0=table1[num%10];
P2=0xbf;
delayms(ms);
P0=table1[x/10];
P2=0xdf;
delayms(ms);
P0=table1[x%10];
P2=0xef;
delayms(ms);
}
void dete() //想在这里加个功能,当temp<set的时候,蜂鸣器响的同时,num加1(只加个 1),然后就等待下一次temp<set的时候再加1,就是这里怎么也想不出来该怎么写。
{
if(temp<set)
{
beep=!beep;
num (这里下面不知道该怎么写了,如果直接写成num++;的话,条件一成立num就不停的加,请大家指点一下,谢谢!)
}
else
{
beep=1;
flag=0;
}
}
void main()
{
delayms(1);
sendChangeCmd();
while(1)
{
temp=getTmpValue();
disp(getTmpValue());
sendChangeCmd();
dete();
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>