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