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

下載本文檔

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

文檔簡介

1、精選ppt課件1第二章 C51知識 C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。目前,使用C語言進行程序設計已經(jīng)成為軟件開發(fā)的一個主流。用C語言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明顯增強程序的可讀性,便于改進、擴充和移植。而針對8051的C語言日趨成熟,成為了專業(yè)化的實用高級語言。精選ppt課件2C C語言作為一種非常方便的語言而得到廣泛語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都用的支持,很多硬件開發(fā)都用C C語言編程,如:語言編程,如:各種單片機、各種單片機、DSPDSP、ARMARM等等. .C C語言程序本身不依賴于機器硬件系統(tǒng),基語言程

2、序本身不依賴于機器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機中本上不作修改就可將程序從不同的單片機中移植過來。移植過來。C C提供了很多數(shù)學函數(shù)并支持浮點運算,開提供了很多數(shù)學函數(shù)并支持浮點運算,開發(fā)效率高,故可縮短開發(fā)時間,增加程序可發(fā)效率高,故可縮短開發(fā)時間,增加程序可讀性和可維護性。讀性和可維護性。 C-51C-51的特點的特點精選ppt課件3C-51C-51與與ASM-51ASM-51相比,有如下優(yōu)點:相比,有如下優(yōu)點:1.1. 對單片機的指令系統(tǒng)不要求了解,僅對單片機的指令系統(tǒng)不要求了解,僅要求對要求對8051 8051 的存貯器結(jié)構(gòu)有初步了解;的存貯器結(jié)構(gòu)有初步了解;2.2.

3、 寄存器分配、不同存貯器的尋址及數(shù)寄存器分配、不同存貯器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;據(jù)類型等細節(jié)可由編譯器管理;3.3. 程序有規(guī)范的結(jié)構(gòu),可分成不同的函程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;數(shù),這種方式可使程序結(jié)構(gòu)化;4.4. 提供的庫包含許多標準子程序,具有提供的庫包含許多標準子程序,具有較強的數(shù)據(jù)處理能力;較強的數(shù)據(jù)處理能力;5.5. 由于具有方便的模塊化編程技術,使由于具有方便的模塊化編程技術,使已編好程序可容易地移植;已編好程序可容易地移植;精選ppt課件4例子認識例子認識C程序程序#include sbit A5=P10 x04;int main(v

4、oid) /用戶代碼 void delay_1s(); return 0; 一、主程序(程序入口) int main(void) /用戶代碼 return 0; 注:1、C程序模塊都是以“”開頭“”結(jié)尾,程序為函數(shù)主函數(shù)、子函數(shù) 2、每一行必須有結(jié)束號“;” 3、養(yǎng)成注釋程序的習慣 “/”注釋該行 “ /* -段落-*/”注解一段二、頭文件(編程預處理)#include 注:定義一些通用引腳及函數(shù)注:定義一些通用引腳及函數(shù) 三、自定義函數(shù)(子函數(shù))常用、重復引用的功能集成可用任何文本編輯軟件編寫,最后保存擴展名為.C的程序源文件精選ppt課件5其值可以改變的量稱為變量。 一個變量應該有一個名字

5、,在內(nèi)存中占據(jù)一定的存儲單元。變量應該先定義后使用。要區(qū)分變量名和變量值是兩個不同的概念。a=3 變量3存儲值存儲單元地址a注:變量名a代表地址,編譯系統(tǒng)自動分配,用戶不可見0 x40精選ppt課件6一、一、C C5151的變量類型的變量類型1 1、基本數(shù)據(jù)類型、基本數(shù)據(jù)類型類型類型符號符號關鍵字關鍵字數(shù)的表示范圍數(shù)的表示范圍所占位數(shù)所占位數(shù)整型整型字符型字符型實型實型有有無無(signed) int16-3276832767(signed) short16-3276832767(signed) long32-2147483648214748364716unsigned int06553532

