第3章_C51語言編程基礎(chǔ).ppt

第3章_C51語言編程基礎(chǔ).ppt

ID:58442485

大小:552.50 KB

頁數(shù):77頁

時(shí)間:2020-09-07

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

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

1、第3章C51語言編程基礎(chǔ)1)機(jī)器語言定義:處理器能直接執(zhí)行的二進(jìn)制代碼特點(diǎn):效率高、但不易于使用10110110000000001011010100000000ADDA,#193.1編程語言KeilC51簡(jiǎn)介1、編程語言2)匯編語言定義:以助記符的形式表示機(jī)器語言特點(diǎn):速度快、體積小、但依賴于硬件體系3)高級(jí)語言獨(dú)立于機(jī)器、面向過程的、接近于人的自然語言。語言:FORTRAN、C語言特點(diǎn):與硬件無關(guān)、易于交流和使用、運(yùn)行效率低X=X+1;編譯器鏈接器X=X+1;…………程序員1001001010110010……高級(jí)語言程序機(jī)器碼單片機(jī)如何執(zhí)行程序指令?KeilC51語言是在標(biāo)準(zhǔn)C的基

2、礎(chǔ)上,針對(duì)51單片機(jī)的硬件特點(diǎn)進(jìn)行擴(kuò)展,并向51單片機(jī)上移植的高效、簡(jiǎn)潔的實(shí)用高級(jí)語言。與匯編語言相比的特點(diǎn):(1)可讀性好。(2)可模塊化開發(fā)。(3)可移植性好。(4)生成的代碼效率較低。2、KeilC51語言簡(jiǎn)介對(duì)于51單片機(jī),目前廣泛使用的是KeilC51語言,簡(jiǎn)稱C51語言。3、C51與標(biāo)準(zhǔn)C的區(qū)別(1)庫函數(shù)的不同。例如庫函數(shù)printf和scanf,在標(biāo)準(zhǔn)C中,這兩個(gè)函數(shù)通常用于屏幕打印和接收字符,而在KeilC51中,主要用于串行口數(shù)據(jù)的收發(fā)。(3)C51的變量存儲(chǔ)模式與標(biāo)準(zhǔn)C中的變量存儲(chǔ)模式不一樣。標(biāo)準(zhǔn)C是在通用計(jì)算機(jī)中只有一個(gè)程序和數(shù)據(jù)統(tǒng)一尋址的內(nèi)存空間。51單片機(jī)

3、存儲(chǔ)區(qū)可分為內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)、外部數(shù)據(jù)存儲(chǔ)區(qū)以及程序存儲(chǔ)區(qū)。(4)標(biāo)準(zhǔn)C語言沒有處理單片機(jī)中斷的方法。C51中有專門處理中斷的中斷函數(shù)。(2)數(shù)據(jù)類型有一定的區(qū)別。在標(biāo)準(zhǔn)C的基礎(chǔ)上又?jǐn)U展了4種類型。(5)頭文件的不同。51頭文件把單片機(jī)內(nèi)部的硬件資源如定時(shí)器、中斷、I/O等所相應(yīng)的功能寄存器寫入頭文件內(nèi)。(6)程序結(jié)構(gòu)的差異。由于51單片機(jī)硬件資源有限,編譯系統(tǒng)不允許太多的程序嵌套。其次,C51語言不支持標(biāo)準(zhǔn)C的遞歸特性。4、KeilC51的開發(fā)工具———KeilμVision3KeilμVision3是德國Keilsoftware公司開發(fā)的C51語言開發(fā)軟件。這個(gè)軟件集成了文件編輯處

4、理、編譯鏈接等功能。3.2C51語言程序設(shè)計(jì)基礎(chǔ)1、數(shù)據(jù)類型與存儲(chǔ)類型1)數(shù)據(jù)類型2)C51擴(kuò)展的數(shù)據(jù)類型(4種擴(kuò)展的數(shù)據(jù)類型)(1)位變量bitbit的值可以是1(true),或0(false)。bit變量名;格式:例如:bitflag;flag=0;(2)特殊功能寄存器sfr地址單元80H——FFH之間的片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū);“sfr”數(shù)據(jù)類型占用一個(gè)內(nèi)存單元;利用它可以訪問51單片機(jī)內(nèi)部的所有特殊功能寄存器。sfrP1=0x90;//定義了P1為片內(nèi)的P1口寄存器;P1=0xff;//把P1口的所有輸出引腳設(shè)置為高電平。例如:sfr寄存器變量名=字節(jié)地址常數(shù);格式:sfrSBUF=0

5、x99;習(xí)題:往串行發(fā)送數(shù)據(jù)緩沖寄存器SBUF寫入80SBUF=80;習(xí)題:從P0口寄存器讀取數(shù)據(jù),存放到任意一個(gè)變量X。sfrP0=0x80;intx;x=P0;例如:(3)特殊功能寄存器sfr16“sfr16”數(shù)據(jù)類型占兩個(gè)內(nèi)存單元;用于操作占兩個(gè)字節(jié)的特殊功能寄存器。sfr16DPTR=0x82;//定義了片內(nèi)16位數(shù)據(jù)指針寄存器DPTR,//低8位字節(jié)地址為82H,//高8位字節(jié)地址為83H。DPTR=0x1234;sfr16寄存器變量名=字節(jié)地址常數(shù);格式:字節(jié)地址為82H、83H存放的數(shù)據(jù)分別是多少?(4)特殊功能位sbit片內(nèi)特殊功能寄存器的可尋址位?!癪”前是特殊功能

6、寄存器的名字;“^”的后面數(shù)字是特殊功能寄存器可尋址位在寄存器中的位置,取值必須是0-7。①sbit位變量名=特殊功能寄存器^位位置;格式:sfrPSW=0xd0;//定義PSW寄存器地址為0xd0sbitFO=PSW^5;//定義F0位為PSW.5F0=0;例如:習(xí)題:片內(nèi)I/O口P1口的P1.0尋址位置成高電平sfrP1=0x90;sbitP1_0=P1^0;P1_0=1;習(xí)題:從P2口的P2.7讀取數(shù)據(jù),存放到任意一個(gè)位變量X。sfrP2=0xA0;sbitP2_7=P2^7;bitx;x=P2_7;sbit位變量名=位地址常數(shù);sbitCY=0xD7;/*CY位地址為0xD7

7、*/sbitOV=0xD2;/*OV位地址為0xD2*/if(CY==1){…}例如:格式:習(xí)題:片內(nèi)I/O口P1口的P1.0尋址位置成低電平sbitP1_0=0x90;P1_0=0;在頭文件AT89X51.h中定義了常用的特殊功能寄存器和可尋址位。#includesfrP1=0x90;sbitP1_0=0x90;兩者區(qū)別?63)數(shù)據(jù)存儲(chǔ)類型數(shù)據(jù)存儲(chǔ)類型是指數(shù)據(jù)存放在51單片機(jī)的哪一個(gè)存儲(chǔ)器空間。bdatadataidatapdata

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(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)系客服處理。