求解微控制器問題,請問這種題怎麼判斷呀,關於中斷訊號的

時間 2022-05-02 08:30:08

1樓:黑豹

這是我30多年前學習的課程,人生苦短!

表一:只有 c/t2(et2) 不允許中斷。

表二:外部中斷0 優先順序最高。

表三:中斷源查詢順序。

正確答案是 a 。

2樓:

中斷源提出中斷請求,由中斷控制允許控制決定是否響應中斷,如果允許響應中斷,則cpu按設定好的優先順序的順序響應中斷。如果是同一優先順序的中斷,則按微控制器內部的自然優先順序順序(外部中斷0→定時器0中斷→外部中斷l→定時器1中斷→序列介面中斷)響應中斷。

你的判斷題一個是外邊中斷0

3樓:羊人傳閣

這個現在真不會了,數字邏輯學早忘光了…

一個關於微控制器中斷的問題

4樓:匿名使用者

1,串列埠中斷開啟、且ti=0;

2,執行任何一條以buff為目標暫存器的的指令3,一幀訊號傳送完畢,將置位傳送中斷標誌ti=1;

4,向cup申請中斷; (完成一次傳送 )5,cup響應中斷,進入中斷程式。 執行中斷,中斷返回;

6,繼續執行下一條指令。

沒開中斷時

1,執行任何一條以buff為目標暫存器的的指令2,一幀訊號傳送完畢,將置位傳送中斷標誌ti=1;

3,繼續執行下一條指令。

微控制器的中斷問題。。。

5樓:

「那個中斷函式和主函式直接是什麼關係?為什麼寫在主函式後邊但是主函式又沒引用?」

中斷函式無需被顯式呼叫。當有相應的中斷產生時,程式會自動中止當前的執行、記錄位置,然後跳轉到相應的中斷入口處。而在中斷入口會進行二次跳轉,到程式中對應的中斷處理函式內並執行。

中斷處理函式執行完畢返回後,跳回到剛才中止執行的位置繼續執行。

「電平觸發方式應該是exo=0呀,為什麼那個主函式裡的exo=1??」

ex0=1;代表使能外部中斷0。後面的it0=1;才是設定觸發方式。這裡的程式設定為了下降沿觸發,的確與題目的要求不符。

「while(1),無限迴圈是咋回事」

while(1)意味著永遠滿足迴圈條件,因此會永遠執行後面大括號裡的函式體。這裡一般放的都是主迴圈體。如果沒有主迴圈體,微控制器執行一次主程式之後就會繼續向後執行跑到空白區,從而產生各種未知的執行結果並不斷復位。

6樓:匿名使用者

看得出來

你對cpu的中斷機制沒有弄清楚

中斷函式是由中斷事件直接呼叫的

所以主函式中沒有【引用】

.中斷函式和主函式沒有任何直接關係

唯一的間接關係就是:

在主函式中開放了中斷請求(exo=1)

如果沒有這行

中斷就不可能發生

中斷函式就永遠不被執行

按鈕就沒有任何反應

.【要產生一個低電平觸發的外部中斷請求】

這句話你要看完整啊,不要只看一段就亂說了

主語是什麼?別亂瞎說好不

這個低電平是由按鈕k1產生的

不是由**產生的

你的語文閱讀能力不咋地

.【那個主函式裡的exo=1】

不是用來觸發中斷的

而是用來開放中斷請求的(前面已經說過了)

**的右邊明明都寫了註釋呀

說明你沒看,或者就是看不懂

.【while(1),無限迴圈是咋回事】

你有沒有看迴圈體?

pi=0;

就是所有led都接地

就是點亮所有led呀

只要不按k1按鈕

所有led都亮著

.如果你沒有cpu的中斷概念

我上面說的,你肯定看不懂了,你得從0學起

我不可能在這裡給你補課的

7樓:覃學家康樂

樓上的沒理解你的硬體,你描述的也有問題,那種紅外遙控用的接收頭,接收到的是數字編碼,在有資料輸入的時候你測到4.5v是因為資料中有1有0.平均值是4.

5v。樓上的確是個高手,不過你不把電路說清楚也沒用啊。

8樓:沃寶橋雁芙

把所有需要產生中斷的引用一個邏輯晶片連線在一起,比如用一個多與非門,把要產生中斷的腳都接在輸入端,輸出端就接在int0或int1上,當輸入引腳任一一個腳變為低電平就觸發低電平中斷或邊延中斷,這樣一來不就完成了p0口和中斷的關聯了。

