




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C51編程學(xué)習(xí) 作者:劉園珍一:數(shù)據(jù)類型·運(yùn)算符·表達(dá)式常量:#define CONST 10變量:bit b_start /位變量Char c_start/字符變量其他略。1.3 C51存儲(chǔ)器·寄存器定義定義:分為片內(nèi)數(shù)據(jù)存儲(chǔ)器·片外數(shù)據(jù)存儲(chǔ)器·片內(nèi)程序存儲(chǔ)器·片外程序存儲(chǔ)器。1.32 寄存器Sfr SBUF=0x99; /定義串行數(shù)據(jù)寄存器Sfr16 T2=0xcc; /定義T2計(jì)時(shí)器數(shù)據(jù)存儲(chǔ)器Sbit D0=P21;定義位變量Sbit CY=0xd7;使用絕對(duì)地址定義使用sbit定義變量空間Bdata unsigned char
2、 uc_shield_byte;Sbit b_x= uc_shield_byte1; /定義首位Sbit b_y= uc_shield_byte2;C51編程學(xué)習(xí) 作者:劉園珍Sbit b_z=uc_shield_byte3;1.4 邏輯運(yùn)算與: && 或: | 非:位邏輯運(yùn)算位與: &位或: |位異或: 位取反: 1.5 移位運(yùn)算左移位:<<,個(gè)位左移,補(bǔ)0;右移位:>>,高位右移,補(bǔ)0; !二:C51控制流(1) 順序結(jié)構(gòu)(2) 選擇結(jié)構(gòu)1 Ifelse語句2 If語句3 Switch語句Switch(判斷條件)Case 常量表達(dá)式1:語句塊
3、1break;Default:語句n+1break;4 If和switch嵌套(3) 循環(huán)結(jié)構(gòu)1 While語句2 Do while語句C51編程學(xué)習(xí) 作者:劉園珍Do代碼塊;while(條件);3 For語句三:函數(shù)1 無參數(shù)函數(shù)定義Void 函數(shù)名(void)/無參數(shù),無返回值函數(shù)定義Int 函數(shù)名(char a,char b)/帶參數(shù),帶返回值函數(shù)定義 2 局部變量和全局變量靜態(tài)局部變量和動(dòng)態(tài)局部變量StaticAuto int int a;靜態(tài)(static不可省略) a;動(dòng)態(tài)(auto可省略)3 內(nèi)部函數(shù)和外部函數(shù)(1)內(nèi)部函數(shù):static unsigned char Fun(in
4、t a);內(nèi)部函數(shù)只能被該源文件中的其他函數(shù)調(diào)用(2)外部函數(shù):extern unsigned char Fun(int a);外部函數(shù)可以被其他源文件調(diào)用的函數(shù)四:數(shù)組和指針C51編程學(xué)習(xí) 作者:劉園珍(1) 數(shù)組: 一維數(shù)組:類型 數(shù)組名【size】; 二維數(shù)組類型 數(shù)組名【size A】【size B】; 字符數(shù)組Char ch1【】=,j,a,c,k,x,u-;以字符形式賦值Char ch1*+=,“jackxu”-;(2) 指針1) 指針和指針變量類型 *變量名Int *ptr1;float *ptr2;char *ptr3;2) 指針的引用Int a=10;Int *p=&
5、a;X=a ;直接訪問方式X=*p;間接訪問方式(3) 數(shù)組和指針I(yè)nt a=1,2,3,4,5,6,7,8,9,10,*ip;Ip=a; /*ip代表a0,*(ip+i)代表ai;二維數(shù)組與指針同上;(4) 字符串和指針不能用指針變量來修改字符串常量;以字符串形式賦值C51編程學(xué)習(xí) 作者:劉園珍(5) 數(shù)組,指針和函數(shù)的關(guān)系1) 數(shù)組可作為函數(shù)的參數(shù):int sum(int a,int num);2) 指針作為函數(shù)參數(shù):int sum(int *ip,int num);3) 返回指針的函數(shù):char *ip(char *ip,char c);(6) 指針數(shù)組和指向指針的指針1)類型 *數(shù)組名
6、【size】;Char *name【3】=“I”,“l(fā)ove”,“you”;定義了三個(gè)字符型指針數(shù)組并進(jìn)行了初始化3) 類型 *指針變量名 /指針變量的變量聲明*指針變量 /獲取指針變量指向的指針*指針變量 /獲取指針變量指向的指針內(nèi)容例子:Main()Char *name*+=,“Tom”,”Jacky”,”Andy”-;Char *cp=name;For(int i=0;i<3;i+)Printf(“cp=d%n”,cp);Printf(“*cp=s%n”,*cp);Printf(“*cp=c%n”,*cp);程序輸出結(jié)果為:cp=0x1000;*cp=Tom*cp=TCp=0x10
7、02C51編程學(xué)習(xí) 作者:劉園珍*cp=Jacky*cp=Jcp=0x1004;*cp=Andy*cp=A五:結(jié)構(gòu),聯(lián)合和枚舉定義: 1) Stuct 結(jié)構(gòu)名類型說明符 成員1 類型說明符 成員2 。 類型說明符 成員n;結(jié)構(gòu)名 變量名1,變量名2.;2)Stuct 結(jié)構(gòu)名類型說明符 成員1 類型說明符 成員2 。 6C51編程學(xué)習(xí) 作者:劉園珍類型說明符 成員n變量名1,變量名2.;3)Stuct類型說明符 成員1 類型說明符 成員2 。 類型說明符 成員n變量名1,變量名2.;例子:Struct dateUnsigned char Year;Unsigned charUnsigned ch
8、arUnsigned char;Struct date ERR_TIME【20】;/初始化ERR_TIME【0】.Year=99;ERR_TIME【0】.Month=8;Month; Day; Hour;C51編程學(xué)習(xí) 作者:劉園珍ERR_TIME【0】.Day=23;ERR_TIME【0】.Hour=22;(1) 指向結(jié)構(gòu)體變量的指針Struct 結(jié)構(gòu)體名 *指針變量名Struct date *p_Date;P_Date=&ERR_TIME;(*p_Date).Year=99;P_Date->Month=8;例子:求平均數(shù)Struct memberFloat Slaray;fl
9、ashman【5】=3000,4000,5000,6000,7000; Float AVRage(struct member *p_Man)Float avr,sum; Unsigned char j; Sum=avr=0; For(j=0;j<5;j+) Sum=sum+p_Man->Slaray; If(j=4) 8C51編程學(xué)習(xí) 作者:劉園珍 Avr=sum/5;Return avr;Main()Float avr;Struct member *p;P=flashman;Menberavr=average(p);(2) 聯(lián)合體定義:union 結(jié)構(gòu)名類型說明符 成員1類型說明
10、符 成員2。類型說明符 成員n;C51編程學(xué)習(xí) 作者:劉園珍結(jié)構(gòu)名 變量名1,變量名2.;2)union結(jié)構(gòu)名類型說明符 成員1 類型說明符 成員2 。 類型說明符 成員n變量名1,變量名2.;3)union類型說明符 成員1 類型說明符 成員2 。 類型說明符 成員n變量名1,變量名2.;(3) 枚舉1)定義: Enum 枚舉名 枚舉值列表; 10C51編程學(xué)習(xí) 作者:劉園珍;枚舉名 變量1,變量2,;2)枚舉值列表; Enum 枚舉名 枚舉名變量1,變量2,;六:程序設(shè)計(jì)技巧中斷響應(yīng)快速的一種解決方法#define N 256Char dataNStatic int couter=0;Void main(void)If(flag=1) Handledata(data); /數(shù)據(jù)處理模塊C51編程學(xué)習(xí) 作者
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)機(jī)器人運(yùn)維員理論改練習(xí)試卷附答案
- 2025年膽量心理測試題及答案
- 2025年電力電子的考試題及答案
- 2025年興化大學(xué)面試試題及答案
- 2025年圖館會(huì)面試題及答案
- 2025年人格權(quán)法的試題及答案
- 2025年商業(yè)銀行信貸試題及答案
- 2025年壞人腦力測試題及答案
- 2025年流浪記的測試題及答案
- 2025年青島自招面試試題及答案
- 建設(shè)工程項(xiàng)目質(zhì)量控制實(shí)務(wù)
- 教育技術(shù)學(xué)導(dǎo)論 黃榮懷(第2版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 安全生產(chǎn)管理制度-普貨運(yùn)輸
- DB41T 1508-2017 化妝刷標(biāo)準(zhǔn)規(guī)范
- 裝維服務(wù)年終總結(jié)
- 公務(wù)用車車輛安全培訓(xùn)課件
- 復(fù)工復(fù)產(chǎn)六個(gè)一方案模板
- 中學(xué)生心理健康調(diào)查問卷
- 2024河南中煙南陽卷煙廠一線崗位招聘10人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 3.1 歌曲《大海啊故鄉(xiāng)》課件(17張)
- 信號(hào)與系統(tǒng)考試試題及答案
評(píng)論
0/150
提交評(píng)論