C51語(yǔ)言復(fù)習(xí)題參考答案_第1頁(yè)
C51語(yǔ)言復(fù)習(xí)題參考答案_第2頁(yè)
C51語(yǔ)言復(fù)習(xí)題參考答案_第3頁(yè)
C51語(yǔ)言復(fù)習(xí)題參考答案_第4頁(yè)
C51語(yǔ)言復(fù)習(xí)題參考答案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、單項(xiàng)選擇題:每題2分,共10分。在每題備選答案中選出一個(gè)正確答案,并將正確答案的代碼填在題中括號(hào)內(nèi)。選對(duì)得分,不選、選錯(cuò)均不得分。1 .利用以下D關(guān)鍵字可以改變工作存放器組B、sfrA、interruptC、whileD、using2 .C51中一般指針變量占用(C)字節(jié)存儲(chǔ)。A、一個(gè)B、兩個(gè)C、三個(gè)D、四個(gè)3 .使用宏來(lái)訪(fǎng)問(wèn)絕對(duì)地址時(shí),一般需包含的庫(kù)文件是BA、reg51.hB、absacc.hC、intrins.hD、startup.h4 .執(zhí)行#definePA8255XBYTE0x3FFC;PA8255=0x7e;后存儲(chǔ)單元0x3FFC的值是AA、Ox7eB、8255HC、未定D、

2、7e5 .設(shè)有inti;那么表達(dá)式i=1,+i,+i|+i,i的值為CA、1B、2C、3D、46 .設(shè)有inta尸10,11,12,*p=&a0;那么執(zhí)行完*p+;*p+=1;后a0,a1,a2的值依次是CA、10,11,12B、11,12,12C、10,12,12D、11,11,127 .設(shè)有inti;那么表達(dá)式i=1,+i,i|+i,i的值為BA、1B、2C、3D、4二、判斷題:每題1分,共10分。正確的在括號(hào)內(nèi)打,錯(cuò)誤的打“X”。判對(duì)得分,不判、判錯(cuò)均不得分。1. .假設(shè)一個(gè)函數(shù)的返回類(lèi)型為void,那么表示其沒(méi)有返回值。V2. .特殊功能存放器的名字,在C51程序中,全部大寫(xiě)。

3、3. "sfr后面的地址可以用帶有運(yùn)算的表達(dá)式來(lái)表示。x4. #include<reg51.h>與#include"reg51.h"是等價(jià)的。5. sbit不可以用于定義內(nèi)部RAM的可位尋址區(qū),只能用在可位尋址的SFR上。X6. Continue和break都可用來(lái)實(shí)現(xiàn)循環(huán)體的中止。x7. 假設(shè)一個(gè)函數(shù)的返回類(lèi)型為void,那么表示其沒(méi)有返回值。V8. 所有定義在主函數(shù)之前的函數(shù)無(wú)需進(jìn)展聲明。x9. inti,*p=&i;是正確的C說(shuō)明。V10. 7&3+12的值是15。X11. 一個(gè)函數(shù)利用return不可能同時(shí)返回多個(gè)值。V三、填空

4、每空1分,共20分。在空白處填上正確的內(nèi)容1. KeiLC51軟件中,工程文彳的擴(kuò)展名是UV2,編譯連接后生成可燒寫(xiě)的文件擴(kuò)展名是HEX。2. C51支持的指針有一般指針和存儲(chǔ)器指針。3. C51中,沒(méi)有專(zhuān)門(mén)的循環(huán)語(yǔ)句,我們可以用函數(shù)croi完成一個(gè)字節(jié)的循環(huán)左移,用irol完成二個(gè)字節(jié)的循環(huán)左移。一4. 函數(shù)是C語(yǔ)言的根本單位。5. C語(yǔ)言中輸入和輸出操作是由庫(kù)函數(shù)scanf和printf等函數(shù)來(lái)完成。6. 假設(shè)有說(shuō)明inti,j,k;那么表達(dá)式i=10,j=20,k=30,k*=i+j的值為_(kāi)900。7. 數(shù)組是一組有固定數(shù)目和一樣類(lèi)型成分分量的有序集合。8. 變量的指針就是變量的地址;指

