51微控制器程式設計和arm裸機程式設計有什麼差別

2021-04-21 20:57:52 字數 643 閱讀 3477

1樓:

其實51和arm是一樣的東西,都是微控制器,只不過arm是51的升級,比51更高階一些而已

專,「c語言寫個main函式就可屬

以控制51」是因為在建工程的時候調入了模板,對於片內外設最好在main函式的開始初始化一下(51和arm都要),如果沒有初始化,可能是沒有用這些片內外設,或者程式寫的比較簡單,堆疊在模板中都有設定(51和arm都是),所以如果沒有特殊需要不用設定。

2樓:匿名使用者

arm也可以直bai接祼跑,這是沒du問題的,比如寫一段代zhi碼實現一個埠dao上的回led閃爍,但要注

意這樣幾件答事情,

啟動**的對映

堆疊初始化

時鐘初始化

這幾件事,有的晶片需要做,有的不需要,但你應該保證這些事情都是確定的,如果寫c**,一般在啟動**中都做好了,所以你不需要管,要用匯編,那就要你管了。

另外,埠輸出也不像51,簡單的寫0就完了,可能要配置埠方向,開啟埠的工作時鐘。。。

結論,arm本質上也是一塊晶片,直接用匯編當然可以用,但它比51的功能多太多了,或者說相對於51,它太複雜了,用匯編太容易出錯,還是用c的好些。

請問arm與微控制器用起來有什麼區別?謝謝!

51微控制器程式設計時彙編和c語言如何結合

c語言和組合語言之間主要存在 相互呼叫 混合程式設計等關係,舉例來說吧 1 c語言呼叫匯編子程式 此時,彙編子程式需要申明為外部程式 include extern void delay void sbit pluse p1 0 main 彙編子程式 彙編部分需要做如此處理。public delay ...

51微控制器程式設計,為什麼只有數碼管亮。微控制器是STC89C52RC,程式是看的郭天祥的

解釋一來下wela,dula是指什麼?如果是數原始碼管的公共端,bai那說明一下du是共陰還是共陽?根據我的理解zhi,如果要兩個數dao碼管一起亮,應該把上面的幾句都包含在while 1 迴圈內吧?即 include sbit dula p2 6 sbit wela p2 7 void main ...

51微控制器c語言程式設計能給位賦值麼

keil的話可以。開啟你的reg51 或reg52等 標頭檔案,你就會看到已經宣告的位變數,格式是 sbit 位變數名 sfr名 位地址值 p3也是標頭檔案中最開始部分宣告的 標頭檔案中有 sbit wr p3 6 所以你直接寫 wr 1就行了 c語言中不能直接給二進位制某一位賦值 但是可以通過按位...