1樓:匿名使用者
no no no,也是可以查到的,前提是你不要在主程式裡面去讓led閃,那樣的話鐵定是查不到5s內連續的兩個動作的。
可以這樣,在主程式中去輪詢每個p2腳上的輸入,然後開一個定時器,在定時器中斷裡面去閃燈,可以為每一個燈設定一個計數值,每隔固定時間定時中斷(如500ms)加一次計數值,那麼當對應計數值加了十次後,說明對應的led閃夠了,把它的引數再清零,等下次狀態。
就是說把閃燈的任務交給定時器中斷去,這樣在每個500ms內主程式依然正常輪詢p2口,兩邊都不耽擱
2樓:做而論道
不用外部中斷,也可以實現的。
需要用到定時中斷。
參考
3樓:匿名使用者
當然要用中斷,但不是外部中斷,是定時器中斷定時器中斷產生時基例如50ms,
我的思路是主程式不斷地查詢p2 口 ,當查詢到某一位為0時(如p2.0),立即將對應的p1引腳(如p1.0)置0,點亮led0,並且對某個變數如time0置初值100(100*50ms=5s)
在定時器中斷程式裡,不斷查詢p1口各引腳的狀態,如果這個引腳狀態是0,就對其對應的變數(如time0)進行減1操作,並且判斷其值是否為0,若為0,說明5s已到,則熄滅該led
這樣主程式在查詢,中斷程式也在查詢,查詢的結果都是操作led和 timex變數
主程式負責點亮led,中斷程式負責定時熄滅led.主程式負責設定time初值,中斷程式負責將其逐步歸0你認為行嗎?
51微控制器外部中斷是哪幾個管腳?
4樓:與你最初
五個中斷有指定的io口,一般51微控制器是p3.2是int0,p3.3是int1,p3.
4是t0,p3.5是t1,int0和int1是外部中斷,t0和t1是定時器,es是序列口中斷允許位,et1是定時器1中斷允許位,ex1是外部中斷允許位,et0和ex0類似。
要產生中斷,必須先配置好並使能中斷線。根據需要的邊沿檢測設定兩個觸發暫存器,同時在中斷遮蔽暫存器的相應位寫1允許中斷請求。
當外部中斷線上發生了期待的邊沿時,將產生一箇中斷請求,對應的掛起位也隨之被置l。在掛起暫存器的對應位寫1,將清除該中斷請求。
如果需要產生事件,必須先配置好並使能事件線。根據需要的邊沿檢測通過設定兩個觸發暫存器,同時在事件遮蔽暫存器的相應位寫1允許事件請求。
當事件線上發生了需要的邊沿時,將產生一個事件請求脈衝,對應的掛起位不被置1。通過在軟體中斷/事件暫存器寫1,也可以通過軟體產生中斷/事件請求。
擴充套件資料:
外部中斷的觸發有兩種觸發方式:電平觸發方式和跳沿觸發方式。
電平觸發方式
若外部中斷定義為電平觸發方式,外部中斷申請觸發器的狀態隨著cpu在每個機器週期取樣到的外部中斷輸入線的電平變化而變化,這能提高cpu對外部中斷請求的響應速度。
當外部中斷源被設定為電平觸發方式時,在中斷服務程式返回之前,外部中斷請求輸入必須無效(即變為高電平),否則cpu返回主程式後會再次響應中斷。所以電平觸發方式適合於外部中斷以低電平輸入而且中斷服務程式能清除外部中斷請求源(即外部中斷輸入電平又變為高電平)的情況。
跳沿觸發方式
外部中斷若定義為跳沿觸發方式,外部中斷申請觸發器能鎖存外部中斷輸入線上的負跳變。即便是cpu暫時不能響應,中斷申請標誌也不會丟失。
在這種方式裡,如果相繼連續兩次取樣,一個機器週期取樣到外部中斷輸入為高,下一個機器週期取樣為低,則置「1」中斷申請觸發器,直到cpu響應此中斷時才清』0』。
這樣不會丟失中斷,但輸入的負脈衝寬度至少保持12個時鐘週期(若晶振頻率為6mhz,則為21xs),才能被cpu取樣到。外部中斷的跳沿觸發方式適合於以負脈衝形式輸入的外部中斷請求。
5樓:華北
呵呵,不知道您用的是哪個教程。但這個教程的這種說法是不恰當的。標準mcs-51微控制器只有兩個外中斷,int0和int1,才不是五個呢。
您問題裡的所謂「五個外部中斷」,是cpu的中斷源,但中斷有內部中斷和外部中斷。所以在這五個裡,只有int0和int1才是外中斷,而et0(定時器0中斷)、et1(定時器1中斷)、es(串列埠中斷)都是內部中斷。
51微控制器引腳斷了,但是沒用該引腳,會導致微控制器抗干擾能力差嗎
6樓:獨風輕揚
把p25口選擇為i/o口,並設定為輸出1或者0,如果引腳是輸入的話,懸空的引腳可能會收到噪聲干擾,造成程式錯亂。
7樓:匿名使用者
p25埠i / o埠,並設定輸出1或0,如果該引腳為輸入引腳懸空,可能會收到噪音的干擾,導致程式混亂。
8樓:匿名使用者
程式初始化的時候讓該引腳埠用內部下拉或者上拉到一穩定的電平,這樣就不會造成干擾了,程式跑飛多從你的軟體方面考慮。一般就是懸空不管也不會出事的。
9樓:匿名使用者
你將該斷腿的引腳設為輸出或高阻,應該就可以正常,預設應該是雙向口。
10樓:匿名使用者
一個51才幾個錢啊,不能再買一個啊
11樓:匿名使用者
沒用還是接地吧,用電阻腿來焊一下
微控制器中斷的意思,51微控制器外部中斷到底什麼意思?
八哥說科技 中斷就是指處理機執行過程中,出現某些意外情況需主機干預時,機器能自動停止正在執行的程式並轉入處理新情況的程式,處理完畢後又返回原被暫停的程式繼續執行。中斷就是微控制器處理任務a時,發生了觸發中斷的條件停下來執行另一個任務b,觸發中斷的條件就屬於中斷源,任務b就是中斷任務 中斷服務函式 當...
51微控制器串列埠通訊中斷的問題,51微控制器串列埠通訊問題
肯定不會執行while ti 0 下面的程式的,因為你的中斷開著,程式跳到中斷服務程式裡面了,然後中斷處理結束了之後,ti自動清零了,所以一直在while ti 0 無限迴圈。程式裡面,既然開通了中斷功能,那你就一直使用中斷功能,為什麼你還要使用查詢功能呢?甚至有時把中斷給禁止了,這裡面容易出現問題...
MCS 51微控制器的中斷問題,MCS 51微控制器問題?
中斷系統中有兩個 使用者不能使用的 優先順序狀態觸發器 其中一個,置1時,表示正在執行高優先順序的中斷,遮蔽所有中斷請求 還有一個,置1時,表示正在執行低優先順序的中斷,遮蔽同級中斷請求.明白了吧?其實就是說這兩個觸發器,是使用者無法訪問到的,是內建且自動賦值的.一旦有高優先順序的中斷執行了,第一個...