單片機C語言知識_第1頁
單片機C語言知識_第2頁
單片機C語言知識_第3頁
單片機C語言知識_第4頁
單片機C語言知識_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C51語言的程序結(jié)構(gòu)函數(shù)類型標識符 函數(shù)名 ( 形式參數(shù)列表 ) 語句部分Main()函數(shù)格式:void main()特點:無返回值,無參。任何一個C程序有且僅有一個main函數(shù),它是整個程序開始執(zhí)行的入口。例:void main() 程序從這里開始執(zhí)行; 其他語句; 1基本數(shù)據(jù)類型長度取值范圍unsigned char1字節(jié)0255signed char1字節(jié)-128+127unsigned int2字節(jié)065535signed int2字節(jié)-32768+32767unsigned long4字節(jié)04294967295signed long4字節(jié)-2147483648+2147483647f

2、loat4字節(jié)1.175494E-383.402823E+38bit1位0或1sbit1位0或1Sfr 1字節(jié)0255Sfr16 2字節(jié)065535C51基本數(shù)據(jù)類型:2C51關(guān)鍵字關(guān)鍵字是C51語言重要的組成部分,是C51編譯器已定義保留的專用特殊標識符,有時也稱為“保留字”。這些關(guān)鍵字通常有固定的名稱和功能,如int、float、char、if、for、while、case等。3變量 變量是在程序運行過程中 其值可以改變的量。一個變量由兩部分組成:變量名和變量值。數(shù)據(jù)類型符 變量名1=初值,變量名2=初值;Char a; int b=3; char a=0,b=1;注意!變量名不能是C51

3、的關(guān)鍵字 ,開頭必須是字母或者下劃線Char if ;/*錯誤*/ Int 1a;Int=a1; Int=_1a;4特殊功能寄存器變量 51單片機片內(nèi)有許多特殊功能寄存器,通過這些特殊功能寄存器可以控制 51單片機的定時器、計數(shù)器、串口、I/O及其它功能部件,每一個特殊功能寄存器在片內(nèi)RAM中都對應(yīng)于一個字節(jié)單元或兩個字節(jié)單元。 在C51中,允許用戶對這些特殊功能寄存器進行訪問,訪問時須通過sfr或sfr16類型說明符進行定義,定義時須指明它們所對應(yīng)的片內(nèi)RAM單元的地址。格式如下: sfr或sfr16 特殊功能寄存器名=地址; sfr用于對51單片機中單字節(jié)的特殊功能寄存器進行定義,sfr1

4、6用于對雙字節(jié)特殊功能寄存器進行定義。特殊功能寄存器名一般用大寫字母表示。地址一般用直接地址形式,特殊功能寄存器的定義。 sfr SCON=0 x98; sfr TMOD=0 x89; sfr P1=0 x90; sfr16 T1=0X8A;5 sbit位類型符用于定義在可位尋址字節(jié)或特殊功能寄存器中的位,定義時須指明其位地址,可以是位直接地址,可以是可位尋址變量帶位號,也可以是特殊功能寄存器名帶位號。格式如下: sbit 位變量名=位地址; sbit 位變量名=位變量 /特殊功能寄存器名位號; 如位地址為位直接地址,其取值范圍為0 x000 xff;字節(jié)地址與位號之間、特殊功能寄存器與位號之

5、間一般用“”作間隔。【例】sbit型變量的定義:sfr P1=0 x90; Sbit P1_0=0X91; sbit P1_0=P10;6 在C51中,為了用戶處理方便,C51編譯器把51單片機的常用的特殊功能寄存器和特殊位進行了定義,放在一個“reg51.h”或“reg52.h”的頭文件中,當(dāng)用戶要使用時,只須要在使用之前用一條預(yù)處理命令#include 把這個頭文件包含到程序中,然后就可使用殊功能寄存器名和特殊位名稱。7C51的運算符賦值運算符 賦值運算符“=”,在C51中,它的功能是將一個數(shù)據(jù)的值賦給一個變量,如x=10。 變量=表達式; 執(zhí)行時先計算出右邊表達式的值,然后賦給左邊的變量

6、。例如: x=8+9; /*將8+9的值賦紿變量x*/ x=y=5; /*將常數(shù)5同時賦給變量x和y*/ 在C51中,允許在一個語句中同時給多個變量賦值。8算術(shù)運算符C51中支持的算術(shù)運算符有:+ 加或取正值運算符- 減或取負值運算符 * 乘運算符/ 除運算符 % 取余運算符 加、減、乘運算相對比較簡單,而對于除運算,如相除的兩個數(shù)為浮點數(shù),則運算的結(jié)果也為浮點數(shù),如相除的兩個數(shù)為整數(shù),則運算的結(jié)果也為整數(shù),即為整除。如25.0/20.0結(jié)果為1.25,而25/20結(jié)果為1。 對于取余運算,則要求參加運算的兩個數(shù)必須為整數(shù),運算結(jié)果為它們的余數(shù)。例如:x=5%3,結(jié)果x的值為2。9關(guān)系運算符C

7、51中有6種關(guān)系運算符: 大于= 大于等于3,結(jié)果為真(1),而10= =100,結(jié)果為假(0)。注意:關(guān)系運算符等于“= =”是由兩個“=”組成。10邏輯運算符C51有3種邏輯運算符: & 邏輯與 | 邏輯或! 邏輯非 邏輯與,格式: 條件式1 & 條件式2 當(dāng)條件式1與條件式2都為真時結(jié)果為真(非0值),否則為假(0值)。邏輯或,格式: 條件式1 | 條件式2 當(dāng)條件式1與條件式2都為假時結(jié)果為假(0值),否則為真(非0值)。邏輯非,格式: !條件式 當(dāng)條件式原來為真(非0值),邏輯非后結(jié)果為假(0值)。當(dāng)條件式原來為假(0值),邏輯非后結(jié)果為真(非0值)。例如:若a=8,b=3,c=0,

8、則!a為假,a & b為真,b & c為假。11位運算符【例】設(shè)a=0 x45=01010100B,b=0 x3b=00111011B,則a&b、a|b、ab、a、a2分別為多少?a&b=00010000b=0 x10。a|b=01111111B=0 x7f。ab=01101111B=0 x6f。a=10101011B=0 xab。a2=00001110B=0 x0e。 C51語言能對運算對象按位進行操作,C51中位運算符只能對整數(shù)進行操作,不能對浮點數(shù)進行操作。C51中的位運算符有:& 按位與| 按位或 按位異或 按位取反 右移12復(fù)合賦值運算符 C51語言中支持在賦值運算符“=”的前面加上其它運算符,組成復(fù)合賦值運算符。下面是C51中支持的復(fù)合賦值運算符 += 加法賦值 + 減法賦值 *= 乘法賦值 /= 除法賦值 %= 取模賦值 &= 邏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論