新手請教大家一個問題,我做了一個溫度下限報警的程序,現在現在想在程序里加點功能,當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(); } } |