qiang2751290
級別: 家園?
![]() |
51單片機如何長(cháng)時(shí)間延時(shí)? 單片機延時(shí)一個(gè)小時(shí)??? |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專(zhuān)賣(mài)
級別: VIP會(huì )員
![]() ![]() ![]() ![]() |
定時(shí)中斷中對變量累加,然后判斷累加值。 ![]() |
---|---|
|
tingfenghu
級別: 工控俠客
![]() ![]() |
采用多級累加,1ms中斷,1sflag,1mflag,1hflag,這樣累加,要多久都可以 |
|
---|---|---|
|
寧波自動(dòng)化網(wǎng)
級別: 工控俠客
![]() |
路過(guò),頂上去 |
|
---|---|---|
|
hydgjs
級別: 探索解密
![]() |
是這樣.贊一個(gè).使用中斷.主程序累加要多久有多久. |
---|---|
|
robert224
級別: 探索解密
![]() |
用中斷,如12M晶振,設定62.5ms中斷一次,中斷16次后a++(a即為1S計時(shí)單位),當a=60S 后再分鐘b++,依此累計下去就好了! |
---|---|
|
hzn19900420
級別: 探索解密
![]() |
for(a=0;a<時(shí)間/單位時(shí)間,a++) delay100ms(); 或者delay100ms(時(shí)間/單位時(shí)間); void Timer0Init(void) //1毫秒@11.0592MHz { AUXR |= 0x80; //定時(shí)器時(shí)鐘1T模式 TMOD &= 0xF0; //設置定時(shí)器模式 TMOD |= 0x01; //設置定時(shí)器模式 TL0 = 0xCD; //設置定時(shí)初值 TH0 = 0xD4; //設置定時(shí)初值 TF0 = 0; //清除TF0標志 TR0 = 1; //定時(shí)器0開(kāi)始計時(shí) } void Timer0Interrupt(void) interrupt 1 //1ms { a++; } main() { while(1){ if(a>=時(shí)間/單位時(shí)間) ............ } |
---|---|
|