單片機C語言編程(C51編程基礎).ppt

單片機C語言編程(C51編程基礎).ppt

ID:56466513

大小:1.19 MB

頁數(shù):173頁

時間:2020-06-19

單片機C語言編程(C51編程基礎).ppt_第1頁
單片機C語言編程(C51編程基礎).ppt_第2頁
單片機C語言編程(C51編程基礎).ppt_第3頁
單片機C語言編程(C51編程基礎).ppt_第4頁
單片機C語言編程(C51編程基礎).ppt_第5頁
資源描述:

《單片機C語言編程(C51編程基礎).ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第4章單片機C語言及程序設計本章制作:劉曉霞第4章單片機C語言及程序設計4.1C51概述4.2C51數(shù)據(jù)類型及存儲4.3C51變量的定義及數(shù)據(jù)存儲區(qū)域4.4C51位變量的定義4.5C51特殊功能寄存器的定義4.6C51指令的定義4.7C51的輸入/輸出4.8C51函數(shù)的定義4.9C51與匯編語言混合編程4.10C51集成開發(fā)軟件KeilC目錄第4章單片機C語言及程序設計本章主要討論C51變量的定義和函數(shù)的定義,以及KeilC軟件的使用等。本章內(nèi)容的安排,認為學生已經(jīng)學習過C語言,具有C語言的基本知識,因此,本章內(nèi)容完全是結(jié)合單片機來講解,也就是補充C語言在單片機方面的概念

2、、數(shù)據(jù)定義和函數(shù)定義等。通過本章學習,使學生能夠比較順利地編寫C51程序。4.1C51概述主要內(nèi)容4.1.1C語言編程的優(yōu)勢4.1.2C51與ANSIC的區(qū)別4.1.3C51擴展的關(guān)鍵字4.1C51概述學習單片機C語言的必要性隨著單片機性能的不斷提高,C語言編譯調(diào)試工具的不斷完善,以及現(xiàn)在對單片機產(chǎn)品輔助功能的要求、對開發(fā)周期不斷縮短的要求,使得越來越多的單片機編程人員轉(zhuǎn)向使用C語言,因此有必要在單片機課程中講授“單片機C語言”?!癈51”概念:為了與ANSIC區(qū)別,把“單片機C語言”稱為“C51”,也稱為“KeilC”。4.1.1C語言編程的優(yōu)勢在編程方面,使用C51較

3、匯編語言有諸多優(yōu)勢:1)編程容易2)容易實現(xiàn)復雜的數(shù)值計算3)容易閱讀與交流4)容易調(diào)試與維護程序5)容易實現(xiàn)模塊化開發(fā)6)程序可移植性好4.1.2C語言與ANSI的區(qū)別用匯編語言編寫單片機程序時,必須要考慮其存儲器的結(jié)構(gòu),尤其要考慮其片內(nèi)數(shù)據(jù)存儲器、特殊功能寄存器是否正確合理的使用,以及按照實際地址端口數(shù)據(jù)的處理。用C51編寫程序,雖然不像匯編語言那樣需要具體地組織、分配存儲器資源,但是C51對數(shù)據(jù)類型和變量的定義,必須要與單片機的存儲結(jié)構(gòu)相關(guān)聯(lián),否則編譯器不能正確地映射定位。4.1.2C語言與ANSI的區(qū)別用C51編寫單片機程序,與用ANSIC編寫程序的不同之處是,需

4、要根據(jù)單片機存儲器結(jié)構(gòu)及內(nèi)部資源,定義相應的數(shù)據(jù)類型和變量。其它的語法規(guī)定、程序結(jié)構(gòu)及程序設計方法,都與ANSIC相同。所以本章主要介紹C51各種變量的定義、指針定義、函數(shù)定義和混合編程。4.1.3C51擴展的關(guān)鍵字由于單片機在結(jié)構(gòu)及編程上的特殊要求,C51有自己的特殊關(guān)鍵字,稱之為C51擴展的關(guān)鍵字,下面給出常用的C51擴展的關(guān)鍵字。_at_bdatabitcodedataidatainterruptpdatareentrantsbitsfrsfr16usingvolatilexdata這些關(guān)鍵字在后面會陸續(xù)接觸到,此處先不給出它們的含義。4.2C51數(shù)據(jù)類型及存儲主要

5、內(nèi)容4.2.1C51的數(shù)據(jù)類型4.2.2C51數(shù)據(jù)的存儲4.2.1C51的數(shù)據(jù)類型表4-1C51數(shù)據(jù)類型、長度和數(shù)值范圍數(shù)據(jù)類型表示方法長度數(shù)值范圍無符號字符型unsignedchar1字節(jié)0~255有符號字符型signedchar1字節(jié)-128~127無符號整型unsignedint2字節(jié)0~65535有符號整型signedint2字節(jié)-32768~32767無符號長整型unsignedlong4字節(jié)0~4294967295有符號長整型signedlong4字節(jié)-2147483648~2147483647浮點型float4字節(jié)±1.1755E-38~±3.40E+38特

6、殊功能寄存器型sfrsfr161字節(jié)2字節(jié)0~2550~65535位類型bit、sbit1位0或14.2.1C51的數(shù)據(jù)類型數(shù)據(jù)類型轉(zhuǎn)換1)自動轉(zhuǎn)換轉(zhuǎn)換規(guī)則是向高精度數(shù)據(jù)類型轉(zhuǎn)換、向有符號數(shù)據(jù)類型轉(zhuǎn)換。如字符型變量與整型變量相加時,則位變量先轉(zhuǎn)換字符型或整型數(shù)據(jù),然后相加。2)強制轉(zhuǎn)換像ANSIC一樣,通過強制類型轉(zhuǎn)換的方式進行轉(zhuǎn)換。如:unsignedintb;floatc;b=(int)c;4.2.2C51數(shù)據(jù)的存儲MCS-51單片機只有bit和unsignedchar兩種數(shù)據(jù)類型支持機器指令,而其它類型的數(shù)據(jù)都需要轉(zhuǎn)換成bit或unsignedchar型進行存儲。為

7、了減少單片機的存儲空間和提高運行速度,要盡可能地使用unsignedchar型數(shù)據(jù)。一、位變量的存儲bit和sbit型位變量,直接存于RAM的位尋址空間,包括低128位和特殊功能寄存器位。4.2.2C51數(shù)據(jù)的存儲二、字符變量的存儲字符變量(char):無論是unsignedchar數(shù)據(jù)還是signedchar數(shù)據(jù),均為1個字節(jié),能夠被直接存儲在RAM中,可以存儲在0~0x7f區(qū)域,也可以存儲在0x80~0xff區(qū)域,與變量的定義有關(guān)。unsignedchar數(shù):可直接被MSC-51接受signedchar數(shù)據(jù):用補碼表示。需

當前文檔最多預覽五頁,下載文檔查看全文

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

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