C51語言編程基礎(chǔ).ppt

C51語言編程基礎(chǔ).ppt

ID:56430268

大小:2.85 MB

頁數(shù):159頁

時間:2020-06-18

C51語言編程基礎(chǔ).ppt_第1頁
C51語言編程基礎(chǔ).ppt_第2頁
C51語言編程基礎(chǔ).ppt_第3頁
C51語言編程基礎(chǔ).ppt_第4頁
C51語言編程基礎(chǔ).ppt_第5頁
資源描述:

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

1、內(nèi)容概要本章在讀者已掌握標(biāo)準(zhǔn)C語言前提下,初步介紹如何使用C51來編寫AT89C51單片機(jī)的應(yīng)用程序。C51是在標(biāo)準(zhǔn)C的基礎(chǔ)上,根據(jù)單片機(jī)存儲器硬件結(jié)構(gòu)及內(nèi)部資源,擴(kuò)展了相應(yīng)的數(shù)據(jù)類型和變量,而C51在語法規(guī)定、程序結(jié)構(gòu)與設(shè)計(jì)方法上,都與標(biāo)準(zhǔn)C相同。本章重點(diǎn)介紹C51對標(biāo)準(zhǔn)C所擴(kuò)展的部分,并通過一些例程來介紹C51的程序設(shè)計(jì)思想。1單片機(jī)入門主要掌握以下知識和應(yīng)用最小系統(tǒng)能夠運(yùn)行起來的必要條件。1.電源2.晶振3.復(fù)位電路對單片機(jī)任意IO口的隨意操作1.輸出控制電平高低2.輸入檢測電平高低。定時器:重點(diǎn)掌

2、握最常用的方式2中斷:外部中斷、定時器中斷、串口中斷串口通信:單片機(jī)之間、單片機(jī)與計(jì)算機(jī)間2目前51系列單片機(jī)編程的C語言都采用KeilC51(簡稱C51),KeilC51是在標(biāo)準(zhǔn)C語言基礎(chǔ)上發(fā)展起來的。C語言是美國國家標(biāo)準(zhǔn)協(xié)會(ANSI)制定的編程語言標(biāo)準(zhǔn),1987年ANSI公布87ANSIC,即標(biāo)準(zhǔn)C語言。KeilC51語言是在ANSIC的基礎(chǔ)上針對51單片機(jī)的硬件特點(diǎn)進(jìn)行的擴(kuò)展,并向51單片機(jī)上移植,經(jīng)過多年努力,C51語言已經(jīng)成為公認(rèn)的高效、簡潔而又貼近51單片機(jī)硬件的實(shí)用高級編程語言。3.1編程

