單片機(jī)課件單片機(jī)的c語(yǔ)言編程.ppt

單片機(jī)課件單片機(jī)的c語(yǔ)言編程.ppt

ID:48074210

大小:1.20 MB

頁(yè)數(shù):92頁(yè)

時(shí)間:2019-05-06

單片機(jī)課件單片機(jī)的c語(yǔ)言編程.ppt_第1頁(yè)
單片機(jī)課件單片機(jī)的c語(yǔ)言編程.ppt_第2頁(yè)
單片機(jī)課件單片機(jī)的c語(yǔ)言編程.ppt_第3頁(yè)
單片機(jī)課件單片機(jī)的c語(yǔ)言編程.ppt_第4頁(yè)
單片機(jī)課件單片機(jī)的c語(yǔ)言編程.ppt_第5頁(yè)
資源描述:

《單片機(jī)課件單片機(jī)的c語(yǔ)言編程.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、第10章單片機(jī)的C語(yǔ)言編程單片機(jī)原理、接口及應(yīng)用內(nèi)容提要★C51程序結(jié)構(gòu)★C51的數(shù)據(jù)類型★數(shù)據(jù)的存貯類型和存貯模式★C51對(duì)SFR、可尋址位、存儲(chǔ)器和I/O口的定義★C51的運(yùn)算符★函數(shù)★C語(yǔ)言編程實(shí)例★單片機(jī)資源的C語(yǔ)言編程實(shí)例★匯編語(yǔ)言和C語(yǔ)言的混合編程★C語(yǔ)言函數(shù)庫(kù)的管理與使用★小結(jié)51系列單片機(jī)支持三種高級(jí)語(yǔ)言,即PL/M,C和BASIC。8052單片機(jī)內(nèi)固化有解釋BASIC語(yǔ)言,BASIC語(yǔ)言適用于簡(jiǎn)單編程而對(duì)編程效率運(yùn)行速度要求不高的場(chǎng)合;PL/M是一種結(jié)構(gòu)化的語(yǔ)言,很象PASCAL,PL/M編譯器好象匯編器一樣產(chǎn)生緊湊的機(jī)器代碼,可以說是高級(jí)匯編語(yǔ)言,

2、但它不支持復(fù)雜的算術(shù)運(yùn)算,無豐富庫(kù)函數(shù)支持,學(xué)習(xí)PL/M無異于學(xué)習(xí)一種新的語(yǔ)言。C語(yǔ)言是一種通用的程序設(shè)計(jì)語(yǔ)言,其代碼率高,數(shù)據(jù)類型及運(yùn)算符豐富,并具有良好的程序結(jié)構(gòu),適用于各種應(yīng)用的程序設(shè)計(jì),是目前使用較廣的單片機(jī)編程語(yǔ)言。單片機(jī)的C語(yǔ)言采用C51編譯器(簡(jiǎn)稱C51)。由C51產(chǎn)生的目標(biāo)代碼短、運(yùn)行速度高、所需存儲(chǔ)空間小、符合C語(yǔ)言的ANSI標(biāo)準(zhǔn),生成的代碼遵循Intel目標(biāo)文件格式,而且可與A51匯編語(yǔ)言或PL/M51語(yǔ)言目標(biāo)代碼混和使用。應(yīng)用C51編程具有以下優(yōu)點(diǎn):(1)C51管理內(nèi)部寄存器和存貯器的分配,編程時(shí),無需考慮不同存儲(chǔ)器的尋址和數(shù)據(jù)類型等細(xì)節(jié)問題;(

3、2)程序由若干函數(shù)組成,具有良好的模塊化結(jié)構(gòu);(3)有豐富的子程序庫(kù)可直接引用,從而大大減少用戶編程的工作量。(4)C語(yǔ)言和匯編語(yǔ)言可以交叉使用.匯編語(yǔ)言程序代碼短、運(yùn)行速度快、但復(fù)雜運(yùn)算編程耗時(shí)。如果用匯編語(yǔ)言編寫與硬件有關(guān)的部分程序,用C語(yǔ)言編寫與硬件無關(guān)的運(yùn)算部分程序,充分發(fā)揮兩種語(yǔ)言的長(zhǎng)處,可以提高開發(fā)效率。10.1C51程序結(jié)構(gòu)同標(biāo)準(zhǔn)C一樣,C51的程序由一個(gè)個(gè)函數(shù)組成,這里的函數(shù)和其他語(yǔ)言的“子程序”或“過程”具有相同的意義。其中必須有一個(gè)主函數(shù)main(),程序的執(zhí)行從main()函數(shù)開始,調(diào)用其他函數(shù)后返回主函數(shù)main(),最后在主函數(shù)中結(jié)束整個(gè)程序