5、針變量的值是指針。9. 在C語(yǔ)言中,把多個(gè)不同類(lèi)型的變量結(jié)合在一起形成的一個(gè)組合型變量,稱(chēng)為構(gòu)造變量,簡(jiǎn)稱(chēng)構(gòu)造。10. C51的數(shù)據(jù)類(lèi)型有根本類(lèi)型、構(gòu)造類(lèi)型、指針類(lèi)型、空類(lèi)。11. C51的根本數(shù)據(jù)類(lèi)型有位型、字符型、整形、長(zhǎng)整形、浮點(diǎn)型、雙精度浮點(diǎn)型。12. C51的構(gòu)造數(shù)據(jù)類(lèi)型有數(shù)組類(lèi)型、構(gòu)造類(lèi)型、共用體型、梅舉型。13. C51的存儲(chǔ)類(lèi)型有data、bdata、idata、pdata、xdata、code。14. C51的存儲(chǔ)模式有SMALL、PACT和LARGE。15. C51程序與其他語(yǔ)言程序一樣,程序構(gòu)造也分為順序構(gòu)造、選擇構(gòu)造或分支構(gòu)造、循環(huán)構(gòu)造三種。16. 數(shù)組的一個(gè)很重要的用

6、途就是查表。17.四、問(wèn)答題共20分1 .簡(jiǎn)述C51語(yǔ)言和匯編語(yǔ)言的比較5分使用C51語(yǔ)言進(jìn)展嵌入式系統(tǒng)的開(kāi)發(fā),有著匯編語(yǔ)言所不可比較的優(yōu)勢(shì):編程調(diào)試靈活方便;生成的代碼編譯效率高;模塊化開(kāi)發(fā);可移植性好;便于工程的維護(hù);2 .簡(jiǎn)述單片機(jī)的C語(yǔ)言的特點(diǎn)7分單片機(jī)的C語(yǔ)言的特點(diǎn)主要表達(dá)在以下幾個(gè)方面:無(wú)需了解機(jī)器硬件及其指令系統(tǒng),只需初步了解MCS-51的存儲(chǔ)器構(gòu)造;C51能方便的管理內(nèi)部存放器的分配、不同存儲(chǔ)器的尋址和數(shù)據(jù)類(lèi)型等細(xì)節(jié)問(wèn)題,但對(duì)硬件控制有限;而匯編語(yǔ)言可以完全控制硬件資源;C51在小應(yīng)用程序中,產(chǎn)生的代碼量大,執(zhí)行速度慢;但在較大的程序中代碼效率高;C51程序由假設(shè)干函數(shù)組成,具

7、有良好的模塊化構(gòu)造,便于改良和擴(kuò)大;C51程序具有良好的可讀性和可維護(hù)性;而匯編語(yǔ)言在大應(yīng)用程序開(kāi)發(fā)中,開(kāi)發(fā)難度增加,可讀性差;C51有豐富的庫(kù)函數(shù),可大大減少用戶(hù)的編程量,顯著縮短編程與調(diào)試時(shí)間,大大提高軟件開(kāi)發(fā)效率;使用匯編語(yǔ)言編制的程序,當(dāng)機(jī)型改變時(shí),無(wú)法直接移植使用,而C語(yǔ)言程序是面向用戶(hù)的程序設(shè)計(jì)語(yǔ)言,能在不同機(jī)型的機(jī)器上運(yùn)行,可移植性好。3 .哪些變量類(lèi)型是51單片機(jī)直接支持的?5分答:C51編譯器支持的數(shù)據(jù)類(lèi)型有:位型bit、無(wú)符號(hào)字符型unsignedchar、有符號(hào)字符型signedchar、無(wú)符號(hào)整型unsignedint、有符號(hào)整型signedint、無(wú)符號(hào)長(zhǎng)整型unsi

8、gnedlong、有符號(hào)長(zhǎng)整型signedlong、浮點(diǎn)型float和指針型等。C51編譯器支持的數(shù)據(jù)類(lèi)型、長(zhǎng)度和值域如表1-1所示。表1-1C51的數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型長(zhǎng)度/bit長(zhǎng)度/byte值域bit10,1unsignedchar810-255signedchar81-128127unsignedint162065535signedint162-3276832767unsignedlong32404294967295signedlong324-2147483648-2147483647float324+1.176E-38±3.40E+386位數(shù)字double648+1.176E-

