為什麼51微控制器可以執行c語言,為什麼51微控制器可以執行c語言

2021-03-03 20:50:51 字數 1156 閱讀 2614

1樓:匿名使用者

所有計算機在bai執行程式時,肯du定是要執zhi行機器語言的程

2樓:匿名使用者

因為開發時就支援,提供了相應的編譯,及硬體控制等,其次,執行時也是轉化成對應的程式語言。

給51微控制器程式設計用的c51與c語言有什麼區別?

3樓:商秀榮孝甲

其實區別不是太多。c語言中的所有運算子,在c51中都可以用。但是c51也有特有運算子,如sbit,還有特殊的暫存器名等可以直接寫。c語言中沒有相關的內容。

51微控制器c語言中<<=和|=的意思是什麼?

4樓:匿名使用者

u8***data<<=1 相當於 u8***data = u8***data<<1,

u8***data|=u8temp 相當於 u8***data = u8***data | u8temp。

類似的還有:+=、 -=、 *= 、 /= 、%=、>>= 、&= 、~= 、 ^=。

這在c語言中叫做複合賦值運算子。格式如下:

變數 複合賦值運算子 表示式

解釋:首先對變數進行某種運算(運算子就是"="前的運算子,運算物件就是"="後面的表示式或變數或常數),然後再將結果賦值回該變數(就是「=」)。

5樓:匿名使用者

這兩個都是特殊的賦值運算子。這類運算子的形式為op=,為雙目運算子,即需要左右都有操作表示式。其中左側必須為可改變值的變數,右側可以為任意表示式。

對於op=的運算子,其含義為:

aop=b; 等同於a = a op b;

對於題目中涉及的兩個運算子,分別為:

a <<= b; 等效於a = a << b; 即a左移b位後賦值給a。

左移操作的規則為,高b位捨去,其它依次向高位(左側)移動b位,低b位新增0。

a|=b;等效於a=a|b;即a與b執行按位或操作,結果賦值給a。

或操作的規則為,按位執行,只有相同位上的值均為0時,結果的對應位上為0,否則結果對應位上為1。

6樓:匿名使用者

a <<= b; 就是 a = a << b;

a |= b; 就是 a = a | b;

微控制器c語言延時程式,51微控制器C語言中delay函式是怎麼定義和使用的?

用定時器 可以衍生出定時中斷和標記迴圈查詢法 還有直接用軟體語句硬性延時 這個需要實際測試和調校過才比較準 但不管是哪一種,其最終 還是要依據微控制器工作頻率,具體的需要解釋太多,你還是看看對應微控制器的datasheet的各模組說明吧 可以用for迴圈延時 但是精度不夠 最好用定時器中斷 比如用定...

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

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

如何在51微控制器使用c語言跟組合語言

如何用keil在 baic中嵌入彙編 要在duc檔案zhi中要嵌入彙編dao的地方用 pragma a 和 pragma enda 分隔開來內 具體請查容看 keil c 手冊裡有介紹 在c檔案中要嵌入彙編的地方用 pragma a 和 pragma enda 分隔開來 要問什麼啊,是程式呢,還是哪...