6、04294967295unsigned long intunsigned short int16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127無無unsigned char80255精選ppt課件72、變量類型的定義、變量類型的定義格式格式 : 變量類型變量類型 + 變量名變量名例如: int a,b; /定義a,b為整型變更 long sheng1,sheng2;/長整型 Float c,d; /浮點(有小數(shù)) Double e,f; /雙精度 char a ;/有符號字符型 Unsigned char

7、b;無符號字符型 注:變量類型為規(guī)定的類型;變量的名稱自由起,但通常要通俗,并要遵守如下規(guī)則c語言變量命名:數(shù)字、字母、下劃線,都可以為變量命名。做為變量名的開頭不能為數(shù)字,如 3a_是錯的,而a_3或_a3是正確變量名不能為關鍵字,像ifelseprintf 等等都不能 精選ppt課件8標準C表1精選ppt課件9標準C表2精選ppt課件10C51擴展精選ppt課件113 3、C C5151的數(shù)據(jù)類型擴充定義的數(shù)據(jù)類型擴充定義sfr:sfr:特殊功能寄存器聲明特殊功能寄存器聲明sfr16:sfrsfr16:sfr的的1616位數(shù)據(jù)聲明位數(shù)據(jù)聲明sbit:sbit:特殊功能位聲明特殊功能位聲明b

8、itbit: :位變量聲明位變量聲明精選ppt課件121sfr 特殊功能寄存器。這也是C 51編譯器的一種擴充數(shù)據(jù)類型,利用它可以訪問8051單片機的所有內(nèi)部特殊功能寄存器。sfr型數(shù)據(jù)占用一個內(nèi)存單元,其取值范圍0255。2sfr16 16位特殊功能寄存器。它占用兩個內(nèi)存單元,取值范圍是065535。3sbit 可尋址位。這也是C51編譯器的一種擴充數(shù)據(jù)類型,利用它可以訪8051單片機內(nèi)部RAM中的可尋址位或特殊功能寄存器中的可尋址位。4.bit 位標量。這是位標量。這是C 51編譯器的一種擴充數(shù)據(jù)類型,利用它可定義編譯器的一種擴充數(shù)據(jù)類型,利用它可定義一個位標量,但一個位標量,但不能定義位

9、指針,也不能定義位數(shù)組不能定義位指針,也不能定義位數(shù)組。 精選ppt課件13例:例:sfr SCON = 0X98;sfr SCON = 0X98; sfr16 T2 = 0 xCC; sfr16 T2 = 0 xCC; sbit OV = PSW2 sbit OV = PSW2精選ppt課件144 4、數(shù)據(jù)類型修飾詞、數(shù)據(jù)類型修飾詞1)、data:固定指前面0 x00-0 x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小2)、code定義的數(shù)據(jù)要放在ROM(程序存儲區(qū))里面,寫入后就不能再更改,對應的還有data是存入RAM的意思。精選ppt課件154 4、數(shù)據(jù)類型

10、修飾詞、數(shù)據(jù)類型修飾詞3)、精選ppt課件164 4、數(shù)據(jù)類型修飾詞、數(shù)據(jù)類型修飾詞4)、精選ppt課件175、變量的賦值 int a,b; /定義a,b為整型變量 long sheng1,sheng2;/長整型 float c,d; /浮點(有小數(shù)) double e,f; /雙精度 char g ;/有符號字符型 Unsigned char h;無符號字符型定義賦值a12; a=0 xff; a=0 x00;b=0; b=08 ; b=03;C=0.214; c=-0.36 ;d=12e3;e=12e-12;g=10;G=A;h=200;注:A為字符常量,為該字符的ASCII代碼精選ppt

11、課件18附精選ppt課件19C-51C-51的包含的頭文件的包含的頭文件通常有通常有: :reg51.h reg52.h math.h reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.hctype.h stdio.h stdlib.h absacc.h常用有常用有: :reg51.h reg52.hreg51.h reg52.h (定義特殊功能寄存器和位寄存器);(定義特殊功能寄存器和位寄存器); math.h math.h (定義常用數(shù)學運算);(定義常用數(shù)學運算); 精選ppt課件20二、二、C-51C-51的運算符的運算符1

