|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
定時(shí)器打開后,調(diào)延時(shí)子程序后就無法返回。 |
| 作者:lu_weixi 欄目:單片機(jī) |
定時(shí)器打開后,調(diào)延時(shí)子程序后就無法返回。怎么會(huì)這樣?現(xiàn)在沒法只能在延時(shí)程序中把定時(shí)器關(guān)了。 |
| 2樓: | >>參與討論 |
| 作者: lypD96 于 2005/1/27 19:06:00 發(fā)布:
RE: 你把程序貼出來這樣才能更好的回答你的問題。你要看一下定時(shí)程序和調(diào)延時(shí)子程序是否公用了一個(gè)寄存器。 |
|
| 3樓: | >>參與討論 |
| 作者: prcxf 于 2005/1/27 19:10:00 發(fā)布:
延時(shí)子程序中用的寄存器或消息在定時(shí)中斷中沒有壓棧? |
|
| 4樓: | >>參與討論 |
| 作者: lu_weixi 于 2005/1/27 19:50:00 發(fā)布:
程序如下: void delay(uint tm) //延時(shí)tm(MS) { uchar i; EA = 0; for(;tm>0;tm--){ for(i=0;i<225;i++); for(i=0;i<225;i++); } EA = 1; } void Timer0() interrupt 1 using 0 //定時(shí)器0 { TR0=0; Inof_Tm++; if(Inof_Tm==30){ key_old=0; Inof_Tm=0; TM++; if((TM%2)==0) Disp_flag=1; else Disp_flag=2; } TH0=TL0=Tm_con; TR0=1; } /*中斷用是全局就量*/ |
|
| 5樓: | >>參與討論 |
| 作者: lu_weixi 于 2005/1/27 19:58:00 發(fā)布:
是中斷寄存器使用問題,解決了!下以是修改后的程序 void delay(uint tm) //延時(shí)tm(MS) { uchar i; // EA = 0; for(;tm>0;tm--){ for(i=0;i<225;i++); for(i=0;i<225;i++); } // EA = 1; } void Timer0() interrupt 1 using 1 //定時(shí)器0 { TR0=0; Inof_Tm++; if(Inof_Tm==30){ key_old=0; Inof_Tm=0; TM++; if((TM%2)==0) Disp_flag=1; else Disp_flag=2; } TH0=TL0=Tm_con; TR0=1; } /*中斷用是全局就量*/ |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |