51微控制器自學筆記(二) C語言基礎知識

2021-10-08 21:23:34 字數 2701 閱讀 9782

二進位制:二進位制是計算機/微控制器中常用的一種數制,二進位製用0和1兩個數碼來表示數,進製規則是逢二進一,借一當二

十進位制:我們生活中常用的就是十進位制,十進位製用0~9十個數碼來表示數,進製規則是逢十進一,借一當十

十六進製制:十六進製制也是計算機/微控制器中常用的一種數制,它由0~9和a—f組成,字母不區分大小寫。與十進位制對應的關係是:0—9對應0—9;a—f對應10—15;進製規則是逢十六進一,借一當十六

(1)語言簡潔、緊湊、使用靈活;

(2)運算子豐富;

(3)具有資料型別構造能力;

(4)具有很強的流程控制結構;

(5)語言生成的**質量高;

(6)可移植性較好;

(7)語法限制不嚴格。

計算機中資料常用的單位有太位元組(tb)、吉位元組(gb)、兆位元組(mb)、千位元組(kb)、位元組(b)、字位(bit)。

1tb = 1024gb

1gb = 1024mb

1mb = 1024kb

1kb = 1024b

1b = 8bit

c語言中資料在計算機中存放情況由資料型別決定。c語言中基本資料型別如下表所示:

c語言中識別符號是用來標識程式中某個物件的名稱。乙個識別符號由字母、數字和下劃線組成,且第乙個字元必須是字母或者下劃線。程式中對於識別符號的命名應當簡潔明瞭,含義清晰,便於閱讀理解。

關鍵字是一類具有固定名稱和特定含義的特殊識別符號,有時又稱保留字。對識別符號的命名不能與關鍵字相同,c語言中的關鍵字有32個:

1.賦值運算子

「=」,作用是將乙個資料的值賦值給乙個變數。

2.算術運算子

「+」 加運算子

「-」 減運算子

「*」 乘運算子

「/」 除運算子

「%」 取餘運算子

對於加、減和乘法符合一般算數運算規則。除法運算有所不同,如果兩個整數相除,則其結果為整數,應當捨去小數部分。取餘運算要求兩個運算物件均為整數,結果為兩個整數相除的餘數。

3.增量和減量運算子

「++」 增量運算子

「- -」 減量運算子

它們的作用分別是對運算物件做加1和減1運算。

4.位運算子

「~」 按位取反

「<

「>>」 右移

「&」 按位與

「^」 按位異或

「|」 按位或

5.關係運算子

「>」 大於

「「>=」 大於等於

「<=」 小於等於

「==」 等於

「!=」 不等於

關係運算子通常用來判斷某個條件是否成立,運算結果只有0和1兩種值,當所指定的條件成立時結果為1,條件不滿足時結果為0。

6.邏輯運算子

「&&」 邏輯與

「| |」 邏輯或

「!」 邏輯非

邏輯運算的一般形式為:

邏輯與: 表示式1&&表示式2

邏輯或: 表示式1 | | 表示式2

邏輯非: !條件式

進行邏輯與運算時,只有表示式1和表示式2的值都為真時結果才為真,只要其中之一的值為假則結果為假。

進行邏輯或運算時,只要其中之一的值為真,則結果為真。只有表示式的值都為假時結果才為假。

進行邏輯非運算時,對條件式的邏輯值直接取反。

條件語句

(1)if(表示式)

當if後面的圓括號內表示式為真時則執行花括號內語句,否則不執行花括號內的語句。

(2)if(表示式)

else

當if後面表示式為真時,執行語句1;當if後面表示式結果為假時,執行語句2。

迴圈語句

(1)while(條件表示式)

只有當while後面圓括號內條件表示式的值為真時,程式才會重複執行花括號內語句,當條件表示式為假時則不執行花括號內語句。

(2)for(初值設定表示式;迴圈條件表示式;更新表示式)

開關語句

開關語句可以實現多方向條件分支的語句。開關語句處理多分支選擇優點是程式結構清晰,使用方便。開關語句使用的關鍵字switch,它的一般格式如下:

switch(表示式)

開關語句執行的過程是:將switch後面的表示式的值與case後面的各個常量表示式的值逐一進行比較,在遇到匹配時,就執行case後面相應的語句然後執行break返回。

#include

void main() //主函式

c語言設定的程式中只允許有乙個main函式,程式總是從main函式開始執行的,main函式是void型(無返回值)。

51微控制器自學筆記

中斷tmod 定時器工作方式暫存器 tcon 定時器控制暫存器 thx,tlx計算方法 定時器 計數器高階應用 52微控制器特有的定時器2 計數功能的應用 數碼管按鍵 序列口通訊 i 2 c通訊 spi通訊 數模轉換 esp8266wifi模組 目前正在準備寫乙個51微控制器庫,希望能實現51的大多...

51微控制器的自學筆記

必備了解 微控制器需要運用到數位電路的知識。數位電路中只有兩種電平 高和低 定義微控制器為 ttl電平 高 5v 低 0v rs232電平 計算機的串列埠 高 12v 低 12v 所以計算機與微控制器之間通訊時需要加電 平轉換晶元max232 實驗板上左下角 ttl電平訊號被利用的最多。且資料採用二...

菜鳥之學習51微控制器(二)微控制器C語言基礎

大一的時候學習了譚浩強教授的 c語言程式設計 有了一定的基礎,再加上大二參加c語言2級培訓班,通過了全國二級,有一定的提高,但是翻看 微控制器程式設計 之後發現,keil 3除了標準c語言的關鍵字外,增加如下關鍵字 1.at 絕對位址定位 2.alien 函式型別 3.bdata 用於指定儲存於ra...