單片機C語言程序設計與運用期末復習題及答案_第1頁
單片機C語言程序設計與運用期末復習題及答案_第2頁
單片機C語言程序設計與運用期末復習題及答案_第3頁
單片機C語言程序設計與運用期末復習題及答案_第4頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機c語言程序設計與運用期末復習題及答案 一 、填空 1keil c51 軟件中,工程文件的擴展名是_uv2_,編譯連接后生成可燒寫的文件擴展名是_hex_。 2c51 支持的指針有 一般指針 和 存儲器指針 。 3c51 中,沒有專門的循環(huán)語句,我們可以用函數(shù)_crol_ 完 成 一 個 字 節(jié) 的 循 環(huán) 左 移 , 用_irol_完成二個字節(jié)的循環(huán)左移。 4 函數(shù) 是 c 語言的基本單位。 5 c 語 言 中 輸 入 和 輸 出 操 作 是 由 庫 函 數(shù) scanf和 printf 等函數(shù)來完成。 6若有說明 int i,j,k;則表達式 i=10,j=20,k=30,k*=i+j的

2、值為_ 900_。 7 數(shù)組 是一組有固定數(shù)目和相同類型成分分量的有序集合。 8變量的指針就是變量的 地址 ;指針變量的值是 指針 。 9在 c 語言中,把多個不同類型的變量結合在一起形成的一個組合型變量,稱為 結構變量 ,簡稱 結構 。 10c51 的數(shù)據(jù)類型有 基本類型 、 構造類型 、 指針類型 、 空類型 。 11c51 的基本數(shù)據(jù)類型有 位型 、 字符型 、 整形 、 長整形 、 浮點型 、 雙精度浮點型 。 12c51 的構造數(shù)據(jù)類型有 數(shù)組類型 、 結構類型 、 共用體型 、 梅舉型 。 13c51 的存儲類型有 data 、 bdata 、 idata 、 pdata 、 xd

3、ata 、 code 。 14c51 的存儲模式有 small 、 compact 和 large 。 15c51 程序與其他語言程序一樣,程序結構也分為 順序結構 、 選擇結構(或分支結構) 、 循環(huán)結構 三種。 16數(shù)組的一個很重要的用途就是 查表 。 17. 二 、單項選擇題: 1.89s51 的內部程序存儲器與數(shù)據(jù)存儲器容量各為多少?(c) (a)64kb、 128b ( b)4kb、64kb (c)4kb、128b (d)8kb、256b 2在 8x51 芯片里,哪個引腳用于控制使用內部程序存儲器還是外部程序存儲器?(b) (a)xtal1(b)/ea(c)/psen (d)ale

4、3.下列哪個不是 keilc 的預處理命令?(c) (a)#include (b)#define (c)#exit (d)#if 4.下列哪個不是 keilc 的數(shù)據(jù)類型?(b) (a)void (b)string (c)char (d)float 5.在 8x51 的輸入/輸出端口里,哪個輸入/輸出端口執(zhí)行在 輸出功能時沒有內部上拉電阻(a) (a)p0 (b)p1 (c)p2 (d)p3 6在 keilc 的程序里,若要指定 p0 口的 bit3,如何編寫?(c) (a)p0.3 (b)port0.3 (c)p03 (d)port3 7.在 8x51 里,若要擴展外部存儲器時,數(shù)據(jù)總線連接

5、哪個輸入/輸出端口?(a) (a)p0 (b)p1 (c)p2 (d)p3 8點亮一般的 led 所耗的電流約為多少?(d) (a)15ua(b)1020ua (c)15ma(d)1020ma 9.在 8x51 的程序里,若要將個輸入/輸出端口設置成輸入功能,應如何處理?(a) (a)先輸出高電平到該輸入/輸出端口 (b)先輸出低電平到該輸入/輸出端口 (c)先讀取該輸入/輸出端口的狀態(tài)(d)先保存該輸入/輸出端口的狀態(tài) 10根據(jù)實驗統(tǒng)計,當操作開關時,其不穩(wěn)定關態(tài)大約持續(xù)多久?(b) (a)15ms(b)1020ms (c)100150ms (d)150250us 11.在 keilc 里,

6、判讀開關狀態(tài)時,使用 if_else if 語句與使用 switch 語句有何差異?(b) (a)if-else if 語句較快 (b)if-else if 語句有優(yōu) 先級 (c)switch 語句可判讀較多開關狀態(tài) (d)switch 語句有優(yōu)先級 12對于低電平動作(低電平觸發(fā))的開關而言,下列哪個不是在輸入口上連接一個上拉電阻 vcc 的目的?(a) (a)提供足夠的驅動電流 (b)防止確定狀態(tài) (c)保持輸入高電平 (d)防止噪聲干擾 13.中斷功能具有什么好處?(c) (a)讓程序更復雜 (b)讓程序執(zhí)行速度更快 (c)讓程序更有效率 (d) 以上皆非 148x51 的 ip 緩存器

7、的功能為何?(a) (a)設置中斷優(yōu)先級 (b)啟用中斷功能 (c)設置中斷觸發(fā)信號 (d)定義 cpu 的網址 15.在 keilc 里,中斷子程序與函數(shù)有何不同?(a) (a)中斷子程序不必聲明 (b)函數(shù)不必聲明 (c)中斷子程序必須有形式參數(shù) (d)中斷子程序一定會有返回值 16若要同時啟用 int0 及 int1 中斷功能,則應如何設置?(b) (a)tcon=0x81 (b)ie=0x85 (c)ip=0x83 (d)ie=0x03 17.若要提高 int1 的優(yōu)先級,則應如何設置?(c) ( a ) ip=0x01 (b)ie=0x01 (c)ip=0x04 (d)ie=0x04

8、 18.在 8x51 的 timer 里,若使用 mode 0,其最大計數(shù)值為多少個機器周期?(b) (a)65636 (b)8192 (c)1024 (d)256 19.12 mhz 的 8x51 系統(tǒng)里,哪一種方式一次可定時 5ms?(a) (a)mode0 及 mode1 (b)mode1 及 mode2 (c ) mode2 及 mode3 (d) mode3 及 mode1 20.8x51 的定時器,在下列哪種方式下具有自動加載功能?(c) (a)mode0 (b) mode1 (c)mode2 (d)mode3 21.若將 timer0 設置為外部啟動,則可由哪個引腳啟動?(a)

9、(a)p3.2(b)p3.3 (c)p3.4 (d)p3.5 22.下列哪個 ic 具有將串行數(shù)據(jù)轉換成并行數(shù)據(jù)的功能?(b) (a)74138 (b)74164 (c)74165 (d)74168 23在同一時刻,只能接收或發(fā)送信號者稱為什么?(a) (a)半雙工 (b)全雙工(c)半單工 (d)單工 24在 8x51 的串行口里,在哪一種方式下,可利用 timer1產生波特率?(c) ( a ) mode0 (b)mode1 (c)mode2 (d)mode3 25.在 8x51 里,若通過串行端口傳出數(shù)據(jù),則只要將數(shù)據(jù)放入哪個寄存器,cpu 就會自動將它會傳出?(b) (a)smod(b

10、)sbuf (c)pcon (d)rbuf 26.在 8x51 里,若 cpu 完成串行端口數(shù)據(jù)的接收將會如何?(d) (a)將 ti 標志變?yōu)?0 (b)將 ri 標志為 0 (c)將 ti 標志變?yōu)榱?1 (d)將 ri 標志變?yōu)?1 27若要設置 8x51 串行端口方式,可在哪個寄存器中設置?(b) (a)smod (b)scon (c)pcon (d)tcon 28在共陽極 8*8led 點陣里,其陽極如何連接?(c) (a)各行陽極連接到行引腳 (b)各列陽極連接到列引腳(c)各行陽極連接到列引腳 (d)各列陽極連接到行引腳 29在共陽極 8*8 點陣里,其陰極如何連接?(a) (a

11、)各行陰極連接到行引腳 (b)各列陰極連接到列引腳 (c)各行陰極連接到列引腳 (d)各列陰極連接到行引腳 30通常 8*8led 點陣的驅動方式是什么?(b) (a)直接驅動 (b)掃描驅動 (c)雙向驅動 (d)以上皆非 31若要對 lcm 下指令,則應如保設置?(a) (a)rs=0,r/w=0(b)rs=1,r/w=0 (c)rs=1,r/w=1 (d)rs=0,r/w=1 32若要在 lcm 中顯示些字符,則需把所要顯示的字符放入何處?(b) (a)cg ram (b)ddram (c)iram (d)gdram 33若要將數(shù)據(jù)寫入 lcm,則應如何設置?(b) (a)rs=0,r/

12、w=0 (b)rs=1,r/w=0 (c)rs=1,r/w=1 (d)rs=0,r/w=1 341利用下列( d )關鍵字可以改變工作寄存器組 a、interrupt b、sfr c、while d、using 35c51 中一般指針變量占用( c )字節(jié)存儲。 a、一個 b、兩個 c、三個 d、四個 36使用宏來訪問絕對地址時,一般需包含的庫文件是( b ) a、reg51.h b、absacc.h c、intrins.h d、startup.h 37執(zhí)行#define pa8255 xbyte0x3ffc; pa8255=0x7e; 后存儲單元 0x3ffc 的值是(a ) a、ox7e

13、b、8255h c、未定 d、7e 38 設 有 int a =10,11,12,*p=a0 ; 則 執(zhí) 行 完*p+;*p+=1;后 a0,a1,a2的值依次是 (c) a、10,11,12 b、11,12,12 c、10,12,12 d、11,11,12 a、1 b、2 c、3 d、4 三 、判斷題: (每小題 1 1 分,共 0 10 分。正確的在括號內打"' ,錯誤的打"' 。判對得分,不判、判錯均不得分。) 1若一個函數(shù)的返回類型為 void,則表示其沒有返回值。( ) 2特殊功能寄存器的名字,在 c51 程序中,全部大寫。 ( ) 3"

14、sfr'后面的地址可以用帶有運算的表達式來表示。 ( ) 4#include reg51.h與#include "reg51.h'是等價的。( ) 5sbit 不可以用于定義內部 ram 的可位尋址區(qū),只能用在可位尋址的 sfr 上。( ) 6continue 和 break 都可用來實現(xiàn)循環(huán)體的中止。( ) 7所有定義在主函數(shù)之前的函數(shù)無需進行聲明。( ) 8int i,*p=i;是正確的 c 說明。( ) 973+12 的值是 15。( ) 10一個函數(shù)利用 return 不可能同時返回多個值。( ) 四、 問答題 1 1 簡述 1 c51 語言和匯編語言的比較

15、使用 c51 語言進行嵌入式系統(tǒng)的開發(fā),有著匯編語言所不可比擬的優(yōu)勢: 編程調試靈活方便; 生成的代碼編譯效率高; 模塊化開發(fā); 可移植性好; 便于項目的維護; 2 2 簡述單片機的 c c 語言和標準 c c 的比較 答:單片機的 c 語言和標準 c 的比較主要有以下幾點不同: c51 中定義的庫函數(shù)和標準的 c 語言定義的庫函數(shù)不同; c51 中的數(shù)據(jù)類型和標準 c 的數(shù)據(jù)類型也有一定的區(qū)別; c51 變量的存儲模式與標準 c 中變量的存儲模式不一樣; c51 與標準 c 的輸入/輸出處理不一樣; c51 與標準 c 語言在函數(shù)使用方面有一定的區(qū)別。 3 3 簡述單片機的 c c 語言的特

16、點 單片機的 c 語言的特點主要體現(xiàn)在以下幾個方面: 無需了解機器硬件及其指令系統(tǒng),只需初步了解 mcs-51的存儲器結構; c51 能方便的管理內部寄存器的分配、不同存儲器的尋址和數(shù)據(jù)類型等細節(jié)問題,但對硬件控制有限;而匯編語言可以完全控制硬件資源; c51 在小應用程序中,產生的代碼量大,執(zhí)行速度慢;但在較大的程序中代碼效率高; c51 程序由若干函數(shù)組成,具有良好的模塊化結構,便于改進和擴充; c51 程序具有良好的可讀性和可維護性;而匯編語言在大應用程序開發(fā)中,開發(fā)難度增加,可讀性差; c51 有豐富的庫函數(shù),可大大減少用戶的編程量,顯著縮短編程與調試時間,大大提高軟件開發(fā)效率; 使用

17、匯編語言編制的程序,當機型改變時,無法直接移植使用,而 c 語言程序是面向用戶的程序設計語言,能在不同機型的機器上運行,可移植性好。 4 4 簡述使用 1 keilc51 開發(fā)工具開發(fā)軟件的流程 使用keil software工具時,用戶的項目開發(fā)流程和其它軟件開發(fā)項目的流程極其相似,主要包括以下幾個步驟: 創(chuàng)建一個項目,從器件庫中選擇目標器件并配置工具軟件的設置; 用c語言或匯編語言創(chuàng)建源程序; 用項目管理器生成用戶的應用; 修改源程序中的錯誤; 調試鏈接后的應用。 一個完整的8051工具集的框圖可以很好地表述此開發(fā)流程,如圖1-1所示。 1 1 哪些變量類型是 51 單片機直接支持的? 答

18、:c51編譯器支持的數(shù)據(jù)類型有:位型(bit)、無符號字符型(unsigned char)、有符號字符型(signed char)、無符號整型(unsigned int)、有符號整型(signed int)、無符號長整型(unsigned long)、有符號長整型(signed long)、浮點型(float)和指針型等。 c51編譯器支持的數(shù)據(jù)類型、長度和值域如表2-1所示。 表2 2- - 1 c51 的數(shù)據(jù)類型 數(shù)據(jù)類型 長 度/bit 長 度/byte 值域 bit 1 0,1 unsigned char 8 1 0255 signed char 8 1 -128127 unsigne

19、d int 16 2 065 535 signed int 16 2 -32 76832 767 unsigned long 32 4 04 294 967 295 signed long 32 4 -2 147 483 6482 147483 647 float 32 4 1176e-38340e+38(6 位數(shù)字) double 64 8 1176e-38340e+38(10 位數(shù)字) 一般指針 24 3 存儲空間 065 535 2 2 簡述 c51 的數(shù)據(jù)存儲類型 答:我們都知道,8051單片機存儲區(qū)可分為內部數(shù)據(jù)存儲區(qū)、外部數(shù)據(jù)存儲區(qū)以及程序存儲區(qū)。8051單片機內部的數(shù)據(jù)存儲區(qū)是可

20、讀寫的,8051派生系列最多可有256字節(jié)的內部數(shù)據(jù)存儲區(qū),其中低128字節(jié)可直接尋址,高128字節(jié)(從0x80到0xff)只能間接尋址,從20h開始的16字節(jié)可位尋址。內部數(shù)據(jù)區(qū)可分為3個不同的存儲類型:data、idata和bdata。 外部數(shù)據(jù)區(qū)也是可讀寫的,訪問外部數(shù)據(jù)區(qū)比訪問內部數(shù)據(jù)區(qū)慢,因為外部數(shù)據(jù)區(qū)是通過數(shù)據(jù)指針加載地址來間接訪問的。c51 提供兩種不同的存儲類型 xdata 和 pdata 訪問外部數(shù)據(jù)。 程序存儲區(qū)是只能讀不能寫。程序存儲區(qū)可能在 8051 單片機內部或者在外部或者內外都有,這由 8051 單片機的硬件決定。c51 提供了 code 存儲類型來訪問程序存儲區(qū)。

21、 每個變量可以明確地分配到指定的存儲空間,對內部數(shù)據(jù)存儲器的訪問比對外部數(shù)據(jù)存儲器的訪問快許多,因此應當將 頻繁使用的變量放在內部存儲器中,而把較少使用的變量放在外部存儲器中。各存儲區(qū)的簡單描述如表 2-2 所示。 表 表 2 2- -2 2 1 c51 存儲類型與 1 8051 存儲空間的對應關系 存儲區(qū) 描述 data 片內 ram 的低 128 字節(jié),可在一個周期內直接尋址 bdata 片內 ram 的位尋址區(qū),16 字節(jié) idata 片內 ram 的 256 字節(jié),必須采用間接尋址 xdata 外部數(shù)據(jù)存儲區(qū),使用 dptr 間接尋址 pdata 外部存儲區(qū)的 256 個字節(jié),通過 p

22、0 口的地址對其尋址。使用 mo ri,需要兩個指令周期 code 程序存儲區(qū),使用 dptr 尋址。 以上介紹的是 c51 的數(shù)據(jù)存儲類型,c51 存儲類型及其大小和值域如表 2-3 所示。 表2 2- -3 3 c51 存儲類型及其大小和值域 存儲類型 長度/bit 長度/byte 值域 data 8 1 0255 idata 8 1 0255 pdata 8 1 0255 code 16 2 065 535 xdata 16 2 065 535 3 3 簡述 c51 對 51 單片機特殊功能寄存器的定義方法 答:mcs-51通過其特殊功能寄存器(sfr)實現(xiàn)對其內部主要資源的控制。mcs

23、-51單片機有21個sfr,有的單片機還有更多的sfr,它們分布在片內ram的高128字節(jié)中,其地址能夠被8整除的sfr一般可以進行位尋址。關于mcs-51單片機的特殊功能寄存器參看附錄a。對sfr只能用直接尋址方式訪問。c51允許通過使用關鍵字sfr、sbit或直接引用編譯器提供的頭文件來實現(xiàn)對sfr的訪問。 (1 1 )使用關鍵字定義 sfr 為了能直接訪問特殊功能寄存器sfr,c51提供了一種自主形式的定義方法。這種定義方法與標準的c語言不兼容,只適用于對8051系列單片機進行c編程。這種定義的方法是引入關鍵字"sfr',語法如下: sfr 特殊功能寄存器名字 = 特殊

24、功能寄存器地址; 如: sfr scon=0x98; /*串口控制寄存器地址98h*/ sfr tmod=0x89; /*定時器/計數(shù)器方式控制寄存器地址89h*/ (2 2 )通過頭文件訪問 sfr 8051系列單片機的寄存器數(shù)量與類型是極不相同的,因此對單片機特殊功能寄存器的訪問可以通過對頭文件的訪問來進行。 為了用戶處理方便,c51編譯器把mcs-51單片機的常用的特殊功能寄存器和特殊位進行了定義,放在一個"reg51.h'或"reg52.h'的頭文件中。當用戶要使用時,只需要在使用之前用一條預處理命令"#include reg51.h

25、9;把這個頭文件包含到程序中,然后就可以使用特殊功能寄存器名和特殊位名稱了。用戶可以通過文本編輯器對頭文件進行增減。 (3) sfr 中位定義 在8051單片機的應用問題中,經常需要單獨訪問sfr中的位,c51的擴充功能使之成為可能,使用關鍵字"sbit'可以訪問位尋址對象。特殊位(sbit)的定義,像sfr一樣不與標準c兼容。 與sfr定義一樣,用關鍵字"sbit'定義某些特殊位,并接受任何符號名,"='號后將絕對地址賦給變量名。這種地址分配有三種方法: 第一種方法: sbit 位名=特殊功能寄存器名位置; 當特殊功能寄存器的地址為字節(jié)(

26、8位)時,可使用這種方法。特殊功能寄存器名必須是已定義的sfr的名字。"'后的"位置'語句定義了基地址上的特殊位的位置。該位置必須是 07的數(shù)。如: 第二種方法: sbit 位名=字節(jié)地址位置; 這種方法是以一個整常數(shù)為基地址,該值必須在0x800xff之間,并能被8整除,確定位置的方法同上。 第三種方法: sbit 位名=位地址; 這種方法將位的絕對地址賦給變量,地址必須在0x800xff之間。 4 4 簡述 c51 對 51 單片機片內 i/o 口和外部擴展的 i/o 口的定義方法 答: c51對51單片機片內i/o口的定義方法是將片內i/o口看成sfr

27、。 c51對51單片機片外i/o的訪問有兩種比較常用的訪問方法: (1 1 )絕對宏 c51編譯器提供了一組宏定義來對51系列單片機的code、data、pdata和xdata空間進行絕對尋址。在程序中,用"#includeabsacc.h'即可使用其中聲明的宏來訪問絕對地址,包括cbyte、xbyte、pword、dbyte、cword、xword、pbyte、dword,具體使用方法參考absacc.h頭文件。其中: cbyte以字節(jié)形式對code區(qū)尋址;cword以字形式對code區(qū)尋 址; dbyte以字節(jié)形式對data區(qū)尋址;dword以字形式對data區(qū)尋址; x

28、byte以字節(jié)形式對xdata區(qū)尋址;xword以字形式對xdata區(qū)尋址; pbyte以字節(jié)形式對pdata區(qū)尋址;pword以字形式對pdata區(qū)尋址; (2 2 ) _at_ 關鍵字 可以使用關鍵字_at_對指定的存儲器空間的絕對地址進行訪問,一般格式如下: 存儲器類型 數(shù)據(jù)類型說明符 變量名 _at_地址常數(shù); 其中,存儲器類型為c51能識別的數(shù)據(jù)類型,如省略則按存儲器模式規(guī)定的默認存儲器類型確定變量的存儲器區(qū)域;數(shù)據(jù)類型為c51支持的數(shù)據(jù)類型;地址常數(shù)用于指定變量的絕對地址,必須位于有效的存儲器空間之內;使用_at_定義的變量必須為全局變量。 5 5 簡述 c51 對 51 單片機位

29、變量的定義方法 答:除了通常的c數(shù)據(jù)類型外,c51編譯器支持bit數(shù)據(jù)類型。 采用關鍵字"bit'進行定義。如: bit direction_bit; /* 將direction_bit定義為位變量 */ bit lock_pointer; /* 將lock_pointer定義為位 變量 */ bit display_invers; /* 將display_invers定義為位變量 */ 6 6 c51 和 turbo c 的數(shù)據(jù)類型和存儲類型有哪些異同點? 答:c51增加了位變量,取消了布爾變量。 7 7 c51 的 data 、 bdata 、 idata 有什么區(qū)別?

30、答:data、bdata、idata是表明數(shù)據(jù)的存儲類型, data是指片內ram的低128字節(jié),可在一個周期內直接尋址; bdata是指片內ram的位尋址區(qū),16字節(jié); idata是指片內ram的256字節(jié),必須采用間接尋址。 8 8 c51 中的中斷函數(shù)和一般的函數(shù)有什么不同? 答:c51編譯器允許用c51創(chuàng)建中斷服務函數(shù),中斷函數(shù)是由中斷系統(tǒng)自動調用的。 中斷函數(shù)的定義格式為: 函數(shù)類型 函數(shù)名 interrupt n using n 其中: interrupt和using為關鍵字; interrupt后面的n 為中斷源的編號,即中斷號; using后面的n所選擇的寄存器組,取值范圍為0

31、3。 定義中斷函數(shù)時,using是一個選項,可以省略不用。如果不用using選項,則由編譯器選擇一個寄存器組作為絕對寄 存器組。 8051的中斷過程通過使用interrupt關鍵字和中斷號(031)來實現(xiàn),中斷號告訴編譯器中斷函數(shù)的入口地址。 9 9 c51 采用什么形式對絕對地址進行訪問? 答:絕對地址的訪問包括片內ram、片外ram及i/o的訪問。c51提供了兩種比較常用的訪問絕對地址的方法。 (1 1 )絕對宏 c51編譯器提供了一組宏定義來對51系列單片機的code、data、pdata和xdata空間進行絕對尋址。在程序中,用"#includeabsacc.h'即可

32、使用其中聲明的宏來訪問絕對地址,包括cbyte、xbyte、pword、dbyte、cword、xword、pbyte、dword,具體使用方法參考absacc.h頭文件。其中: cbyte以字節(jié)形式對code區(qū)尋址;cword以字形式對code區(qū)尋址; dbyte以字節(jié)形式對data區(qū)尋址;dword以字形式對data區(qū)尋址; xbyte以字節(jié)形式對xdata區(qū)尋址;xword以字形式對xdata區(qū)尋址; pbyte以字節(jié)形式對pdata區(qū)尋址;pword以字形式對pdata區(qū)尋址; 如: #includeabsacc.h #define porta xbyte0xffc0/*將port定義

33、為外部i/o口,地址為0xffc0,長度為8位*/ #define nram dbyte0x40 /*將nram定義為片內ram,地址為40h,長度為8位*/ (2 2 ) _at_ 關鍵字 可以使用關鍵字_at_對指定的存儲器空間的絕對地址進行訪問,一般格式如下: 存儲器類型 數(shù)據(jù)類型說明符 變量名 _at_地址常數(shù); 其中,存儲器類型為c51能識別的數(shù)據(jù)類型,如省略則按存儲器模式規(guī)定的默認存儲器類型確定變量的存儲器區(qū)域;數(shù)據(jù)類型為c51支持的數(shù)據(jù)類型;地址常數(shù)用于指定變量的絕對地址,必須位于有效的存儲器空間之內;使用_at_定義的變量必須為全局變量。 10 按照給定的數(shù)據(jù)類型和存儲類型,寫

34、出下列變量的說明形式 答: (1)在data區(qū)定義字符變量val1 char data vall; (2)在idata區(qū)定義整型變量val2 int idata val2; (3)在xdata區(qū)定義無符號字符型數(shù)組val34。 unsigned xdata val34; (4)在xdata區(qū)定義一個指向char類型的指針px。 char xdata *px; (5)定義可位尋址變量flag。 bit flag; (6)定義特殊功能寄存器變量p3。 sfr p3=0xb0; 11 break 和 continue 語句的區(qū)別是什么? 答:break語句用于從循環(huán)代碼中退出,然后執(zhí)行循環(huán)語句之后的語句,不再進入循環(huán)。 continue語句用于退出當前循環(huán),不再執(zhí)行本輪循環(huán),程序代碼從下一輪循環(huán)開始執(zhí)行,直到判斷條件不滿足為止。 和break的區(qū)別是該語句不是退出整個循環(huán)。 12 c51 選擇語句、循環(huán)

溫馨提示

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

評論

0/150

提交評論