第八章89c51.ppt_第1頁
第八章89c51.ppt_第2頁
第八章89c51.ppt_第3頁
第八章89c51.ppt_第4頁
第八章89c51.ppt_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第八章 C51 編程簡介,8.1 Keil C51簡介,一、Keil C5主要模塊 Keil C51為用戶提供了下列主要模塊: l C51 優(yōu)化C 編譯器 l A51 宏匯編器 l 8051 工具連接器目標(biāo)文件轉(zhuǎn)換器庫管理器 l Windows 版dScope 源程序級調(diào)試器/模擬器 lWindows版Vision 集成開發(fā)環(huán)境,二、Keil C51編程步驟 使用Keil C51編程和用其它軟件開發(fā)項(xiàng)目時大致一樣,按下列步驟編程: 1、創(chuàng)建C或匯編語言的源程序 2、編譯或匯編源文件運(yùn)算符 3、糾正源文件中的錯誤 4、連接產(chǎn)生目標(biāo)文件 5、模擬調(diào)試用戶程序,8.2 C51程序設(shè)計(jì)基礎(chǔ)知識,#in

2、clude #include #include void main (void) P0=0 x00; P1=0 x01; P2=0 x02; P3=0 x03; ,引例: 僅由main()函數(shù)構(gòu)成的語言程序。,8.2.1C51的基礎(chǔ)知識,l 標(biāo)識符 標(biāo)識符:程序中某個對象的名字。這些對象可以是變量、常量、函數(shù)、數(shù)據(jù)類型及語句等。 命名規(guī)則:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開頭。,l 關(guān)鍵字 用于說明類型、語句功能等專門用途的標(biāo)識符。又稱保留字。如int、printf等 有數(shù)據(jù)類型、控制語句、存儲類型關(guān)鍵字和其它關(guān)鍵字四類。C51擴(kuò)展了一部分關(guān)鍵字。如data、sfr及bit等。,

3、一、存儲空間定義,二、C51數(shù)據(jù)類型,l char:字符型(8位整數(shù)) 1、unsigned char:2、signed char:,l int:整型 (16位整數(shù)) 1、unsigned int:2、signed int:,l long:長整型(32位整數(shù)),l Float:單精度浮點(diǎn)型,l * :指針型,l bit:位型 它可定義一個位變量,但不能定義位指針,也不能定義位數(shù)組。 例: int bdata ibase; /* Bitaddressable int */ char bdata bary4; /* Bitaddressable array */ sbit mybit0 =ibas

4、e0; /* bit 0 of ibase */ sbit mybit15 =ibase15; /* bit 15 of ibase */ sbit Ary07=bary0 7; /* bit 7 of bary0 */ sbit Ary37=bary37; /* bit 7 of bary3 */,l sfr:特殊功能寄存器 用于訪問8051單片機(jī)特殊功能寄存器,sfr型數(shù)據(jù)為1字節(jié),是一個僅用于特殊功能寄存器空間的8位無符號的整型變量。 例: sfr P0 = 0 x80; /* Port0, address 80h */ sfr P1 = 0 x90; /* Port1, address

5、 90h */ sfr P2 = 0 xA0; /* Port2, address 0A0h */ sfr P3 = 0 xB0;/* Port3, address 0B0h */,l sfr16:16位特殊功能寄存器 用于以16位方式訪問8051單片機(jī)特殊功能寄存器,sfr16型數(shù)據(jù)為2個字節(jié),也是一個僅用于特殊功能寄存器空間的16位無符號的整型變量。 例: sfr16 T2 = 0 xCC; /* Timer 2: T2L 0CCh, T2H 0CDh */ sfr16 RCAP2 = 0 xCA; /* RCAP2L 0CAh, RCAP2H 0CBh */,l sbit:可尋址位型 用

6、于定義和訪問8051內(nèi)部RAM及特殊功能寄存器中可位尋址的空間 例: sfr PSW = 0 xD0; sfr IE = 0 xA8; sbit OV = PSW 2; sbit CY = PSW 7; sbit EA = IE 7;,三、 C51存儲空間的定義,例如: unsigned char data i,num;/在內(nèi)部RAM中定義變量 unsigned char data display_data_buff8;/數(shù)據(jù)顯示緩沖區(qū) unsigned char data display_code_buff8;/顯示字形緩沖區(qū) unsigned char code display_code1

7、6= 0 x0C0,0 x0F9,0 x0A4,0 x0B0, 0 x99, 0 x92, 0 x82,0 x0F8,/0,1,2,3,4,5,6,7 0 x80 , 0 x90, 0 x88, 0 x83, 0 x0C6,0 x0A1, 0 x86, 0 x8E,/8,9,A,B,C,D,E,F ; /display_code16是常數(shù),被定義在代碼區(qū)中,四、C51的常量,整型常量 十進(jìn)制整型常量:如250,12 十六進(jìn)制整型常量:以0 x或0X開頭 例:十進(jìn)制的128,用十六進(jìn)制表示為0 x80,,字符型常量 如,A,*和8等都是合法的字符型常量。C51還允許使用一些特殊的字符常量,這些字

8、符常量都是以反斜杠字符開頭的字符序列,稱為“轉(zhuǎn)義字符”。,字符串常量 字符串常量是由一對雙引號括起來的字符序列,如,“string”。 例:字符串I am a student在內(nèi)存中存儲的形式如下:,注意:字符串a(chǎn)與字符a是不同的兩個常量,五、C51的常用運(yùn)算符,(1)算術(shù)運(yùn)算符 (+ * / % + ) (2)關(guān)系運(yùn)算符 ( = = !=) (3)邏輯運(yùn)算符 ( ! unsigned int data data_2; unsigned char data data_3,i;,/*=用指針方式訪問=*/ data_1=0 xd300; for(i=1;i=50;i+,data_1+) *data_1=i; /*=訪問8051 外部數(shù)據(jù)區(qū)的單個字節(jié)=*/ data_2=0 xd400; for(i=51;i=100;i+,data_2+) XBYTEdata_2=i; ,ABSACC.H #define PBYTE (unsigned char volatile pdata *) 0) #define XBYTE (unsigned char volatile xdata *) 0),V

溫馨提示

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

最新文檔

評論

0/150

提交評論