關於微控制器中的中斷問題

9樓:做而論道

微控制器有5個(相容型可能要多一些)中斷源,他們通過硬體檢測,出現了特定的條件,就從硬體的角度,給出中斷申請標誌。

這些都不是由軟體編寫出來的。

編寫軟體,可以進行中斷的開放、優先順序等設定。

程式執行期間,一旦出現中斷申請標誌,pc會自動轉到相應的中斷入口地址去取指令,執行中斷程式。

-----------------------------------

硬體檢測就是在晶片內部,由微控制器本身的電路來進行檢測,不需要程式設計來進行干預。

中斷申請標誌共有5種,只有兩種外部中斷,可以自動檢測外接的按鈕是否按下。

10樓:匿名使用者

問題挺多的。

給你舉一個例子吧:

比如我們用c語言寫了一個程式並且用程式設計器燒到微控制器裡邊了。

在c語言進行編譯的時候,就會自動把那些中斷程式的地址放到相應的中斷入口地址中。其中開機的時候肯定跳轉到main()函式那裡。當有一些中斷髮生的時候,比如串列埠中斷,就會觸發相應的串列埠中斷程式,當然還得滿足一定的條件。

建議,動手實驗一下,會理解的更快點。

11樓:延彗

這些中斷是由硬體實現的,比如外部中斷入口是0003h,那麼當微控制器的外部中斷被觸發時,會自動生成ljmp 0003h ,各個中斷的處罰條件不一樣,外部中斷就分電平觸發和沿觸發。當然這兩個用哪個是可以設定的。滿足條件就觸發了

12樓:匿名使用者

look!!!!!

org 0000h

ajmp main

org o00bh

ajmp intt0

org 0030h

main:^^^^^

復位後,從0000h處執行,這個位置安排的ajmp main,所以中斷沒有被執行,而當有中斷產生時,就自動到了中斷的入口地址000bh,這個地方安排的是跳轉到中斷服務程式的跳轉指令:ajmp intto

明白了嗎?如果還是沒明白,就想樓上說的,好好看書就好了

13樓:

由硬體完成的pc指標暫存器內的數值改變,這樣就轉到了中斷服務程式。不用軟體設定。

14樓:一萬光年

你該多看看書和教材了....

關於51微控制器中斷的一個問題

15樓:

ex0是外部中斷使能,不是觸發的。外部中斷由外部訊號引發。所以不是你說的那樣。

你這句「我知道中斷的觸發是當檢測到ex0=1時觸發的吧,而執行中斷後返回中斷點執行後面的內容,但是如果ex0一直都是1的話那不就一直在執行中斷內容嗎?」完全錯誤。

是檢測到低電平 或者 下降沿引起中斷的。此程式中是低電平。因為你設定了it0=0;

程式執行時在中斷程式處:d1=0;

設定一個斷點,看看有沒有進去再說。有問題給我發訊息。

16樓:匿名使用者

樓上兄弟說的對,

二級兄弟還要多看書,好好學習

微控制器問題求解

宇宙跳躍 1.1 mov a,r1 mov r2,a 1.2 mov dptr,9000 movx a,dptr mov dptr,8000 mov dptr,a 1.3 mov a,20h jnz loop 1.4 mov a,20h cjne a,21h,3 jc nummax mov p?20...

51微控制器燒錄問題,求解答啊

檢查你的微控制器電源 時鐘 復位 回答打字需要一點時間,我會很快回復您,請您稍等片刻 提問好的 回答很高興為您服務 有以下五種解決辦法,您可以根據您的實際情況選擇。1.有沒有掉電。如果沒有自動掉電的電路時,需要手動掉電 2.微控制器的晶振有沒有安裝好,是否有缺失,晶振的負載電容是否合適 3.ch34...

新手學習微控制器的問題,新手學微控制器怎麼入門?

蛀牙患者 還是要學點數位電路基本的閘電路要看的動 還有就是要學點電路基礎不然看不動的哦!都不用太精的,花個一兩週時間 就可以了 最好是買塊微控制器找者書上搭個 最小系統 把他的 引腳搞清出了 然後學到最後可以自己擴充套件一些小電路作一點東西了至於c程式設計,只要你動了彈片機,有一點c基礎就可以看的動...