版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C51編程常用語句總結(jié),一、C51定義SFR 定義方法:兩個關(guān)鍵字: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;/*定義進(jìn)位標(biāo)志CY的地址為D7H*/ sbit AC=0 xD06;/*定義輔助進(jìn)位標(biāo)志AC的地址為D6H*/ sbit RS0=0 xD03;/*定義RS0的地
2、址為D3H*/,標(biāo)準(zhǔn)SFR在reg51.h、reg52.h 等頭文件中已經(jīng)被定義,只要用文件包含做出聲明即可使用。 例如: #include sbit P10=P10; sbit P12=P12; main() P10=1; P12=0; PSW=0 x08; ,二、C51定義位變量 使用關(guān)鍵字bit 例如: bit lock;/*將lock定義為位變量*/ bit direction;/*將direction定義為位變量*/ 注意:不能定義位變量指針;也不能定義位變量數(shù)組。,C51編程常用語句總結(jié),C51流程控制語句,一、選擇語句 1.if語句 以下三種形式: if(表達(dá)式)語句; if(表
3、達(dá)式)語句1; else 語句2; if(表達(dá)式1)語句1; else if(表達(dá)式2)語句2; else if(表達(dá)式3)語句3; else if(表達(dá)式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(表達(dá)式) case 常量表達(dá)式1:語句1; break; case 常量表達(dá)式2:語句2; break; case 常量表達(dá)式n:語句n; break; default :語句n+1; ,C51流程控制語句,例:單片機P1口的P1.0和P1.1各接一個開關(guān)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語句只能構(gòu)成簡單循環(huán),與if語句一起可以實現(xiàn)當(dāng)型和直到型循環(huán)。 構(gòu)成當(dāng)型循環(huán) loop:if
6、(表達(dá)式) 語句 goto loop; 構(gòu)成直到型循環(huán) loop:語句 if(表達(dá)式)goto loop; ,C51流程控制語句, while語句 while語句的一般格式: while(表達(dá)式)語句 do-while語句 do-while語句一般格式: do 語句 while (表達(dá)式); for語句 for語句的一般形式: for (表達(dá)式1;表達(dá)式2;表達(dá)式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構(gòu)造數(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ù)的分類 標(biāo)準(zhǔn)庫函數(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ù)都在相應(yīng)的頭文件中給出了函數(shù)的原型,使用時只需在源程序的開頭用編譯預(yù)處理命令#include將相關(guān)的
11、頭文件包含進(jìn)來即可。 例如,要使用數(shù)學(xué)公式,只需要在程序開頭使用#include 文件包含就可以了。要訪問SFR和SFR的位,則只需要在程序開頭使用#include 或#include 文件包含。,C51應(yīng)用編程實例,例: 外部中斷0引腳(P3.2)接一個開關(guān),P1.0接一個發(fā)光二極管。開關(guān)閉合一次,發(fā)光二極管改變一次狀態(tài)。 本例解決外部中斷如何應(yīng)用。 要求:編程實現(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)系上傳者。文件的所有權(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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年森林資源培育與保護承包合同3篇
- 2024外資企業(yè)股權(quán)出售與境內(nèi)投資合作合同范本3篇
- 2024年度醫(yī)療器械維修代加工及售后服務(wù)協(xié)議3篇
- 2024年度地區(qū)總代理銷售權(quán)及品牌使用權(quán)合同范本3篇
- 2024年地質(zhì)勘探服務(wù)地質(zhì)勘察服務(wù)合同樣本3篇
- 2024年度商業(yè)地產(chǎn)土地使用權(quán)永久轉(zhuǎn)讓與商業(yè)運營管理合同3篇
- 2024年太陽能組件安裝及智能監(jiān)控系統(tǒng)合作協(xié)議3篇
- 2024年新能源充電設(shè)施區(qū)域代理合同3篇
- 起草銷售合同范例
- 土地搞標(biāo)居間合同范例
- 軍隊文職(新聞專業(yè))招聘考試(重點)題庫200題(含答案解析)
- 人教版(2024)數(shù)學(xué)七年級上冊期末測試卷(含答案)
- 2024-2020年上海高考英語作文試題匯編 (解讀及范文)
- 教練技術(shù)三階段講義
- 煤礦安全監(jiān)控系統(tǒng)設(shè)計
- GB/T 1220-2007不銹鋼棒
- 個人勞動防護用品的使用和維護
- 2022幼兒園教師年度考核個人總結(jié)德能勤績廉
- 西安航天動力研究所特種閥門介紹10課件
- 報價函 報價單
- 空調(diào)(熱泵)室內(nèi)機首檢記錄表
評論
0/150
提交評論