




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C51語言的程序結構函數類型標識符 函數名 ( 形式參數列表 ) 語句部分Main()函數格式:void main()特點:無返回值,無參。任何一個C程序有且僅有一個main函數,它是整個程序開始執行的入口。例:void main() 程序從這里開始執行; 其他語句; 1基本數據類型長度取值范圍unsigned char1字節0255signed char1字節-128+127unsigned int2字節065535signed int2字節-32768+32767unsigned long4字節04294967295signed long4字節-2147483648+2147483647f
2、loat4字節1.175494E-383.402823E+38bit1位0或1sbit1位0或1Sfr 1字節0255Sfr16 2字節065535C51基本數據類型:2C51關鍵字關鍵字是C51語言重要的組成部分,是C51編譯器已定義保留的專用特殊標識符,有時也稱為“保留字”。這些關鍵字通常有固定的名稱和功能,如int、float、char、if、for、while、case等。3變量 變量是在程序運行過程中 其值可以改變的量。一個變量由兩部分組成:變量名和變量值。數據類型符 變量名1=初值,變量名2=初值;Char a; int b=3; char a=0,b=1;注意!變量名不能是C51
3、的關鍵字 ,開頭必須是字母或者下劃線Char if ;/*錯誤*/ Int 1a;Int=a1; Int=_1a;4特殊功能寄存器變量 51單片機片內有許多特殊功能寄存器,通過這些特殊功能寄存器可以控制 51單片機的定時器、計數器、串口、I/O及其它功能部件,每一個特殊功能寄存器在片內RAM中都對應于一個字節單元或兩個字節單元。 在C51中,允許用戶對這些特殊功能寄存器進行訪問,訪問時須通過sfr或sfr16類型說明符進行定義,定義時須指明它們所對應的片內RAM單元的地址。格式如下: sfr或sfr16 特殊功能寄存器名=地址; sfr用于對51單片機中單字節的特殊功能寄存器進行定義,sfr1
4、6用于對雙字節特殊功能寄存器進行定義。特殊功能寄存器名一般用大寫字母表示。地址一般用直接地址形式,特殊功能寄存器的定義。 sfr SCON=0 x98; sfr TMOD=0 x89; sfr P1=0 x90; sfr16 T1=0X8A;5 sbit位類型符用于定義在可位尋址字節或特殊功能寄存器中的位,定義時須指明其位地址,可以是位直接地址,可以是可位尋址變量帶位號,也可以是特殊功能寄存器名帶位號。格式如下: sbit 位變量名=位地址; sbit 位變量名=位變量 /特殊功能寄存器名位號; 如位地址為位直接地址,其取值范圍為0 x000 xff;字節地址與位號之間、特殊功能寄存器與位號之
5、間一般用“”作間隔。【例】sbit型變量的定義:sfr P1=0 x90; Sbit P1_0=0X91; sbit P1_0=P10;6 在C51中,為了用戶處理方便,C51編譯器把51單片機的常用的特殊功能寄存器和特殊位進行了定義,放在一個“reg51.h”或“reg52.h”的頭文件中,當用戶要使用時,只須要在使用之前用一條預處理命令#include 把這個頭文件包含到程序中,然后就可使用殊功能寄存器名和特殊位名稱。7C51的運算符賦值運算符 賦值運算符“=”,在C51中,它的功能是將一個數據的值賦給一個變量,如x=10。 變量=表達式; 執行時先計算出右邊表達式的值,然后賦給左邊的變量
6、。例如: x=8+9; /*將8+9的值賦紿變量x*/ x=y=5; /*將常數5同時賦給變量x和y*/ 在C51中,允許在一個語句中同時給多個變量賦值。8算術運算符C51中支持的算術運算符有:+ 加或取正值運算符- 減或取負值運算符 * 乘運算符/ 除運算符 % 取余運算符 加、減、乘運算相對比較簡單,而對于除運算,如相除的兩個數為浮點數,則運算的結果也為浮點數,如相除的兩個數為整數,則運算的結果也為整數,即為整除。如25.0/20.0結果為1.25,而25/20結果為1。 對于取余運算,則要求參加運算的兩個數必須為整數,運算結果為它們的余數。例如:x=5%3,結果x的值為2。9關系運算符C
7、51中有6種關系運算符: 大于= 大于等于3,結果為真(1),而10= =100,結果為假(0)。注意:關系運算符等于“= =”是由兩個“=”組成。10邏輯運算符C51有3種邏輯運算符: & 邏輯與 | 邏輯或! 邏輯非 邏輯與,格式: 條件式1 & 條件式2 當條件式1與條件式2都為真時結果為真(非0值),否則為假(0值)。邏輯或,格式: 條件式1 | 條件式2 當條件式1與條件式2都為假時結果為假(0值),否則為真(非0值)。邏輯非,格式: !條件式 當條件式原來為真(非0值),邏輯非后結果為假(0值)。當條件式原來為假(0值),邏輯非后結果為真(非0值)。例如:若a=8,b=3,c=0,
8、則!a為假,a & b為真,b & c為假。11位運算符【例】設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中位運算符只能對整數進行操作,不能對浮點數進行操作。C51中的位運算符有:& 按位與| 按位或 按位異或 按位取反 右移12復合賦值運算符 C51語言中支持在賦值運算符“=”的前面加上其它運算符,組成復合賦值運算符。下面是C51中支持的復合賦值運算符 += 加法賦值 + 減法賦值 *= 乘法賦值 /= 除法賦值 %= 取模賦值 &= 邏
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司月度美食節活動方案
- 公司暖心小服務活動方案
- 公司武術協會活動方案
- 2025年網絡營銷師職業資格考試試卷及答案
- 2025年建筑設計專業資格考試題及答案
- 2025年供應鏈管理師職業資格考試題及答案
- 2025年愛好與特長發展課程考試卷及答案
- 2025年中國梁模板行業市場全景分析及前景機遇研判報告
- 住宅裝飾裝修施工課件
- 大學生心肺復蘇健康宣教
- GB 10770-2025食品安全國家標準嬰幼兒罐裝輔助食品
- 臨時鍋爐工用工合同標準文本
- 單病種質量管理實施方案
- 結構檢測員考試題及答案
- 旅游保險產品講解
- 裝修業務居間推廣合同
- 2025年內蒙古地礦集團直屬子公司招聘筆試參考題庫含答案解析
- 卵巢交界性腫瘤診治進展
- 持續葡萄糖監測臨床應用專家共識2024解讀
- 《冠心病的規范化診》課件
- 《數據挖掘與機器學習》 課件7.2.1 K-Means聚類
評論
0/150
提交評論