我在keil軟體 用c語言寫51微控制器的時候發現?

2023-06-14 06:30:12 字數 1934 閱讀 9926

1樓:無畏無知者

當你發現不合理,而執行結果卻合理的時候,你有沒有想到應該怎麼做才能合理地共享這些暫存器呢?

其實,c語音的變數並不直接定義到暫存器,而是定義到記憶體單元,暫存器算是個中介,資料從記憶體取出臨時存放到暫存器,然後將當時用不上的資料又從暫存器回寫到記憶體,這樣就解決了暫存器共享問題了;

另外,你在除錯時,再開啟個反彙編視窗,跟蹤c語音程式的彙編**,就更清楚了;

2樓:夢姐

不會改變其他變數的值不會改變其他變數的值,因為變數的值都儲存在暫存器中,在變數的值發生變化的時候,該變數所在的暫存器中的值會發生變化,而其他變數所在的暫存器中的值不會變化。

3樓:匿名使用者

直接用組合語言就不會出現這種情況的。當然用組合語言編寫時,要注意每個暫存器的變化。你用了一個 居然,怕什麼呢?

除非keil把c編譯成彙編不成功。但作為大公司應該考慮的,你不用擔心。 事實上直接用匯編更加自由發揮,更加有效率,就不會被c所侷限了。

你是否全面跟蹤了,最後發現擔心是不必須要的。

keil裡的c語言問題?

4樓:做而論道

輸出 0xf7,即在 p13 輸出低電平。

如果在 p13 所處的列,沒有按鍵按下,讀回的值,就仍然還是 f7。

如果讀回的值,不是 f7,那就是 p13 列有鍵按下了。

不是 f7,會是什麼?

那就是:77、b7、d7、e7。

分別代表: p13 列,幾個鍵的**。

然後,程式再給它們另外規定鍵值。

c語言版51微控制器程式設計問題?

5樓:ccc菜辣椒

你所說的「沒有什麼聯絡、各自獨立執行」頗令人費解。既然如此,感測器檢測的數值有什麼用?傳給上位機?

led以及步進電機在什麼條件下動作?由上位機控制?如果是這樣,就做成單純的串列埠驅動型應用就可以了。

keil微控制器程式設計的大佬幫忙看看? 5

6樓:無畏無知者

1)電路圖有錯,不能從p2口獲取控制訊號,所以要斷開 u2 的 cs 與 u1 的 的連線,直接把 cs 接地即可;

2)在**上,直接定義資料如下:

xdata char da;

那麼就可以執行**。

for ( i=0; i<20; i++)去試試吧。

怎麼在keil中編寫c語言程式

7樓:昨天我很壞

其實很簡單,建立project跟你平時一樣然後新建file,直接儲存,會提示你儲存名字,這時預設的字尾是。txt,你直接將名字改成***c儲存。

然後再在左邊放原始檔的目錄右鍵單擊,(英文版)選單中會出現一個add...檔案之類的選項,選擇之後會出現瀏覽對話方塊,找到你剛才儲存的***c檔案確認新增就ok了。

可以在裡面編寫你的c程式了。

注意你點選完增加後看起來會沒有反應,其實c檔案已經加入了專案。你出來看下就發現他已經在了。

閏年用c語言怎麼寫

1 開啟visual studio編輯器,新建一個c語言檔案,在最前面引入標準庫檔案,然後定義一個main主函式 2 主函式中先定義一個int型的變數,用來儲存使用者輸入的數字,然後yongscanf控制輸入,輸入的值傳遞給a變數,接著判斷是否為閏年,判斷條件為能被4整除而不能被100整除或者是能被...

51微控制器c語言裡nop函式怎麼用

在單片bai機c語言中直接調du用庫函式即可,具體如下 zhi include 宣告瞭void nop void nop 產生一條 daonop指令。該函式的內作用 對於延時容很短的,要求在us級的,採用 nop 函式,這個函式相當彙編nop指令,延時幾微秒。nop指令為單週期指令,可由晶振頻率算出...

51微控制器,用c語言,如何用矩陣鍵盤為變數char a賦

4 4矩陣按鍵構架 火柴天堂作品 20110921 源程式預設硬體環境 52微控制器,12mhz晶振,p1口 4 4矩陣鍵盤,詳細布局如下 預設矩陣佈局,按鍵掃描方式1使用 p0 p1 p2 p3 p4 s1 s2 s3 s4 p5 s5 s6 s7 s8 p6 s9 s10 s11 s12 p7 ...