新手请教大家一个问题,我做了一个温度下限报警的程序,现在现在想在程序里加点功能,当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(); } } |