新手請(qǐng)教大家一個(gè)問(wèn)題,我做了一個(gè)溫度下限報(bào)警的程序,現(xiàn)在現(xiàn)在想在程序里加點(diǎn)功能,當(dāng)temp<set的時(shí)候,num加1就不在加了,然后等待下次temp<set的時(shí)候再加1,如此循環(huán)。可是怎么也想不出來(lái)該怎么加,麻煩大家?guī)兔纯磻?yīng)該怎么寫(xiě)這部分程序。
#define uint unsigned int
#define uchar unsigned char
#define ms 4
#define set 30 //設(shè)定溫度下限
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() //想在這里加個(gè)功能,當(dāng)temp<set的時(shí)候,蜂鳴器響的同時(shí),num加1(只加個(gè) 1),然后就等待下一次temp<set的時(shí)候再加1,就是這里怎么也想不出來(lái)該怎么寫(xiě)。
{
if(temp<set)
{
beep=!beep;
num (這里下面不知道該怎么寫(xiě)了,如果直接寫(xiě)成num++;的話(huà),條件一成立num就不停的加,請(qǐng)大家指點(diǎn)一下,謝謝!)
}
else
{
beep=1;
flag=0;
}
}
void main()
{
delayms(1);
sendChangeCmd();
while(1)
{
temp=getTmpValue();
disp(getTmpValue());
sendChangeCmd();
dete();
}
}
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |