| 
  |||||||||||
| 技術(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  | 
  
C51中的中斷參數(shù)怎么設(shè)置和傳遞? | 
  
| 作者:dong241 欄目:單片機 | 
C51的中斷怎么設(shè)置參數(shù)阿 還有 參數(shù)是怎么傳遞的阿 可否幫忙解釋一下 ? 謝謝了!  | 
  
| 2樓: | >>參與討論 | 
| 作者: dong241 于 2005/6/19 20:36:00 發(fā)布:
         怎么沒人發(fā)言阿? 我的同一個中斷源 但是在不同的觸發(fā)情況下要處理不同的事情 ,可是我就想不通該怎么將他們?nèi)シ珠_呢? 有沒有人遇到過類似的事情呢?可否給與建議? 謝謝!  | 
  |
| 3樓: | >>參與討論 | 
| 作者: hotpower 于 2005/6/19 20:42:00 發(fā)布:
         中斷是不可能也不能傳遞參數(shù)的 一個中斷向量即只有一個中斷入口地址,若硬件想復用此外部中斷時,必須在用其他IO通知中斷服務程序.一般軟件標志是不能區(qū)分的...  | 
  |
| 4樓: | >>參與討論 | 
| 作者: dong241 于 2005/6/19 20:45:00 發(fā)布:
         ?? 比如說用int1 那豈不是要進入到同樣的中斷程序了?那處理不同的事情可以么?  | 
  |
| 5樓: | >>參與討論 | 
| 作者: hotpower 于 2005/6/19 21:05:00 發(fā)布:
         同時中斷要分先后級 例如: P1.0,P1.1各為一個中斷源,P1.0,P1.1再各通過一個二極管(接負極)后復聯(lián)(及線與)后的公共端(正極)接INT1. 在INT1中斷中: /*------------------------------------ 外部INT1中斷服務程序 ------------------------------------*/ void int1proc() interrupt IE1_VECTOR using 1 { if (!P1^0 && !P1^1) {//同時中斷時 //加入P1^0中斷處理代碼 //加入P1^1中斷處理代碼 } else if (!P1^0) { //加入P1^0中斷處理代碼 } else if (!P1^1) { //加入P1^1中斷處理代碼 } } 或 /*------------------------------------ 外部INT1中斷服務程序 ------------------------------------*/ void int1proc() interrupt IE1_VECTOR using 1 { if (!P1^0) { //加入P1^0中斷處理代碼 } if (!P1^1) { //加入P1^1中斷處理代碼 } } 上例較好,但費代碼.下例雖省代碼,但存在P1^0中斷處理代碼過長時,P1^1信號丟失的問題...  * - 本貼最后修改時間:2005-6-19 21:07:51 修改者:hotpower  | 
  |
| 6樓: | >>參與討論 | 
| 作者: dengm 于 2005/6/19 21:13:00 發(fā)布:
         ps:這種情況,中斷要用電平方式  | 
  |
| 7樓: | >>參與討論 | 
| 作者: hotpower 于 2005/6/19 21:22:00 發(fā)布:
         不用電平方式也問題不大,關(guān)鍵在信號的脈寬能否被中斷捕捉 /*------------------------------------ 外部INT1中斷服務程序 ------------------------------------*/ void int1proc() interrupt IE1_VECTOR using 1 { unsigned CHAR tmp; tmp = P1;//關(guān)鍵是否能在此處可靠捕捉 if (!(tmp & 0x01)) { //加入P1^0中斷處理代碼 } if (!(tmp & 0x02)) { //加入P1^1中斷處理代碼 } } 電平方式比較討厭,如果其信號寬度小于中斷服務處理時間即可. 51就是沒AVR等上下沿都觸發(fā)的功能好...  * - 本貼最后修改時間:2005-6-19 21:26:34 修改者:hotpower  | 
  |
| 8樓: | >>參與討論 | 
| 作者: dong241 于 2005/6/19 21:27:00 發(fā)布:
         呵呵 ,其使用一個標志位就可以搞定了! 謝謝各位了 !  | 
  |
| 9樓: | >>參與討論 | 
| 作者: dong241 于 2005/6/19 21:28:00 發(fā)布:
         中斷原來使用起來這么有意思! 呵呵 看來要走的路還很長!  | 
  |
| 10樓: | >>參與討論 | 
| 作者: hotpower 于 2005/6/19 21:32:00 發(fā)布:
         硬件復用必有代價,天下沒有白吃的干飯 P1.0和P1.1就是硬件傳遞給中斷的"參數(shù)"...  * - 本貼最后修改時間:2005-6-19 21:35:39 修改者:hotpower  | 
  |
| 11樓: | >>參與討論 | 
| 作者: zhj_dz 于 2005/6/19 22:13:00 發(fā)布:
         建議 可在中斷程序中來區(qū)分,以執(zhí)行不同的操作。  | 
  |
  | 
    
 
  | 
  
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 | 
Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號  |