請教一個微控制器賦值的問題,微控制器賦值問題?

時間 2023-05-17 01:51:02

1樓:匿名使用者

您說的這個問題,就是作業系統的理論中所說的「程序互斥」的問題。

兩個可能互相打斷的程序,如果都訪問(讀寫)同一個資料結構(或其它型別的資源),有些時候就有出錯的可能。

解決的辦法,對於不分優先順序的兩個程序,稍微複雜些,對於有優先順序的情況就簡單了:在較低優先順序程序的程式中,在「怕打斷」的部分臨時性的「關中斷」即可。

這裡需要確定「怕打斷」的範圍,即所謂「臨界段」。在臨界段之前加入「關中斷」的操作,之後加入「開中斷」的操作。

臨界段」應該儘量選的短一些。因為關中斷時間長了,會影響高優先順序程序操作的「準時性」,在許多實際應用中,這是不好的。

在組合語言程式中,容易做到儘量短。高階語言如c語言就不如組合語言那樣容易做到儘量短了。但也可以適當注意。

例如,假如x2是兩個程序都要訪問的變數,而在較低優先順序的程序中有:

x2 = 一個很複雜的表示式 */

如果在這個賦值語句的前後「關中斷——開中斷」,自然關的時間就嫌長了。

而引入一個變數x1來做中**

x1 = 一個很複雜的表示式 */

關中斷;x2 = x1; 開中斷;

這樣關的時間就可以短一些。

也有的時候,高優先順序的程序有很多個不同的中斷,而我們只需要防止其中的某一箇中斷來打斷,也可以採取某種措施,並不去總的「關中斷」,而是有選擇性的只關某一箇中斷。

2樓:匿名使用者

這個問題是共享資料完整性的問題,確實需要慎重對待,一般的解決方法是,求出運算結果x1以後,禁止中斷,執行 x2=x1 後再允許中斷。只要賦值不是一條指令能完成的,都應該這樣處理。

微控制器賦值問題?

3樓:無畏無知者

從電路看,要想點亮led,qn得為低電平(n=0,1,2...7),那麼其對應的輸入訊號 dn為低電平,也即 p1對應輸出端為低電平;

所以有這樣說你明白了麼。

請教微控制器邏輯電路題目,謝謝,請教一個微控制器邏輯電路題目,謝謝。

做而論道 先把邏輯圖寫成表示式,再應用摩根定理化簡,最後寫成 p3.0 p1.0 p1,1 p1.4 p1.5 p1.6 這就簡單多了,四個取反的步驟,都化沒了。程式如下 c sbit a p1 0 sbit b p1 1 sbit c p1 4 sbit d p1 5 sbit e p1 6 sb...

微控制器問題,微控制器問題

船長 12mhz 12 1s 1ms 1000065536 10000 55536 d8f0mov tmod,01h t0工作方式1mov tl0,0f0h t0初值mov th0,0d8 h t0初值setb tr0 啟動t0 setb et0 允許t0中斷 setb ea 開總中斷 龍宇防盜監控...

微控制器的問題,微控制器的問題有哪些?

org 0000h 是巨集指令,本身不形成 只是指定彙編程式將其後的程式彙編後的 存入後面的地址中。因此 start ljmp main 指令ljmp main 的 存放在程式儲存器中0000h單元開始的幾個單元內。其標號start被賦予值0000h在程式中使用,在標號處是不佔用儲存單元的。org ...