9、38±3.40E+3810位數(shù)字一般指針243存儲(chǔ)空間0655354 .簡(jiǎn)述C51的數(shù)據(jù)存儲(chǔ)類(lèi)型10分答:我們都知道,8051單片機(jī)存儲(chǔ)區(qū)可分為內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)、外部數(shù)據(jù)存儲(chǔ)區(qū)以及程序存儲(chǔ)區(qū)。8051單片機(jī)內(nèi)部的數(shù)據(jù)存儲(chǔ)區(qū)是可讀寫(xiě)的,8051派生系列最多可有25邸節(jié)的內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū),其中低128字節(jié)可直接尋址,高128字節(jié)從0x80到0xFF只能間接尋址,從20H開(kāi)場(chǎng)的16字節(jié)可位尋址。內(nèi)部數(shù)據(jù)區(qū)可分為3個(gè)不同的存儲(chǔ)類(lèi)型:data、idata和bdata。外部數(shù)據(jù)區(qū)也是可讀寫(xiě)的,訪(fǎng)問(wèn)外部數(shù)據(jù)區(qū)比訪(fǎng)問(wèn)內(nèi)部數(shù)據(jù)區(qū)慢,因?yàn)橥獠繑?shù)據(jù)區(qū)是通過(guò)數(shù)據(jù)指針加載地址來(lái)間接訪(fǎng)問(wèn)的。C51提供兩種不同的存儲(chǔ)

10、類(lèi)型xdata和pdata訪(fǎng)問(wèn)外部數(shù)據(jù)。程序存儲(chǔ)區(qū)是只能讀不能寫(xiě)。程序存儲(chǔ)區(qū)可能在8051單片機(jī)內(nèi)部或者在外部或者內(nèi)外都有,這由8051單片機(jī)的硬件決定。C51提供了code存儲(chǔ)類(lèi)型來(lái)訪(fǎng)問(wèn)程序存儲(chǔ)區(qū)。每個(gè)變量可以明確地分配到指定的存儲(chǔ)空間,對(duì)內(nèi)部數(shù)據(jù)存儲(chǔ)器的訪(fǎng)問(wèn)比對(duì)外部數(shù)據(jù)存儲(chǔ)器的訪(fǎng)問(wèn)快許多,因此應(yīng)當(dāng)將頻繁使用的變量放在內(nèi)部存儲(chǔ)器中,而把較少使用的變量放在外部存儲(chǔ)器中。各存儲(chǔ)區(qū)的簡(jiǎn)單描述如表1-2所示。表1-2C51存儲(chǔ)類(lèi)型與8051存儲(chǔ)空間的對(duì)應(yīng)關(guān)系存儲(chǔ)區(qū)描述DATA片內(nèi)RAM的低128字節(jié),可在一個(gè)周期內(nèi)直接尋址BDATA片內(nèi)RAM的位尋址區(qū),16字節(jié)IDATA片內(nèi)RAM的256字節(jié),必須

11、采用間接尋址XDATA外部數(shù)據(jù)存儲(chǔ)區(qū),使用DPTR間接尋址PDATA外部存儲(chǔ)區(qū)的256個(gè)字節(jié),通過(guò)P0口的地址對(duì)其尋址。使用MOVXRi,需要兩個(gè)指令周期CODE程序存儲(chǔ)區(qū),使用DPTR尋址。以上介紹的是C51的數(shù)據(jù)存儲(chǔ)類(lèi)型,C51存儲(chǔ)類(lèi)型及其大小和值域如表1-3所示。表1-3C51存儲(chǔ)類(lèi)型及其大小和值域存儲(chǔ)類(lèi)型長(zhǎng)度/bit長(zhǎng)度/byte值域data810255idata810255pdata810255code162065535xdata1620655355 .簡(jiǎn)述C551單片機(jī)特殊功能存放器的定義方法5分答:MCS-51通過(guò)其特殊功能存放器SFR實(shí)現(xiàn)對(duì)其內(nèi)部主要資源的控制。MCS-51單片

12、機(jī)有21個(gè)SFR,有的單片機(jī)還有更多的SFR,它們分布在片內(nèi)RAM的高128字節(jié)中,其地址能夠被8整除的SFR-般可以進(jìn)展位尋址。關(guān)于MCS-51單片機(jī)的特殊功能存放器參看附錄AoXSFR只能用直接尋址方式訪(fǎng)問(wèn)。C51允許通過(guò)使用關(guān)鍵字sfr、sbit或直接引用編譯器提供的頭文件來(lái)實(shí)現(xiàn)對(duì)SFR勺訪(fǎng)問(wèn)。1使用關(guān)鍵字定義sfr為了能直接訪(fǎng)問(wèn)特殊功能存放器SFR,C51提供了一種自主形式的定義方法。這種定義方法與標(biāo)準(zhǔn)的C語(yǔ)言不兼容,只適用于對(duì)8051系列單片機(jī)進(jìn)展C編程。這種定義的方法是引入關(guān)鍵字“sfr,語(yǔ)法如下:sfr特殊功能存放器名字=特殊功能存放器地址;如:sfrSCON=0x98;/*串口

13、控制存放器地址98H*/sfrTMOD=0X89;/*定時(shí)器/計(jì)數(shù)器方式控制存放器地址89H*/2通過(guò)頭文件訪(fǎng)問(wèn)SFR8051系列單片機(jī)的存放器數(shù)量與類(lèi)型是極不一樣的,因此對(duì)單片機(jī)特殊功能存放器的訪(fǎng)問(wèn)可以通過(guò)對(duì)頭文件的訪(fǎng)問(wèn)來(lái)進(jìn)展。為了用戶(hù)處理方便,C51編譯器把MCS-51單片機(jī)的常用的特殊功能存放器和特殊位進(jìn)展了定義,放在一個(gè)“reg51.h或“reg52.h的頭文件中。當(dāng)用戶(hù)要使用時(shí),只需要在使用之前用一條預(yù)處理命令“#include<reg51.h>把這個(gè)頭文件包含到程序中,然后就可以使用特殊功能存放器名和特殊位名稱(chēng)了。用戶(hù)可以通過(guò)文本編輯器對(duì)頭文件進(jìn)展增減。3SFR中位定義

14、在8051單片機(jī)的應(yīng)用問(wèn)題中,經(jīng)常需要單獨(dú)訪(fǎng)問(wèn)SFR中的位,C51的擴(kuò)大功能使之成為可能,使用關(guān)鍵字"sbit''可以訪(fǎng)問(wèn)位尋址對(duì)象。特殊位Sbit的定義,像SFR一樣不與標(biāo)準(zhǔn)C兼容。與SFRt義一樣,用關(guān)鍵字"sbit定義某些特殊位,并承受任何符號(hào)名,“=號(hào)后將絕對(duì)地址賦給變量名。這種地址分配有三種方法:第一種方法:sbit位名=特殊功能存放器名人位置;當(dāng)特殊功能存放器的地址為字節(jié)8位時(shí),可使用這種方法。特殊功能存放器名必須是已定義的SFR的名字。"后的"位置''語(yǔ)句定義了基地址上的特殊位的位置。該位置必須是07的數(shù)。如

15、:第二種方法:sbit位名二字節(jié)地址人位置;這種方法是以一個(gè)整常數(shù)為基地址,該值必須在0x800xFF之間,并能被8整除,確定位置的方法同上。第三種方法:sbit位名=位地址;這種方法將位的絕對(duì)地址賦給變量,地址必須在0x800xFF之間。6 C51的data、bdata、idata有什么區(qū)別?6分答:data、bdataidata是說(shuō)明數(shù)據(jù)的存儲(chǔ)類(lèi)型,dat泥指片內(nèi)RAM的低12療節(jié),可在一個(gè)周期內(nèi)直接尋址;bdat屣指片內(nèi)RAM的位尋址區(qū),1療節(jié);idata是指片內(nèi)RAM的256字節(jié),必須采用間接尋址。7 .C51中的中斷函數(shù)和一般的函數(shù)有什么不同?6分答:C51編譯器允許用C51創(chuàng)立中斷

16、效勞函數(shù),中斷函數(shù)是由中斷系統(tǒng)自動(dòng)調(diào)用的。中斷函數(shù)的定義格式為:函數(shù)類(lèi)型函數(shù)名interruptnusingn其中:interrupt和using為關(guān)鍵字;interrupt后面的n為中斷源的編號(hào),即中斷號(hào);usin礪面的n所選擇的存放器組,取值X圍為03。定義中斷函數(shù)時(shí),using一個(gè)選項(xiàng),可以省他不用。如果不用usin建項(xiàng),那么由編譯器選擇一個(gè)存放器組作為絕對(duì)存放器組。8051的中斷過(guò)程通過(guò)使用interrupt關(guān)鍵字和中斷號(hào)031來(lái)實(shí)現(xiàn),中斷號(hào)告訴編譯器中斷函數(shù)的入口地址。8 按照給定的數(shù)據(jù)類(lèi)型和存儲(chǔ)類(lèi)型,寫(xiě)出以下變量的說(shuō)明形式6分1在dataK定義字符變量vall答:chardatav

17、all;2在idata區(qū)定義整型變量val2答:intidataval2; 3在xdataK定義無(wú)符號(hào)字符型數(shù)組val34。答:unsignedxdataval34; 4在xdataK定義一個(gè)指向char類(lèi)型的指針px。答:charxdata*px; 5定義可位尋址變量flag。答:bitflag; 6定義特殊功能存放器變量P3。答:SfrP3=0xB0;9什么是重入函數(shù)?重入函數(shù)一般什么情況下使用,使用時(shí)有哪些需要注意的地方?答:多個(gè)函數(shù)可以同時(shí)使用的函數(shù),稱(chēng)為重入函數(shù)。6分通常情況下,C51函數(shù)不能被遞歸調(diào)用,也不能應(yīng)用導(dǎo)致遞歸調(diào)用的構(gòu)造。有此限制是由于函數(shù)參數(shù)和局部變量是存儲(chǔ)在固定的地址

18、單元中。重入函數(shù)特性允許你聲明一個(gè)重入函數(shù)。即可以被遞歸調(diào)用的函數(shù)。重入函數(shù)可以被遞歸調(diào)用,也可以同時(shí)被兩個(gè)或更多的進(jìn)程調(diào)用。重入函數(shù)在實(shí)時(shí)應(yīng)用中及中斷效勞程序代碼和非中斷程序代碼必須共用一個(gè)函數(shù)的場(chǎng)合中經(jīng)常用到。10如何消除鍵盤(pán)的抖動(dòng)?5分答:由于按鍵是機(jī)械開(kāi)關(guān)構(gòu)造,所以當(dāng)用手按下其中一個(gè)鍵時(shí),往往會(huì)出現(xiàn)所按鍵在閉合位置和斷開(kāi)位置之間發(fā)生跳幾下后才會(huì)穩(wěn)定到閉合狀態(tài)的情況。在釋放一個(gè)鍵時(shí),也會(huì)出現(xiàn)類(lèi)似的情況,這就是鍵的抖動(dòng),抖動(dòng)的持續(xù)時(shí)間不一,但通常不會(huì)大于10ms。假設(shè)抖動(dòng)問(wèn)題不解決,就會(huì)引起對(duì)閉合鍵的屢次讀入。對(duì)于鍵抖動(dòng)最方便的解決方法就是當(dāng)發(fā)現(xiàn)有鍵按下后,不是立即進(jìn)展掃描,而是延時(shí)大約1

19、0ms后再進(jìn)展。由于一個(gè)鍵按下的時(shí)間一般會(huì)持續(xù)上百毫秒,所以延遲10ms后再掃描處理并不遲。11在使用8051的定時(shí)器/計(jì)數(shù)器前,應(yīng)對(duì)它進(jìn)展初始化,其步驟是什么?4分答:(1)確定T/C的工作方式編程TMOD存放器;(2)計(jì)算T/C中的計(jì)數(shù)初值,并裝載到TH和TL;(3)T/C在中斷方式工作時(shí),須開(kāi)CPU中斷和源中斷編程IE存放器;(4)啟動(dòng)定時(shí)器/計(jì)數(shù)器編程TCON中TR1或TR0位。五、程序分析題10分1設(shè)單片機(jī)時(shí)鐘頻率為6MHz,分析下面程序?qū)崿F(xiàn)什么功能?#include"reg51.h"sbitP10=P1A0;voidmain()TMOD=0x01;TH0=(65

20、536-12500)/256;TL0=(65536-12500)%256;ET0=1;EA=1;TR0=1;while(1);voidT0_srv(void)interrupt1using1TH0=(65536-12500)/256;TL0=(65536-12500)%256;P10=!P10;解:P1.0引腳輸出50ms周期的方波。2分析下面程序?qū)崿F(xiàn)什么功能?#include"reg51.h"#include"stdio.h"voidinit_ser()SCON=0x50;/*SCON:工作模式1,8-bitUART,允許接收*/TMOD|=0x20;

21、/*TMOD:定時(shí)器T1,工作模式2,8位自動(dòng)重載方式*/TH1=0xf3;/*當(dāng)波特率為2400時(shí),定時(shí)器初值*/TR1=1;/*定時(shí)器T1開(kāi)場(chǎng)運(yùn)行*/TI=1;/*允許發(fā)送數(shù)據(jù)*/longfactorial(intn)reentrantlongresult;if(n=0)result=1;elseresult=n*factorial(n-1);returnresult;voidmain()intj;long tmp;long (*p)(int n);init_ser();p=(void*)factorial; for(j=0;j<11;+j) tmp=(*p)(j);/ 定義位變量/

22、 定時(shí)次數(shù)/ 函數(shù)聲明定時(shí)50ms 函數(shù)/ 主函數(shù)/定時(shí)器T0定時(shí)50ms,方式1/*函數(shù)指針變量定義*/*函數(shù)指針變量p指向factorial()函數(shù)*/*用指針變量p調(diào)用factorial()函數(shù)*/printf("%d!=%ldn",j,tmp);for(;);解:輸出010的階乘。六、編程題30分1.在8051系統(tǒng)中,振蕩頻率是12MHz,用定時(shí)器/計(jì)數(shù)器T0實(shí)現(xiàn)從P1.1產(chǎn)生周期是2s的方波,試編程。10分解:#include<reg51.h>sbitP1_1=P1A1;unsignedchari;voidtimer0over(void);voidma

23、in()i=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;/開(kāi)T0for(;)if(TF0)timer0over();voidtimer0over(void)TH0=(65536-50000)/256;TL0=(65536-50000)%256;TF0=0;i+;if(i=20)/20次到了嗎?i=0;P1_1=!P1_1;2 在8051系統(tǒng)中,振蕩頻率是12MHz,用定時(shí)器/計(jì)數(shù)器T1實(shí)現(xiàn)從P1.1產(chǎn)生高電平寬度是10ms,低電平寬度是20ms的矩形波,試編程。10分解:#include<reg51.h>

24、;unsignedchari;sbitP1_1=P1A1;voidmain()/主函數(shù)i=0;TMOD=0x10;/T1定時(shí)方式1,定時(shí)時(shí)間10msTH0=(65536-10000)/256;TL0=(65536-10000)%256;EA=1;ET1=1;TR1=1;while;voidtimer1_int(void)interrupt3TH0=(65536-10000)/256;TL0=(65536-10000)%256;i+;if(i=1)P1_1=0;elseif(i=3)i=0;P1_1=1;100Hz,占空比為2: 1,設(shè)單片機(jī)的3 .用單片機(jī)和內(nèi)部定時(shí)器來(lái)產(chǎn)生矩形波,要求頻率為時(shí)

25、鐘頻率為12MHz,寫(xiě)出有關(guān)程序。10分解:#include<reg51.h>unsignedchari;sbitP1_1=P1A1;voidmain()i=0;TMOD=0x10;TH0=(65536-10000)/256;TL0=(65536-10000)%256;EA=1;ET1=1;TR1=1;while(1);voidtimer1_int(void)interrupt3TH0=(65536-10000)/256;TL0=(65536-10000)%256;i+;if(i=2)P1_1=0;elseif(i=3)i=0;P1_1=1;4 .如圖1-1所示,單片機(jī)P1口的P1

26、.0和P1.1各接一個(gè)開(kāi)關(guān)S1、S2,P1.4、P1.5、P1.6和P1.7各接一只發(fā)光二極管。由S1和S2的不同狀態(tài)來(lái)確定哪個(gè)發(fā)光二極管被點(diǎn)亮,如表1-4所示。10分T17. FIDFL6J P:1Ft5PH表1-4S1、S2與二極管的關(guān)系S2S1被點(diǎn)亮的二極管00VD101VD210VD311VD4解:一程序如下:#include<reg51.h>voidmain()chara;a=P1/*讀P1口*/a=a&0x03;/*屏蔽高6位*/if(a=0)P1=0x83;elseifa=1P1=0x43;elseifa=2P1=0x23;elseP1=0x13;二程序如下:

27、#include“reg51.hvoidmain()chara;a=P1;/*讀P1口*/a=a&0x03;/*屏蔽高6位*/switch(a)case0:P1=0x83;break;case1:P1=0x43;break;case2:P1=0x23;break;case3:P1=0x13;三程序如下:#include“reg51.hvoidmain()chara;loop:a=P1;a=a&0x03;/*屏蔽高6位*/switch(a)case0:P1=0x83;break;case1:P1=0x43;break;case2:P1=0x23;break;case3:P1=0x13;gotoloop;四程序如下:#include“reg51.hvoidmain()chara;while(1)a=P1;a=a&0x03;/*屏蔽高6位*/switch(a)case0:P1=0x83;break;case1:P1=0x43;break;case2:P1=

溫馨提示

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

評(píng)論

0/150

提交評(píng)論