版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、C51編程常用語句總結(jié),一、C51定義SFR 定義方法:兩個關鍵字:sfr和sbit 1.定義特殊功能寄存器用sfr 例如: sfr PSW=0 xD0;/*定義程序狀態(tài)字PSW的地址為D0H*/ sfr TMOD=0 x89;/*定義定時器/計數(shù)器方式控制寄存器TMOD的地址為89H*/ sfr P1=0 x90;/*定義P1口的地址為90H*/ 2.定義可位尋址的特殊功能寄存器的位用sbit 例如: sbit CY=0 xD7;/*定義進位標志CY的地址為D7H*/ sbit AC=0 xD06;/*定義輔助進位標志AC的地址為D6H*/ sbit RS0=0 xD03;/*定義RS0的地
2、址為D3H*/,標準SFR在reg51.h、reg52.h 等頭文件中已經(jīng)被定義,只要用文件包含做出聲明即可使用。 例如: #include sbit P10=P10; sbit P12=P12; main() P10=1; P12=0; PSW=0 x08; ,二、C51定義位變量 使用關鍵字bit 例如: bit lock;/*將lock定義為位變量*/ bit direction;/*將direction定義為位變量*/ 注意:不能定義位變量指針;也不能定義位變量數(shù)組。,C51編程常用語句總結(jié),C51流程控制語句,一、選擇語句 1.if語句 以下三種形式: if(表達式)語句; if(表
3、達式)語句1; else 語句2; if(表達式1)語句1; else if(表達式2)語句2; else if(表達式3)語句3; else if(表達式n)語句n; else 語句n+1;,C51流程控制語句,例1: if (p1!=0) c=20; 例2: if (p1!=0) c=20; else c=0; 例3: if (a=1) c=10; else if (a=2) c=20; else if (a=3) c=30; else if (a=4) c=40; else c=0;,C51流程控制語句, switch/case語句 switch/case語句的一般形式如下: switc
4、h(表達式) case 常量表達式1:語句1; break; case 常量表達式2:語句2; break; case 常量表達式n:語句n; break; default :語句n+1; ,C51流程控制語句,例:單片機P1口的P1.0和P1.1各接一個開關K1、K2,P1.4、P1.5、P1.6和P1.7各接一只發(fā)光二極管。有K1和K2的不同狀態(tài)來確定哪個發(fā)光二極管被點亮。,C51流程控制語句,方法一:用if語句實現(xiàn) #include void main() char a; a=P1; a=a/*屏蔽高6位*/ if (a=3) P1=0 x83; else if (a=2) P1=0 x
5、43; else if (a=1) P1=0 x23; else P1=0 x13; ,C51流程控制語句,方法二:用switch/case語句實現(xiàn) #include void main() char a; a=P1; a=a/*屏蔽高6位*/ switch (a) case 3:P1=0 x83;break; case 2:P1=0 x43;break; case 1:P1=0 x23;break; case 0:P1=0 x13; ,C51流程控制語句,二、循環(huán)語句 if語句和goto語句 goto語句只能構成簡單循環(huán),與if語句一起可以實現(xiàn)當型和直到型循環(huán)。 構成當型循環(huán) loop:if
6、(表達式) 語句 goto loop; 構成直到型循環(huán) loop:語句 if(表達式)goto loop; ,C51流程控制語句, while語句 while語句的一般格式: while(表達式)語句 do-while語句 do-while語句一般格式: do 語句 while (表達式); for語句 for語句的一般形式: for (表達式1;表達式2;表達式3)語句,舉例:例按鍵的程序只能執(zhí)行一遍,使用循環(huán)程序使其無窮循環(huán)下去。 用goto語句實現(xiàn) #include void main() char a; loop: a=P1; a=a/*屏蔽高6位*/ switch (a) case
7、3:P1=0 x83;break; case 2:P1=0 x43;break; case 1:P1=0 x23;break; case 0:P1=0 x13; goto loop; ,用while語句實現(xiàn) #include void main() char a; while (1) a=P1; a=a/*屏蔽高6位*/ switch (a) case 3:P1=0 x83;break; case 2:P1=0 x43;break; case 1:P1=0 x23;break; case 0:P1=0 x13; ,While中的條件恒為1,表示死循環(huán)。,用do-while語句實現(xiàn) #inclu
8、de void main() char a; do a=P1; a=a ,While中的條件恒為1,表示死循環(huán)。,用for語句實現(xiàn) #include void main() char a; for (; ;) a=P1; a=a/*屏蔽高6位*/ switch (a) case 3:P1=0 x83;break; case 2:P1=0 x43;break; case 1:P1=0 x23;break; case 0:P1=0 x13; ,for中的條件恒為真,表示死循環(huán)。,C51構造數(shù)據(jù)類型,一、數(shù)組 一維數(shù)組 一維數(shù)組的定義 類型說明符 數(shù)組名元素個數(shù); 如:int a50; 一維數(shù)組的初
9、始化 int a5=1,2,3,4,5;/*給全部元素賦值*/ int b6=1,2,6;/*給部分元素賦值*/ int d10;d0=4;d1=6; /*定義完后再賦值*/, 二維數(shù)組 二維數(shù)組的定義 類型說明符 數(shù)組名行數(shù) 列數(shù); 如:float a34; 二維數(shù)組的初始化 int a34=1,2,3,4,5,6,7,8,9,10,11,12; /*全部初始化*/ int a34=1,2,3,4,5,6,7,8,; /*部分初始化,a20= a21= a22= a23= 0*/ C51還可以定義多維數(shù)組,也可以定義字符型數(shù)組。 數(shù)組是十分有用的數(shù)據(jù)類型,用它可以形成容易查找的數(shù)據(jù)表格。,C
10、51函數(shù),一、函數(shù)的定義與分類 函數(shù)的分類 標準庫函數(shù) 用戶自定義函數(shù) 用戶自定義函數(shù)是用戶根據(jù)自己的需要而編寫的函數(shù)。 從函數(shù)定義的形式上劃分:無參數(shù)函數(shù)、有參數(shù)函數(shù)和空函數(shù)。 函數(shù)的定義 返回值類型 函數(shù)名(形式參數(shù)列表) 函數(shù)體 例如:int max(int x,int y,int z) 返回值的數(shù)據(jù)類型為整型,函數(shù)名為max,x、y、z為個整型入口參數(shù)。,C51函數(shù),二、C51的庫函數(shù) C51編譯器提供了豐富的庫函數(shù),使用這些庫函數(shù)大大提高了編程效率,用戶可以根據(jù)需要隨時調(diào)用。每個庫函數(shù)都在相應的頭文件中給出了函數(shù)的原型,使用時只需在源程序的開頭用編譯預處理命令#include將相關的
11、頭文件包含進來即可。 例如,要使用數(shù)學公式,只需要在程序開頭使用#include 文件包含就可以了。要訪問SFR和SFR的位,則只需要在程序開頭使用#include 或#include 文件包含。,C51應用編程實例,例: 外部中斷0引腳(P3.2)接一個開關,P1.0接一個發(fā)光二極管。開關閉合一次,發(fā)光二極管改變一次狀態(tài)。 本例解決外部中斷如何應用。 要求:編程實現(xiàn)此功能。,#include sbit P10=P10; int i; void main() EA=1; EX0=1; while(1); void int_srv( )interrupt 0 using 1 while(INT0=0) for(i=0,i220;i+); while(INT0=0) P10=!P10; while(INT0=0); ,小
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑垃圾清運及資源化利用合同3篇
- 二零二五年度招投標保證擔保合同協(xié)議書范本3篇
- 2025年度水電設施節(jié)能減排承包服務合同4篇
- 二零二五版MCN達人內(nèi)容創(chuàng)作合作合同3篇
- 二零二五年度房產(chǎn)交易資金監(jiān)管協(xié)議4篇
- 2025年度模具行業(yè)市場調(diào)研與分析合同4篇
- 二零二五版交通事故致人受傷后續(xù)治療費用補償合同3篇
- 二零二五版煤礦安全生產(chǎn)標準化轉(zhuǎn)讓合同規(guī)范3篇
- 二零二五年度城市公交車車體廣告租賃服務協(xié)議4篇
- 2025年智慧農(nóng)業(yè)設施建設項目合同3篇
- 勞務協(xié)議范本模板
- 2024年全國職業(yè)院校技能大賽高職組(生產(chǎn)事故應急救援賽項)考試題庫(含答案)
- 2025大巴車租車合同范文
- 老年上消化道出血急診診療專家共識2024
- 人教版(2024)數(shù)學七年級上冊期末測試卷(含答案)
- 2024年國家保密培訓
- 2024年公務員職務任命書3篇
- CFM56-3發(fā)動機構造課件
- 會議讀書交流分享匯報課件-《殺死一只知更鳥》
- 重癥血液凈化血管通路的建立與應用中國專家共識(2023版)
- 果殼中的宇宙
評論
0/150
提交評論