|
|||||||||||
| 技術(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 |
兩個(gè)或兩個(gè)以上編碼器同時(shí)工作的問(wèn)題,請(qǐng)大家?guī)蛶兔Γ?/h1> |
| 作者:dizhu 欄目:單片機(jī) |
void judge_D1B(void) { delay(12); if((D1_A==0)&&(D1_B==1)) { timer_flag=0; num_timer=0; TR0=1; //啟動(dòng)定時(shí)器0 while((D1_A==0)&&(timer_flag==0)) ; TR0=0; if(timer_flag==1)return; delay(12); if(D1_A==1&&D1_B==1) { timer_flag=0; num_timer=0; TR0=1; //啟動(dòng)定時(shí)器0 while((D1_A==1)&&(timer_flag==0)) ; TR0=0; if(timer_flag==1) return; P1=0x23; delay(12); P1=0x80; } } } void timer0(void) interrupt 1 using 1 { TH0=-(46080/256); TL0=-(46080%256); num_timer++; if(num_timer==8) { num_timer=0; timer_flag=1; } } 在主程序里面檢測(cè)編碼器的狀態(tài)if((D1_A==0)&&(D1_B==1)),如果該條件成立則執(zhí)行上面的編碼器處理程序。臨界狀態(tài)就是指編碼器停留在((D1_A==0)&&(D1_B==1))這個(gè)狀態(tài)上。還請(qǐng)各位指點(diǎn)下,謝謝。。 |
| 2樓: | >>參與討論 |
| 作者: dizhu 于 2007/1/31 15:17:00 發(fā)布:
都沒(méi)有人理我呢?!謝謝大家了,幫幫忙 |
|
| 3樓: | >>參與討論 |
| 作者: xinking500 于 2007/1/31 15:22:00 發(fā)布:
看不懂`~ |
|
| 4樓: | >>參與討論 |
| 作者: dizhu 于 2007/1/31 16:10:00 發(fā)布:
暈! |
|
| 5樓: | >>參與討論 |
| 作者: ocon 于 2007/1/31 18:28:00 發(fā)布:
實(shí)現(xiàn)方法有誤, 應(yīng)該用A或B相的信號(hào)跳變觸發(fā)中斷來(lái)判斷編碼器的狀態(tài)。 水平有限,我看不出你的程序想完成什么功能。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |