freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]單片機應(yīng)用技術(shù)第九章-全文預(yù)覽

2024-11-06 18:27 上一頁面

下一頁面
  

【正文】 經(jīng)定義過和宏符號名,但最多不能超過 8級嵌套。 ? 宏定義 ? 宏定義的作用就是用一個字符串來進(jìn)行替換。 ? 例如: ? void timer1( void) interrupt 3 using 3 ? { ? } 上一頁 返回 C51的編譯預(yù)處理 ? C51的編譯預(yù)處理命令類似于匯編語言中的偽指令。 上一頁 下一頁 返回 C51的函數(shù) ? 使用中斷服務(wù)函數(shù)必須注意:中斷函數(shù)必須是無參數(shù)無返回值的函數(shù)。為了滿足編寫中斷服務(wù)程序的需要, C51編譯器增加了一個關(guān)鍵字 interrupt,用于定義中斷服務(wù)函數(shù),其一般格式為: ? 函數(shù)類型 函數(shù)名(形式參數(shù)表) [interrupt m] [using n] ? 其中,關(guān)鍵字 interrupt m后面的 m表示中斷號,取值范圍為 0~31。 上一頁 下一頁 返回 C51的函數(shù) ? 再入函數(shù)的定義格式為: ? 函數(shù)類型 函數(shù)名(形式參數(shù)表) [reentrant] ? 使用再入函數(shù)時必須注意,再入函數(shù)是不能傳送 bit類型的參數(shù),也不能定義一個局部位變量,再入函數(shù)不能包括位操作以及可位尋址區(qū)。 “ 實際參數(shù)表 ” 就是與形式參數(shù)對應(yīng)的一組變量,它的作用就是將它的值傳遞給被調(diào)用函數(shù)中的形式參數(shù)。 ? 函數(shù)的說明與調(diào)用 ? 與使用變量一樣,在調(diào)用一個函數(shù)之前,必須對該函數(shù)的類型進(jìn)行說明。 /*返回函數(shù)的值 z*/ ? } 上一頁 下一頁 返回 C51的函數(shù) ? 在上例中,如果要將函數(shù)的值返回到主調(diào)用函數(shù)中去,則需要用 return語句。 /*說明形式參數(shù)的類型 */ ? char y。 上一頁 下一頁 返回 C51的函數(shù) ? “局部變量定義 ” 是對在函數(shù)內(nèi)部使用的局部變量進(jìn)行定義。無值型表示函數(shù)沒有返回值。 ? 標(biāo)準(zhǔn)庫函數(shù)是由 C51編譯器提供的,它不需要用戶進(jìn)行定義和編寫,可以直接由用戶調(diào)用,如 。i。 ? 例如: max=(ab)? a:b 的執(zhí)行結(jié)果是比較 a與 b的大小,若 ab,則為真, max=a;若 ab,則為假, max=b。=、 |=、 ^=、 ~=等。例如: a=0x8f,進(jìn)行左移運算 a2時,全部的二進(jìn)制位值一起向左移動了 2位,最左端的 2位被丟棄,并在最右端 2位補入 0。 按位與 上一頁 下一頁 返回 C51的運算符 ? ^ 按位異或 ? | 按位或 ? 位運算符的優(yōu)先級由高到低依次為:按位取反 ~ → 左移 、右移 → 按位與 amp。 → 邏輯或 || 。 ? 關(guān)系表達(dá)式的格式為: 上一頁 下一頁 返回 C51的運算符 ? 表達(dá)式 1 關(guān)系運算符 表達(dá)式 2 ? 例如: ? x+y= (a+1)!=c ? 5. 邏輯運算符 ? C51的有以下 3種: ? amp。 ? 若要改變運算符的優(yōu)先級,可采用圓括號實現(xiàn)。以下為 C51中常用的運算符。 /* 指針py指向 char型 pdata區(qū),指針 px自身在 data ? 區(qū),指針長度為 1字節(jié) */ ? 由此可知,指針?biāo)赶虻淖兞看鎯ζ黝愋投x為data/idata/pdata時,指針本身長度為 1個字節(jié);指針?biāo)赶虻淖兞看鎯ζ黝愋投x為 code/xdata時,指針本身長度為 2個字節(jié)。因此, C51中的指針與匯編中的這兩種寄存器類似,指針本身是一個需要進(jìn)行類型定義的變量,而它所指向的變量也需要進(jìn)行類型定義。此時, BYTE就等效于 char。在用 typedef重新定義數(shù)據(jù)類型后,可以用新的數(shù)據(jù)類型名對變量進(jìn)行定義,但不能直接用 typedef定義變量。 /*在 bdata區(qū)定義了一個位變 量 x0 */ ? sfr P0=0x80。 /*指針 px指向 char型 xdata 區(qū),指針 px自身在默認(rèn)存儲 區(qū),指針長度為 2字節(jié) */ 上一頁 下一頁 返回 C51的數(shù)據(jù)結(jié)構(gòu) ? char pdata * data py。 /* 定義整型變量 a,同時賦初值 等于 5,變量 a位于由編譯器的存儲 器模式確定的默認(rèn)存儲區(qū)中 */ ? char code text[]=”HELLO!”。 ? 若在定義變量時省略了存儲器類型項,則按編譯時使用的存儲器模式來確定變量的存儲器空間。 ? 2. 數(shù)據(jù)類型 ? 該項為必選項。 上一頁 下一頁 返回 C51的數(shù)據(jù)結(jié)構(gòu) ? 靜態(tài)變量( static)分為內(nèi)部靜態(tài)變量和外部靜態(tài)變量兩種。只有在定義它的函數(shù)被調(diào)用,或是定義它的復(fù)合語句被執(zhí)行時,編譯器才為其分配內(nèi)存空間。 ? 1. 存儲種類 上一頁 下一頁 返回 C51的數(shù)據(jù)結(jié)構(gòu) ? 該項為可選項。 上一頁 下一頁 返回 C51的數(shù)據(jù)結(jié)構(gòu) ? 5. 位常量 ? 它的值只能取 1或 0兩種值。 ? 4. 字符串型常量 ? 為雙引號內(nèi)的字符,如 “ ABCD”、 “ %”等。例如:, ?6e7等。例如: , .1234, 1234.。 ? C語言編寫單片機應(yīng)用程序已成為單片機軟件設(shè)計的趨勢,應(yīng)多練習(xí)提高 C語言的應(yīng)用能力,特別是與匯編語言混合編程的能力。 ? C51中的函數(shù)大多與 C相同,增加了兩個特殊函數(shù):再入函數(shù)和中斷服務(wù)函數(shù)。 ? C51編譯器除了能支持以上這些基本數(shù)據(jù)類型外,還能支持復(fù)雜的構(gòu)造類型,如結(jié)構(gòu)體、聯(lián)合體等,這里就不一一介紹了。 ? 9. sbit:可尋址位類型 ? 它也是 C51編譯器的一種擴充數(shù)據(jù)類型,利用它可以訪問 51單片機內(nèi)部 RAM的可尋址位及特殊功能寄存器中的可尋址位。 Sfr型數(shù)據(jù)占用一個內(nèi)存單元,取值范圍為 0~255。 ? 指針型變量的用法與匯編語言中的間接尋址方式類似, 表 91表示兩種語言的對照用法。 ? 例如, ?=0xC0E00000,以下為該數(shù)在內(nèi)存中的格式: ? 除以上幾種基本數(shù)據(jù)類型外,還有以下一些數(shù)據(jù)類型。 E為階碼,占 8位二進(jìn)制數(shù)。 unsigned long類型數(shù)據(jù)可以表達(dá)的數(shù)值范圍是 0~4294967295, signed lomg類型數(shù)據(jù)的最高位表示符號位, “ 0”為正數(shù), “ 1”為負(fù)數(shù)。 unsigned int類型數(shù)據(jù)可以表達(dá)的數(shù)值范圍是 0~65535, signed int類型數(shù)據(jù)的最高位表示符號位, “ 0”為正數(shù), “ 1”為負(fù)數(shù)。 unsigned char類型數(shù)據(jù)可以表達(dá)的數(shù)值范圍是0~255, signed char類型數(shù)據(jù)的最高位表示符號位,“ 0”為正數(shù), “ 1”為負(fù)數(shù)。 ? C51的數(shù)據(jù)類型 ? C語言的數(shù)據(jù)類型可分為基本數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型,其中復(fù)雜數(shù)據(jù)類型又是由基本數(shù)據(jù)類型構(gòu)造而成。 上一頁 返回 C51的數(shù)據(jù)結(jié)構(gòu) ? C51與 C語言相同,其數(shù)據(jù)有常量和變量之分。 ? 4. 可以用 /*…… */ 對 C51源程序中的任何部分作注釋,以增加程序的可讀性。若為全局變量,則可以被程序的任何一個函數(shù)引用;若為局部變量,則只能在本函數(shù)中被引用。 ? } ? } 上一頁 下一頁 返回 C51程序的基本構(gòu)成 ? 由上面的例子可以看出: ? 1. 一個 C51源程序是一個函數(shù)的集合。 ? } ? void main(void) /*主函數(shù) */ ? { ? while(1) 上一頁 下一頁 返回 C51程序的基本構(gòu)成 ? { ? L1=0。j0。 /*定義位變量 L1為 ,全局變量說明 */ ? void delay02s(void) /*延時 明 */ 下一頁 返回 C51程序的基本構(gòu)成 ? { ? unsigned char i,j,k。第九章 C51程序設(shè)計入門 ? C51程序的基本構(gòu)成 ? C51的數(shù)據(jù)結(jié)構(gòu) ? C51的運算符 ? C51的函數(shù) ? C51的編譯預(yù)處理 ? C51應(yīng)用舉例 ? 本章小結(jié) C51程序的基本構(gòu)成 ? C51源程序的結(jié)構(gòu)與一般的 C語言并沒有太大的差別。 ? include /*編譯器自帶的 h文 件,使用 */ ? sbit L1=P1^0。i) ? for(j=20。k)。 ? delay02s()。 ? 2. 在每個函數(shù)中所使用的變量都必須先說明后引用。但在每個語句和數(shù)據(jù)定義的最后必須有一個分號,即使是程序中的最后一個語句也必須包含分號?!敝械?P1就是在頭文件中被定義了的變量,在本例中只需使用就可以了。無論是常量或變量,其數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型決定的。有 signed char(有符號數(shù))和unsigned char(無符號數(shù))兩種,默認(rèn)值為 signed char。有 signed int和 unsigned int兩種,默認(rèn)值為 signed int。有 signed long和 unsigned long兩種,默認(rèn)值為 signed long。在內(nèi)存中的存放格式如下: 字節(jié)地址 +0 +1 +2 +3 浮點數(shù)內(nèi)容 S EEEEEEE E MMMMMMM MMMMMMM MMMMMMM 上一頁 下一頁 返回 C51的數(shù)據(jù)結(jié)構(gòu) ? 其中, S表示符號位, “ 0”為正數(shù), “ 1”為負(fù)數(shù)。一個浮點數(shù)的數(shù)值可表示為( ?1) S 2E—127 ( )。其變量類型的表示方法是在指針符號 “ *” 的前面冠以數(shù)據(jù)類型的符號,如 char * point1表示 point1是一個字符型的指針變量。 ? 7. sfr:特殊功能寄存器類型 ? 它也是 C51編譯器的一種擴充數(shù)據(jù)類型,利用它可以定義 51單片機的所有內(nèi)部 8位特殊功能寄存器。它占用兩個內(nèi)存單元,取值范圍為 0~65535。 ? bit → char → int → long → float ? singed → unsigned ? 轉(zhuǎn)換時由低向高進(jìn)行。 上一頁 下一頁 返回 C51的數(shù)據(jù)結(jié)構(gòu) ? C51的程序結(jié)構(gòu)及數(shù)據(jù)類型與 C語言類似,根據(jù) 89C51單片機的存儲特點,增加了幾種新的數(shù)據(jù)類型: sfr、 sfr1bit、 sbit。與 C語言基本相同。 ? 十進(jìn)制由數(shù)字和小數(shù)點組成,整數(shù)和小數(shù)部分為 0可以省略,但小數(shù)點不能省略。 ]數(shù)字。如 表 93為一些常用的轉(zhuǎn)義字符。所以字符串
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1