3、語言KeilC51簡介3C語言具有結(jié)構(gòu)化和模塊化特點(diǎn),便于閱讀和維護(hù)。C語言可移植性好,很多微控制器都支持C編譯器。功能化的代碼能夠很方便的從一個工程移植到另一個工程,從而減少了開發(fā)時間。提供的庫函數(shù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力。使用C語言的優(yōu)點(diǎn)4使用C語言的優(yōu)點(diǎn)C語言編寫的程序比匯編語言編寫的程序更符合人們的思考習(xí)慣,寄存器分配,不同存儲器的尋址及數(shù)據(jù)類型等細(xì)節(jié)交由編譯器管理,開發(fā)者可以更專心的考慮算法,而不是考慮一些細(xì)節(jié)問題。這樣可以減少編程出錯的機(jī)率,從而提高開發(fā)效率,減少調(diào)試的時間。

4、C語言和微控制器是相對獨(dú)立的,開發(fā)者不必知道處理器的具體內(nèi)部結(jié)構(gòu)和處理過程。當(dāng)用新型的微控制器開發(fā)程序時,可以很快上手,減少學(xué)習(xí)時間和程序開發(fā)時間。5C51與標(biāo)準(zhǔn)C的主要區(qū)別(1)頭文件的差異。51系列單片機(jī)廠家有多個,它們的差異在于內(nèi)部資源如定時器、中斷、I/O等數(shù)量以及功能的不同,而對使用者來說,只需要將相應(yīng)的功能寄存器的頭文件加載在程序內(nèi),就可實(shí)現(xiàn)所具有的功能。因此,KeilC51系列的頭文件集中體現(xiàn)了各系列芯片的不同資源及功能。(2)數(shù)據(jù)類型的不同。51系列單片機(jī)包含位操作空間和豐富的位操作指令,

5、因此KeilC51與ANSIC相比又?jǐn)U展了4種類型,以便能夠靈活地進(jìn)行操作。電腦CPU是32位或64位,運(yùn)算能力強(qiáng),內(nèi)存大,大量使用float型與longint型變量,單片機(jī)一般為8位或16位,運(yùn)算能力較弱,以char型為主,int型為輔6(3)數(shù)據(jù)存儲類型的不同。C語言最初是為通用計(jì)算機(jī)設(shè)計(jì)的,在通用計(jì)算機(jī)中只有一個程序和數(shù)據(jù)統(tǒng)一尋址的內(nèi)存空間,而51系列單片機(jī)有片內(nèi)、外程序存儲器,還有片內(nèi)、外數(shù)據(jù)存儲器。標(biāo)準(zhǔn)C并沒有提供這部分存儲器的地址范圍的定義。此外,對于AT89S51單片機(jī)中大量的特殊功能寄存器

6、也沒有定義。(4)標(biāo)準(zhǔn)C語言沒有處理單片機(jī)中斷的定義。(5)KeilC51與標(biāo)準(zhǔn)C的庫函數(shù)有較大的不同。由于標(biāo)準(zhǔn)C的中的部分庫函數(shù)不適于嵌入式處理器系統(tǒng),因此被排除在KeilC51之外,如字符屏幕和圖形函數(shù)。7(6)目標(biāo)代碼電腦生成.exe格式,編譯完成后直接在電腦上運(yùn)行,單片機(jī)編譯生成.bin代碼文件,需要燒寫到單片機(jī)中并結(jié)合外圍電路執(zhí)行。(7)仿真調(diào)試單片機(jī)的C程序在電腦上進(jìn)行編譯,然后需通過仿真器連接后進(jìn)行仿真調(diào)試,近年來隨著電路仿真軟件的不斷完善,也可通過proteus等軟件直接在電腦上進(jìn)行仿真調(diào)

7、試。8但是從數(shù)據(jù)運(yùn)算操作、程序控制語句以及函數(shù)的使用上來說,KeilC51與標(biāo)準(zhǔn)C幾乎沒有什么明顯的差別。如果程序設(shè)計(jì)者具備了有關(guān)標(biāo)準(zhǔn)C的編程基礎(chǔ),只要注意KeilC51與標(biāo)準(zhǔn)C的不同之處,并熟悉AT89S51單片機(jī)的硬件結(jié)構(gòu),就能夠較快地掌握KeilC51的編程。9(1)編譯器:由源代碼文件生成目標(biāo)文件(2)開發(fā)套件:包含了編譯器、鏈接器等開發(fā)工具的組合包(3)IDE(IntegratedDevelopmentEnvironment集成開發(fā)環(huán)境)將項(xiàng)目管理、源代碼編輯和程序編譯、鏈接、調(diào)試等各種工具組合

8、在一個功能強(qiáng)大的環(huán)境中,具有良好人機(jī)界面。8051單片機(jī)所使用的C語言編譯器簡稱為Cx51例如包含Cx51、Ax51、BL51、LIB51、OH51、RTX51等KEILC51KeilμVision3IDE3.2KeilC51的開發(fā)工具10KeilμVision3IDECx51.exeKeilC51開發(fā)套件v7.5011C語言結(jié)構(gòu)特點(diǎn)一個C程序由一個或多個函數(shù)組成,其中必須有一個用main命名的主函數(shù)。每個函數(shù)由頭部和函數(shù)體兩

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

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

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