12、1、算術運算符、算術運算符+ - + - * * / / % % (加(加 減減 乘乘 除除 求余求余 )說明:說明:精選ppt課件21+:自加運算符:自加運算符 自減運算符自減運算符精選ppt課件222.2.邏輯運算邏輯運算將將進行運算,進行運算,結(jié)果為只有結(jié)果為只有精選ppt課件233.3.關系運算關系運算運算結(jié)果運算結(jié)果只有只有精選ppt課件244.4.位運算位運算位操作,注意與邏輯運算的區(qū)別1)精選ppt課件252).3).4)、精選ppt課件265)、精選ppt課件27精選ppt課件28 二、二、C-51C-51流程控制流程控制 與標準與標準C C語言基本相同:語言基本相同: if

13、if 選擇語言選擇語言 switch/case switch/case 多分支選擇語言多分支選擇語言 while while 循環(huán)語言循環(huán)語言 for for 循環(huán)語言循環(huán)語言 do-while do-while 循環(huán)語言循環(huán)語言 精選ppt課件291 1、if if 條件選擇語句條件選擇語句1)、單分支語句 int a,b,max; max=a; if (maxb) max=a; else max=b;精選ppt課件313)、多分支語句依次判斷表達式的值,當出現(xiàn)某個值為真時,則執(zhí)行其對應的語句。然后跳到整個if語句之外繼續(xù)執(zhí)行程序。 如果所有的表達式均為假,則執(zhí)行語句n+1。然后繼續(xù)執(zhí)行后續(xù)

14、程序。精選ppt課件32int a=10;If(a0 & a=2 & a-5 & a=8 & a0) delay1s(); P0=P0; i-; main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%dn,sum);精選ppt課件374、for語句語句格式格式for(表達式1;表達式2;表達式3) 語句作用:作用:循環(huán)循環(huán)執(zhí)行一段代碼執(zhí)行一段代碼它的執(zhí)行過程如下:1) 先求解表達式1。2) 求解表達式2,若其值為真(非0),則執(zhí)行for語句中指定的內(nèi)嵌語句,然后執(zhí)行下面第3)步;若其值為假(0)

15、,則結(jié)束循環(huán),轉(zhuǎn)到第5)步。3) 求解表達式3。4) 轉(zhuǎn)回上面第2)步繼續(xù)執(zhí)行。5) 循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句精選ppt課件38Sum=0;for(i=1; i0; i-) /空語句,想想這段代碼有什么用空語句,想想這段代碼有什么用 精選ppt課件39附:for循環(huán)的嵌套main() int i, j, k;for (i=0; i2; i+) for(j=0; j2; j+) for(k=0; k2; k+) printf(“%d %d %dn, i, j, k); 精選ppt課件40、do - while語句語句形式為形式為: do 語句 while(表達式)作用:作用:循環(huán)循

16、環(huán)執(zhí)行一段代碼執(zhí)行一段代碼這個循環(huán)與這個循環(huán)與while循環(huán)的不同在于循環(huán)的不同在于:它先執(zhí)行循環(huán)中它先執(zhí)行循環(huán)中的語句的語句,然后再判斷表達式是否為真然后再判斷表達式是否為真, 如果為真則繼如果為真則繼續(xù)循環(huán);如果為假續(xù)循環(huán);如果為假, 則終止循環(huán)。因此則終止循環(huán)。因此, do-while循循環(huán)至少要執(zhí)行一次循環(huán)語句環(huán)至少要執(zhí)行一次循環(huán)語句精選ppt課件41main() int i,sum=0; i=1; do sum=sum+i; i+; while(i=100) printf(%dn,sum);例子例子精選ppt課件426、“?”操作語句操作語句格式格式 語句1 ? 語句2:語句3:先計算語句1,若為真,則計算(輸出)語句2,否則輸出語句3Y輸出什么值?精選ppt課件437、循環(huán)體的退出、循環(huán)體的退出(一)、(一)、break語句語句、當break用于開

溫馨提示

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

評論

0/150

提交評論