4、而不管函數(shù)的排列順序如何。C語(yǔ)言程序的組成結(jié)構(gòu)如下所示:全局變量說明/*可被各函數(shù)引用*/main()/*主函數(shù)*/{局部變量說明/*只在本函數(shù)引用*/執(zhí)行語(yǔ)句(包括函數(shù)調(diào)用語(yǔ)句)}fun1(形式參數(shù)表)/*函數(shù)1*/形式參數(shù)說明{局部變量說明執(zhí)行語(yǔ)句(包括調(diào)用其他函數(shù)語(yǔ)句)}…funn(形式參數(shù)表)/*函數(shù)n*/形式參數(shù)說明{局部變量說明執(zhí)行語(yǔ)句}C語(yǔ)言的語(yǔ)句規(guī)則:1.每個(gè)變量必須先說明后引用,變量名英文大小寫是有差別的。2.C語(yǔ)言程序一行可以書寫多條語(yǔ)句,但每個(gè)語(yǔ)句必須以“;”結(jié)尾,一個(gè)語(yǔ)句也可以多行書寫為好。3.C語(yǔ)言的注釋用/*……*/表示。4.“{”花括號(hào)必

5、須成對(duì),位置隨意,可在緊挨函數(shù)名后,也可另起一行,多個(gè)花括號(hào)可以同行書寫,也可逐行書寫,為層次分明,增加可讀性,同一層的“{”花括號(hào)對(duì)齊,采用逐層縮進(jìn)方式書寫。10.2C51的數(shù)據(jù)類型C51的數(shù)據(jù)有常量和變量之分。常量—在程序運(yùn)行中其值不變的量,可以為字符,十進(jìn)制數(shù)或十六進(jìn)制數(shù)(用0x表示)。常量分為數(shù)值型常量和符號(hào)型常量,如果是符號(hào)型常量,需用宏定義指令(#define)對(duì)其進(jìn)行定義(相當(dāng)于匯編的“EQU”偽指令)如:#definePI3.1415那么程序中只要出現(xiàn)PI的地方,編譯程序都譯為3.1415。變量—在程序運(yùn)行中其值可以改變的量。一個(gè)變量由變量名和變量值構(gòu)

6、成,變量名即是存貯單元地址的符號(hào)表示,而變量的值就是該單元存放的內(nèi)容。定義一個(gè)變量,編譯系統(tǒng)就會(huì)自動(dòng)為它安排一個(gè)存貯單元,具體的地址值用戶不必在意。10.2.1C51變量的數(shù)據(jù)類型無論哪種數(shù)據(jù)都是存放在存貯單元中的,每一個(gè)數(shù)據(jù)究竟要占用幾個(gè)單元(即數(shù)據(jù)的長(zhǎng)度)都要提供給編譯系統(tǒng),正如匯編語(yǔ)言中存放數(shù)據(jù)的單元要用DB或DW偽指令進(jìn)行定義一樣,編譯系統(tǒng)以此為根據(jù)預(yù)留存貯單元,這就是定義數(shù)據(jù)類型的意義.C51編譯器支持?jǐn)?shù)據(jù)類型見表10.1。表10-1C51的數(shù)據(jù)類型對(duì)表10.1作如下說明:1.字符型(char)、整型(int)和長(zhǎng)整型(long)均有符號(hào)型(signed)和

7、無符號(hào)型(unsigned)兩種,如果不是必須,盡可能選擇unsigned型,這將會(huì)使編譯器省卻符號(hào)位的檢測(cè),使生成的程序代碼比signed類型短得多。2.程序編譯時(shí),C51編譯器會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換,例如將一個(gè)位變量賦值給一個(gè)整型變量時(shí),位型值自動(dòng)轉(zhuǎn)換為整型值;當(dāng)運(yùn)算符兩邊為不同類型的數(shù)據(jù)時(shí),編譯器先將低級(jí)的數(shù)據(jù)類型轉(zhuǎn)換為較高級(jí)的數(shù)據(jù)類型,運(yùn)算后,運(yùn)算結(jié)果為高級(jí)數(shù)據(jù)類型。3.51單片機(jī)內(nèi)部數(shù)據(jù)存貯器的可尋址位(20H~2FH)定義為bit型,而特殊功能寄存器的可尋址位(即地址為X0H和X8H的SFR的各位)只能定義為sbit類型。10.2.2關(guān)于指針

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。