tingfenghu
級別: 工控俠客
|
采用多級累加,1ms中斷,1sflag,1mflag,1hflag,這樣累加,要多久都可以 |
|
---|---|---|
|
寧波自動化網
級別: 工控俠客
|
路過,頂上去 |
|
---|---|---|
|
hydgjs
級別: 探索解密
|
是這樣.贊一個.使用中斷.主程序累加要多久有多久. |
---|---|
|
robert224
級別: 探索解密
|
用中斷,如12M晶振,設定62.5ms中斷一次,中斷16次后a++(a即為1S計時單位),當a=60S 后再分鐘b++,依此累計下去就好了! |
---|---|
|
hzn19900420
級別: 探索解密
|
for(a=0;a<時間/單位時間,a++) delay100ms(); 或者delay100ms(時間/單位時間); void Timer0Init(void) //1毫秒@11.0592MHz { AUXR |= 0x80; //定時器時鐘1T模式 TMOD &= 0xF0; //設置定時器模式 TMOD |= 0x01; //設置定時器模式 TL0 = 0xCD; //設置定時初值 TH0 = 0xD4; //設置定時初值 TF0 = 0; //清除TF0標志 TR0 = 1; //定時器0開始計時 } void Timer0Interrupt(void) interrupt 1 //1ms { a++; } main() { while(1){ if(a>=時間/單位時間) ............ } |
---|---|
|