|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
一個奇怪的現(xiàn)象,有人能解答嗎? |
| 作者:藍色魅力 欄目:技術(shù)交流 |
我寫了兩句簡單的程序來控制雙向晶閘管卻出現(xiàn)了無法解釋的現(xiàn)象. 程序如下: int1() interrupt 2 //正半波處理 {for(xh=0;xh<300;++xh);for(xh=0;xh<200;++xh)P1=0xfe;P1=0xff;} int0() interrupt 0 //負半波處理 {for(xh=0;xh<300;++xh);for(xh=0;xh<200;++xh)P1=0xfd;P1=0xff;} 就這個簡單的程序,晶閘管波形正常,但是偶爾有閃動現(xiàn)象 但是在中斷int1里面加TCON=0x05;EX1=0;EX0=1; 在中斷int0里面加TCON=0x05;EX1=1;EX0=0;竟然波形正常了,如何解釋呢, 還有就是不管加不加這三個語句半波控制總是正常的, 中斷是采用下降延觸發(fā)! |
| 2樓: | >>參與討論 |
| 作者: 藍色魅力 于 2005/10/24 17:20:00 發(fā)布:
頂 |
|
| 3樓: | >>參與討論 |
| 作者: bbstom 于 2005/10/24 18:19:00 發(fā)布:
我也遇到過同樣問題。 用低電平觸發(fā)和脈沖觸發(fā)的區(qū)別。 好象跟MCU有點關(guān)系? 懷疑是同步信號在交越時。。。 |
|
| 4樓: | >>參與討論 |
| 作者: 藍色魅力 于 2005/10/24 19:06:00 發(fā)布:
同仁同仁, 樓上的朋友你好那你有沒有解決這個問題呢?我現(xiàn)在雖然解決了這個問題了,但并不知道其中的原因,我怕有什么后遺癥,所以一定要搞明白其中原因,跟MCU有什么關(guān)系呢?在同一時刻只有一個中斷產(chǎn)生啊,按照道理MCU應(yīng)該不會產(chǎn)生什么沖突,同步信號只兩種情況,要么上升延要么下降延,難道說是在上升延的狀態(tài)下產(chǎn)生了下降延的干擾?除非在同步信號交越的一瞬間產(chǎn)生很多次干擾.你說這可能嗎? |
|
| 5樓: | >>參與討論 |
| 作者: computer00 于 2005/10/25 0:11:00 發(fā)布:
應(yīng)該是觸發(fā)信號不夠穩(wěn)定吧?導(dǎo)致了兩次中斷觸發(fā) 加個單穩(wěn)態(tài)上去看是否就正確了。 |
|
| 6樓: | >>參與討論 |
| 作者: bbstom 于 2005/10/25 8:17:00 發(fā)布:
同仁同仁: 同意樓上說的。是觸發(fā)信號不夠穩(wěn)定。 也可能是低電平觸發(fā)和脈沖觸發(fā)的區(qū)別。 有些MCU用下降延電平觸發(fā)沒問題。 但有些MCU要用低電平觸發(fā)沒問題。 要注意,下降延觸發(fā)(低電平觸發(fā))不可靠的。。。! 要確定它確實為下降才行。 例如: int1() interrupt 2 //正半波處理 { if(INT1==0)//它確實為下降 { for(xh=0;xh<300;++xh);for(xh=0;xh<200;++xh)P1=0xfe;P1=0xff; } } int0() interrupt 0 //負半波處理 { if(INT0==0)//它確實為下降 { for(xh=0;xh<300;++xh);for(xh=0;xh<200;++xh)P1=0xfd;P1=0xff; } } |
|
| 7樓: | >>參與討論 |
| 作者: wenbilin 于 2005/10/25 14:54:00 發(fā)布:
設(shè)兩個斷點,用仿真器調(diào)試。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |