標(biāo)題: 51單片機(jī)外部中斷一個(gè)尷尬的問(wèn)題,2種方式如何區(qū)分? [打印本頁(yè)]

作者: tianqi911    時(shí)間: 2018-9-28 09:51
標(biāo)題: 51單片機(jī)外部中斷一個(gè)尷尬的問(wèn)題,2種方式如何區(qū)分?
使用了外部中斷1,觸發(fā)方式選的是1,下降沿;結(jié)果發(fā)現(xiàn)和0,低電平?jīng)]啥區(qū)別。
就是中斷里關(guān)閉PWM。
有2點(diǎn)疑問(wèn),請(qǐng)大神們指導(dǎo):
1,我怎么去測(cè)量究竟是那種觸發(fā)方式?
2,它們真的有區(qū)別嗎?(個(gè)人理解是都是給1個(gè)信號(hào),把中斷打開(kāi)就行了)
3,它們是不是從持續(xù)時(shí)間長(zhǎng)短來(lái)判斷是 “跳水一次”還是“一直在水里”?
4,我發(fā)現(xiàn)(不知道是不是問(wèn)題?)把那個(gè)有中斷的I/O口 初始化 設(shè)置成 高電平,會(huì)有時(shí)靈,有時(shí)不靈?     (軟件還是硬件有問(wèn)題?)

作者: ahshmj    時(shí)間: 2018-9-28 11:10
本帖最后由 ahshmj 于 2018-9-28 11:11 編輯

區(qū)別肯定是有的。下降沿觸發(fā):比如你的外部中斷引腳一直處于低電平狀態(tài)是不會(huì)產(chǎn)生中斷的。這時(shí)如果你給引腳一個(gè)高電平并一直保持,也不會(huì)產(chǎn)生中斷。只有等高電平消失的瞬間,也就是從高電平到底電平的變化的瞬間才會(huì)產(chǎn)生一次中斷。
而低電平觸發(fā),則是只要是低電平就可以觸發(fā)中斷,中斷程序執(zhí)行完成后,再次檢測(cè)到引腳仍然是低電平就會(huì)再次產(chǎn)生中斷。
作者: sxhwdz    時(shí)間: 2018-9-28 12:02
     經(jīng)典51單片機(jī)的外部中斷方式0低電平,1下降沿,但是低電平因?yàn)闀?huì)重復(fù)觸發(fā)中斷,很少被使用。
     現(xiàn)在STC的單片機(jī)已經(jīng)把低電平觸發(fā)改成了上升,下降沿都觸發(fā)。當(dāng)ITx=0,那么系統(tǒng)在相應(yīng)引腳探測(cè)到上升沿或下降沿都可產(chǎn)生中斷,當(dāng)ITx=1時(shí),只有下降沿才可產(chǎn)生中斷。
     所以在使用自己不熟悉的單片機(jī)之前,最好是下載相應(yīng)的資料查看一下,不能僅憑經(jīng)驗(yàn)。
作者: mrhan1992    時(shí)間: 2018-9-28 12:30
低電平觸發(fā)和下降沿觸發(fā)還是有區(qū)別的。低電平觸發(fā)是在檢測(cè)到低電平時(shí),會(huì)觸發(fā)中斷,而下降沿觸發(fā)則是在由高電平變換到低電平時(shí)進(jìn)行邊沿檢測(cè)時(shí)觸發(fā)中斷。觸發(fā)條件是不一樣的。
作者: 1634236584    時(shí)間: 2018-9-28 13:04
下降沿是1變0才出觸發(fā),低電平是只要是0就觸發(fā)。肯定是不一樣的
作者: tianqi911    時(shí)間: 2018-9-28 14:36
sxhwdz 發(fā)表于 2018-9-28 12:02
經(jīng)典51單片機(jī)的外部中斷方式0低電平,1下降沿,但是低電平因?yàn)闀?huì)重復(fù)觸發(fā)中斷,很少被使用。
     現(xiàn) ...

贊一個(gè)。你說(shuō)的意思我有點(diǎn)明白了。
作者: tianqi911    時(shí)間: 2018-9-29 09:44
ahshmj 發(fā)表于 2018-9-28 11:10
區(qū)別肯定是有的。下降沿觸發(fā):比如你的外部中斷引腳一直處于低電平狀態(tài)是不會(huì)產(chǎn)生中斷的。這時(shí)如果你給引腳 ...

非常感謝。一直以為低電平也是就一下,不過(guò)就是持續(xù)時(shí)間長(zhǎng)而已。
作者: 凌凈清河    時(shí)間: 2018-10-6 17:35
二樓的ahshmj說(shuō)的最貼切,我再多啰嗦一下。單片機(jī)是一個(gè)處理和計(jì)算的中心,中斷是對(duì)外界的狀態(tài)給予即刻響應(yīng)的一種途徑,但是外界的情況千變?nèi)f化,原本不是一個(gè)電平可以描述的,所以,對(duì)于只有二進(jìn)制0和1兩種狀態(tài)的單片機(jī)來(lái)說(shuō),就需要進(jìn)行具體的判斷,中斷的觸發(fā)可以理解為對(duì)外界電平變化的特征值獲取,而后在中斷服務(wù)函數(shù)中查看和處理,判斷這個(gè)變化是否是有效的,進(jìn)而做出動(dòng)作。
電平的變化方式多種多樣,高低電平、上升沿、下降沿、正負(fù)脈沖是主要的方式,ahshmj說(shuō)的一種情況是這樣:假如外部中斷連接的設(shè)備在上電的時(shí)候是高電平,正常工作之后會(huì)變?yōu)榈碗娖剑敲磫纹瑱C(jī)檢測(cè)這個(gè)電平變化就可以知道該設(shè)備狀態(tài)的變化,從而在中斷中進(jìn)行處理、記錄、重啟設(shè)備等等操作。這個(gè)時(shí)候外部中斷的觸發(fā)方式就尤為重要了。
作者: tianqi911    時(shí)間: 2018-10-8 13:21
凌凈清河 發(fā)表于 2018-10-6 17:35
二樓的ahshmj說(shuō)的最貼切,我再多啰嗦一下。單片機(jī)是一個(gè)處理和計(jì)算的中心,中斷是對(duì)外界的狀態(tài)給予即刻響應(yīng) ...

謝謝高人。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1