




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上C51單片機(jī)習(xí)題及答案第一章1-1選擇1.計算機(jī)中最常用的字符信息編碼是( A )A ASCII B BCD碼 C 余3碼 D 循環(huán)碼2要MCS-51系統(tǒng)中,若晶振頻率屢8MHz,一個機(jī)器周期等于(A ) sA 1.5 B 3 C 1 D 0.53.MCS-51的時鐘最高頻率是 ( A ). A 12MHz B 6 MHz C 8 MHz D 10 MHz4以下不是構(gòu)成的控制器部件(D ):A 程序計數(shù)器、 B指令寄存器、 C指令譯碼器、 D存儲器5以下不是構(gòu)成單片機(jī)的部件( D )A 微處理器(CPU)、B存儲器 C接口適配器(IO接口電路) D 打印機(jī)6下列不是單
2、片機(jī)總線是( D )A 地址總線 B 控制總線 C 數(shù)據(jù)總線 D 輸出總線7.-49D的二進(jìn)制補(bǔ)碼為.( B ) B C8.十進(jìn)制29的二進(jìn)制表示為原碼( C )C D 9. 十進(jìn)制0.625轉(zhuǎn)換成二進(jìn)制數(shù)是( A )A 0.101 B 0.111 C 0.110 D 0.10010 選出不是計算機(jī)中常作的碼制是( D )A 原碼 B 反碼 C補(bǔ)碼 D ASCII1-2填空1.計算機(jī)中常作的碼制有原碼、反碼和補(bǔ)碼2.十進(jìn)制29的二進(jìn)制表示為3.十進(jìn)制數(shù)-29的8位補(bǔ)碼表示為.4.單片微型機(jī)CPU、存儲器和IO接口三部分組成.5.若不使用MCS-51片內(nèi)存器引腳EA必須接地.6.輸入輸出設(shè)備是計
3、算機(jī)與外部世界交換信息的載體.7.十進(jìn)制數(shù)-47用8位二進(jìn)制補(bǔ)碼表示為8.-49D的二進(jìn)制補(bǔ)碼為.9.計算機(jī)中最常用的字符信息編碼是ASCII10計算機(jī)中的數(shù)稱為機(jī)器數(shù),它的實際值叫真值。1-3判斷1.我們所說的計算機(jī)實質(zhì)上是計算機(jī)的硬件系統(tǒng)與軟件系統(tǒng)的總稱。 ( )2.MCS-51上電復(fù)位時,SBUF=00H。 ( × )。 SBUF不定。3.使用可編程接口必須處始化。 ( )。48155的復(fù)位引腳可與89C51的復(fù)位引腳直接相連。( )5MCS-51是微處理器。( × )不是。6MCS-51系統(tǒng)可以沒有復(fù)位電路。( × )不可以。復(fù)位是單片機(jī)的初始化操作。7要
4、MCS-51系統(tǒng)中,一個機(jī)器周期等于1.5s。( × )若晶振頻率屢8MHz,才可能為1.5s8.計算機(jī)中常作的碼制有原碼、反碼和補(bǔ)碼( )9.若不使用MCS-51片內(nèi)存器引腳EA必須接地. ( )× )1-4簡答1何謂單片機(jī)?單片機(jī)與一般微型計算機(jī)相比,具有哪些特點?答:單片機(jī)是在一塊集成電路上把CPU、存儲器、定時器/計數(shù)器及多種形式的I/O接口集成在一起而構(gòu)成的微型計算機(jī)。它與通用微型計算機(jī)相比,具有如下特點:(1) 單片機(jī)的程序存儲器和數(shù)據(jù)存儲器是分工的,前者為ROM,后者為RAM;(2) 采用面向控制的指令系統(tǒng),控制功能強(qiáng);(3) 多樣化的I/O接口,多功能的I/
5、O引腳;(4) 產(chǎn)品系列齊全,功能擴(kuò)展性強(qiáng);(5) 功能是通用的,像一般微處理機(jī)那樣可廣泛地應(yīng)用在各個方面。2 單片機(jī)主要應(yīng)用在哪些領(lǐng)域?答:單片機(jī)的應(yīng)用范圍很廣泛,諸如智能化家用電器、儀器儀表、工業(yè)控制、計算機(jī)外部設(shè)備、智能機(jī)器人、電信及導(dǎo)航等方面。3 在各種系列的單片機(jī)中,片內(nèi)ROM的配置有幾種形式?用戶應(yīng)根據(jù)什么原則來選用?答:各種類型的單片機(jī)片內(nèi)程序存儲器的配置形式主要有以下幾種形式:(1) (Msak)ROM型單片機(jī):內(nèi)部具有工廠 編程的ROM,ROM中的程序只能由單片機(jī)制造廠家用 工藝固化,用戶不能修改ROM中的程序。例如:MCS51系列的8051。 ROM單片機(jī)適合于大批量生產(chǎn)的
6、產(chǎn)品。用戶可委托芯片生產(chǎn)廠家采用 方法將程序制作在芯片的ROM。(2) EPROM型單片機(jī):內(nèi)部具有紫外線可擦除電可編程的只讀存儲器,用戶可以自行將程序?qū)懭氲叫酒瑑?nèi)部的EPROM中,也可以將EPROM中的信息全部擦除。擦去信息的芯片還可以再次寫入新的程序,允許反復(fù)改寫。例如:MCS51系列的8751。EPROM型單片機(jī)使用比較方便,但價格較高,適合于研制產(chǎn)品或結(jié)構(gòu)要求簡單的小批量產(chǎn)品。(3) 無ROM型單片機(jī):內(nèi)部沒有程序存儲器,它必須連接程序存儲器才能組成完整的應(yīng)用系統(tǒng)。例如:MCS51系列的8031。無ROM型單片機(jī)價格低廉,用戶可根據(jù)程序的大小來選擇外接程序存儲器的容量。這種單片機(jī)擴(kuò)展靈
7、活,但系統(tǒng)結(jié)構(gòu)較復(fù)雜。(4) E2ROM型單片機(jī):內(nèi)部具有電可擦除叫可編程的程序存儲器,使用更為方便。例如:MCS51的派生型89C51單片機(jī)。(5) OTP(One Time Programmable)ROM單片機(jī):內(nèi)部具有一次可編程的程序存儲器,用戶可以在編程器上將程序?qū)懭肫瑑?nèi)程序存儲器中,程序?qū)懭牒蟛荒茉俑膶?。例如:NEC公司的PD75P308GF3B9。這種芯片的價格也較低。4控制器的組成和作用答:控制器:由程序計數(shù)器、指令寄存器、指令譯碼器、時序發(fā)生器和操作控制器等組成。用來協(xié)調(diào)指揮計算機(jī)系統(tǒng)的操作。5 微型計算機(jī)組成答:微型計算機(jī)組成由微處理器(CPU)、存儲器、接口適配器(IO接
8、口電路)及輸入/輸出設(shè)備組成。通過系統(tǒng)總線將它們連接起來,以完成某些特定的運算與控制。6什么叫尋址方式答:尋址方式:尋址方式就是尋找指令中操作數(shù)或操作數(shù)所在地址的方式。也就是如何找到存放操作數(shù)的地址,把操作數(shù)提取出來的方法。7 什么叫堆棧:答:堆棧是在片內(nèi)RAM中專門開辟出來的一個區(qū)域,數(shù)據(jù)的存取是以"后進(jìn)先出"的結(jié)構(gòu)方式處理的。實質(zhì)上,堆棧就是一個按照"后進(jìn)先出"原則組織的一段內(nèi)存區(qū)域。8什么是匯編語言?什么叫指令周期?答:匯編:匯編語言源程序在交付計算機(jī)執(zhí)行之前,需要先翻譯成目標(biāo)程序,這個翻譯過程叫匯編。指令周期:指執(zhí)行一條指令所占用的全部時間。通常
9、一個指令周期含14個機(jī)器周期。9什么是進(jìn)位和溢出答:兩數(shù)運算的結(jié)果若沒有超出字長的表示范圍,則由此產(chǎn)生的進(jìn)位是自然進(jìn)位;若兩數(shù)的運算結(jié)果超出了字長的表示范圍(即結(jié)果不合理),則稱為溢出。例如將正數(shù)3FH和負(fù)數(shù)D0H相加,其結(jié)果不會超出8位字長的表示范圍,所以其結(jié)果10FH中的進(jìn)位是正常進(jìn)位(也就是模)。但是,若正數(shù)3FH與正數(shù)70H相加,其結(jié)果為AFH,最高位為"1",成了負(fù)數(shù)的含義,這就不合理了,這種情況稱為溢出。第二章2-1填空1.微處器由寄存器、控制器、運算器三部分組成.2.當(dāng)MCS-51引腳ALE信號有效時,表示從Po口穩(wěn)定地送出了低8位地址.3.MCS-51的堆棧
10、是軟件填寫堆棧指針臨時在_片內(nèi)數(shù)據(jù)存儲器內(nèi)開辟的區(qū)域.4.MCS-51中凡字節(jié)地址能被_8整除的特殊功能寄存器均能尋址.5.MCS-51有4組工作寄存器,它們的地址范圍是00H1FH.6.MCS-51片內(nèi)20H2FH范圍內(nèi)的數(shù)據(jù)存儲器,既可以字節(jié)尋址又可以位尋址.7.計算機(jī)的系統(tǒng)總線有地址總線、控制總線和數(shù)據(jù)總線。8.80C51含4KB ROM。9.80C51在物理有4個獨立的存儲空間。10.一個機(jī)器周期等于6個狀態(tài)周期,振蕩脈沖2分頻后產(chǎn)生的時釧信號的周期定義為狀態(tài)周期。2-2判斷1.我們所說的計算機(jī)實質(zhì)上是計算機(jī)的硬件系統(tǒng)與軟件系統(tǒng)的總稱。 ( )2.MCS-51的相對轉(zhuǎn)移指令最大負(fù)跳距是
11、127B。 ( × )3.MCS-51的程序存儲器只是用來存放程序的。 ( × ) 存放程序和表格常數(shù)。 4.MCS-51的時鐘最高頻率是18MHz. ( × ). 12MHz。5.使用可編程接口必須處始化。 ( )。6.當(dāng)MCS-51上電復(fù)位時,堆棧指針SP=00H。 ( × )。 SP=07H7.MCS-51外擴(kuò)I/O口與外RAM是統(tǒng)一編址的。 ( )。8.使用8751且 =1時,仍可外擴(kuò)64KB的程序存儲器。( × )60KB。98155的復(fù)位引腳可與89C51的復(fù)位引腳直接相連。( )10MCS-51是微處理器。( × )不是
12、。11MCS-51的串行接口是全雙工的。( )12PC存放的是當(dāng)前執(zhí)行的指令。( × )是將要執(zhí)行的下一條指令的地址。13MCS-51的特殊功能寄存器分布在60H80H地址范圍內(nèi)。(×)80HFFH。14MCS-51系統(tǒng)可以沒有復(fù)位電路。( × )不可以。復(fù)位是單片機(jī)的初始化操作。15要MCS-51系統(tǒng)中,一個機(jī)器周期等于1.5s。( ×)若晶振頻率屢8MHz,才可能為1.5s2-3選擇1.要想測理INT0引腳上的一個正脈沖寬度,那么特殊功能寄存器TMOD的內(nèi)容應(yīng)為( B ).(A)09H (B)87 H (C)00H (D)80H2.PSW=18H時,
13、則當(dāng)前工作寄存器是( D )(A)0組(B)1組(C)2組(D)3組3控制串行口工作方式的寄存器是(C)(A)TCON (B)PCON (C)SCON (D)TMOD4.口的每一位能驅(qū)動(B)()個低電平負(fù)載有()個低電平負(fù)載()個低電平負(fù)載有()個低電平負(fù)載5.MCS-51的中斷允許觸發(fā)器內(nèi)容為83H,CPU將響應(yīng)的中斷請求是( B )(A) T1, (B)T0,T1 (C)T1,串行接口 (D) ,T02-4問答題1 8051單片機(jī)內(nèi)部包含哪些主要邏輯功能部件?答:8051單片機(jī)是個完整的單片微型計算機(jī)。芯片內(nèi)部包括下列硬件資源:(1) 8位CPU;(2) 4KB的片內(nèi)程序存儲器ROM???/p>
14、尋址64KB程序存儲器和64KB外部數(shù)據(jù)存儲器;(3) 128B內(nèi)部RAM;(4) 21個SFR;(5) 4個8位并行I/O口(共32位I/O線);(6) 一個全雙工的異步串行口;(7) 兩個16位定時器/計數(shù)器;(8) 5個中斷源,兩個中斷優(yōu)先級;(9) 內(nèi)部時鐘發(fā)生器。2 EA/VPP引腳有何功用?8031的引腳應(yīng)如何處理?為什么?答:EA/VPP是雙功能引腳,功能如下:(1) EA接高電平時,在低4KB程序地址空間(0000H0FFFH),CPU執(zhí)行片內(nèi)程序存儲器的指令,當(dāng)程序地址超出低4KB空間(1000HFFFFH)時,CPU將自動執(zhí)行片外程序存儲器的指令。(2) EA接低電平時,C
15、PU只能執(zhí)行外部程序存儲器的指令。8031單片機(jī)內(nèi)部無ROM,必須外接程序存儲器。因此,8031的EA引腳必須接低電平。在對8751單片機(jī)內(nèi)部的EPROM編程時,此引腳VPP外接+12V電壓,用于固化EPROM程序。3 8051單片機(jī)存儲器的組織結(jié)構(gòu)是怎樣的?答:8051存儲器包括程序存儲器和數(shù)據(jù)存儲器,從邏輯結(jié)構(gòu)上看,可以分為三個不同的空間:(1) 64KB的程序存儲器地址空間:0000HFFFFH,其中0000H0FFFH為片內(nèi)4KB的ROM地址空間,1000HFFFFH為外部ROM地址空間;(2) 256B的內(nèi)部數(shù)據(jù)存儲器地址空間,00HFFH,分為兩大部分,其中00H7FH(共128B
16、單元)為內(nèi)部靜態(tài)RAM的地址空間,80HFFH為特殊功能寄存器的地址空間,21個特殊功能寄存器離散地分布在這個區(qū)域;(3) 64KB的外部數(shù)據(jù)存儲器地址空間:0000HFFFFH,包括擴(kuò)展I/O地址空間。4片內(nèi)數(shù)據(jù)存儲器分為哪幾個性質(zhì)和用途不同的區(qū)域?答:8051內(nèi)部128B的數(shù)據(jù)RAM區(qū),包括有工作寄存器組區(qū)、可直接位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。各區(qū)域的特性如下:(1) 00H1FH為工作寄存器組區(qū),共分4組,每組占用8個RAM字節(jié)單元,每個單元作為一個工作寄存器,每組的8個單元分別定義為8個工作寄存器R0R7。當(dāng)前工作寄存器組的選擇是由程序狀態(tài)字PSW的RS1、RS0兩位來確定。如果實際應(yīng)用中并不
17、需要使用工作寄存器或不需要使用4組工作寄存器,不使用的工作寄存器組的區(qū)域仍然可作為一般數(shù)據(jù)緩沖區(qū)使用,用直接尋址或用Ri的寄存器間接尋址來訪問。(2) 20H2FH為可位尋址區(qū)域,這16個字節(jié)的每一位都有一個地址,編址為00H7FH。當(dāng)然,位尋址區(qū)也可以用作字節(jié)尋址的一般數(shù)據(jù)緩沖區(qū)使用。(3)30H7FH為堆棧、數(shù)據(jù)緩沖區(qū)。5 單片機(jī)有哪幾個特殊功能寄存器?各在單片機(jī)的哪些功能部件中?答:8051單片機(jī)內(nèi)部有21個特殊功能寄存器,在物理上是分散在片內(nèi)各功能部件中,在數(shù)學(xué)上把它們組織在內(nèi)部數(shù)據(jù)存儲器地址空間80HFFH中,以便能使用統(tǒng)一的直接尋址方式來訪問。這些特殊功能寄存器頒在以下各個功能部件
18、中:(1) CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH兩個8位寄存器組成);(2) 中斷系統(tǒng):IP、IE;(3) 定時器/計數(shù)器:TMOD、TCOM、TL0、TH0、TL1、TH1;(4) 并行I/O口:P0、P1、P2、P3;(5) 串行口:SCON、SBUF、PCON。6 PC是什么寄存器?是否屬于特殊功能寄存器?它有什么作用?答:PC是16位程序計數(shù)器(Program Counter),它不屬于特殊功能寄存器范疇,程序員不以像訪問特殊功能寄存器那樣來訪問PC。PC是專門用于在CPU取指令期間尋址程序存儲器。PC總是保存著下一條要執(zhí)行的指令的16位地址。通常程序是順序執(zhí)行
19、的,在一般情況下,當(dāng)取出一個指令(更確切地說為一個指令字節(jié))字節(jié)后,PC自動加1。如果在執(zhí)行轉(zhuǎn)移指令、子程序調(diào)用/返回指令或中斷時,要把轉(zhuǎn)向的地址賦給PC。7 DPTR是什么寄存器?它由哪些特殊功能寄存器組成?它的主要作用是什么?答:DPTR是16位數(shù)據(jù)指針寄存器,它由兩個8位特殊功能寄存器DPL(數(shù)據(jù)指針低8位)和DPH(數(shù)據(jù)指針高8位)組成,DPTR用于保存16位地址,作間址寄存器用,可尋址外部數(shù)據(jù)存儲器,也可尋址程序存儲器。第三章3-1選擇題1、MOVX A,DPTR指令中源操作數(shù)的尋址方式是(B)(A) 寄存器尋址 (B)寄存器間接尋址 (C)直接尋址 (D)立即尋址2 ORG 000
20、3HLJMP 2000HORG 000BHLJMP 3000H 當(dāng)CPU響應(yīng)外部中斷0后,PC的值是(B)(A) 0003H (B)2000H (C)000BH (D)3000H3 執(zhí)行PUSH ACC指令,MCS-51完成的操作是(A)(A) SP+1 SP (ACC) (SP) (B)(ACC) (SP)SP-1 SP(B) (C)SP-1 SP (ACC) (SP) (D)(ACC) (SP)SP+1 SP4、 LCALL指令操作碼地址是2000H,執(zhí)行完相子程序返回指令后,PC=(D)(C) 2000H (B)2001H (C)2002H (D)2003H5、51執(zhí)行完MOV A,#0
21、8H后,PSW的一位被置位(D)(A)(A)C (B)F0 (C)OV (D)P6、下面條指令將MCS-51的工作寄存器置成3區(qū)(B)(A)MOV PSW,#13H (B)MOV PSW,#18H(B) SETB PSW.4 CLR PSW.3 (d) SETB PSW.3 CLR PSW.4 7、執(zhí)行MOVX A,DPTR指令時,MCS-51產(chǎn)生的控制信號是(C)(D) /PSEN (B)ALE (C)/RD (D)/WR 8、MOV C,#00H的尋址方式是(A)(A) 位尋址 (B)直接尋址 (C)立即尋址 (D)寄存器尋址9、ORG 0000H AJMP 0040H ORG 0040H
22、 MOV SP,#00H當(dāng)執(zhí)行完左邊的程序后,PC的值是(C)(A) 0040H (B)0041H (C)0042H (D)0043H 10、對程序存儲器的讀操作,只能使用(D)(A) MOV指令 (B)PUSH指令 (C)MOVX指令(D)MOVC指令3-2判斷題。4 MCS-51的相對轉(zhuǎn)移指令最大負(fù)跳距是127B。(錯)128B5 當(dāng)MCS-51上電復(fù)位時,堆棧指針SP=00H。(SP=07H)( 錯 )6 調(diào)用子程序指令(如:CALL)及返回指令(如:RET)與堆棧有關(guān)但與PC無關(guān)。(錯)子序的轉(zhuǎn)返與PC也有關(guān)(PC入棧與出棧)7 MOV R1,#80H (對)5、INC DPTR (對
23、)6、CLR R0 (錯)指令系統(tǒng)中沒有。7、MOV R1,#80H (對)8、ANL R1,#0FH (錯)9、ADDC A,C (錯)10、XOR P1,#31H (對)3-3簡答題1 簡述MCS-51匯編語言指令格式。答:MCS-51匯編語言格式如下:標(biāo)號:操作碼助記符操作數(shù)1 操作數(shù)2 操作數(shù)3注釋標(biāo)號是用戶定義的符號,其值代表這條指令的地址。操作碼助記符是指令系統(tǒng)規(guī)定的代表特定指令功能的英文縮寫符。每條指令都有操作碼記符。指令的操作數(shù)最多有3個,也有無操作數(shù)的指令。注釋字段是用戶對程序的說明,便于對程序的閱讀和理解。簡答2 MCS-51指令系統(tǒng)主要有哪幾種尋址方式?試舉例說明。答:M
24、CS-51指令操作數(shù)主要有以下7種尋址方式:尋址方式 舉例立即尋址 MOV A,#16直接尋址 MOV 20H,P1寄存器尋址 MOV A,R0寄存器間接尋址 MOVX A, DPTR變址尋址 MOVC A, A+DPRT相對尋址 SJMP LOOP位尋址 ANL C,70H3對訪問內(nèi)部RAM和外部RAM,各應(yīng)采用哪些尋址方式?答:對內(nèi)部RAM的尋址方式有直接尋址、寄存器間接尋址和可對位尋址的位尋址。對外部RAM的尋址方式只能用寄存器R0/R1(8位地址)或DPTR(16位地址)間接尋址。4設(shè)內(nèi)部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,問執(zhí)行下列指令
25、后,各有關(guān)存儲單元(即R0,R1,A,B,P1,30H,40H及5AH單元)的內(nèi)容如何? MOV R0,#30H ;R0=30H MOV A,R0 ;A=5AH MOV R1,A ;R1=5AH MOV B,R1 ;B=5AH MOV R1,P1 ;(5AH)=7FH MOV A,P1 ;A=7FH MOV 40H,#20H ;(40H)=20H MOV 30H,40H ;(30H)=20H解:每一條指令執(zhí)行后的結(jié)果如注釋字段所標(biāo)。最后結(jié)果為:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。5 SJMP(短轉(zhuǎn)移)指令
26、和AJMP(絕對轉(zhuǎn)移)指令的主要區(qū)別。前者提供了以SJMP的下一條指令的起始地址為中心的256字節(jié)范圍的轉(zhuǎn)移(-128+127),后者的轉(zhuǎn)移目標(biāo)地址必須在與AJMP的下一條指令的第一字節(jié)相同的2KB區(qū)的程序儲存器中。短轉(zhuǎn)移方便了可重定位編碼。SJMP方便了PC可重定位編碼,但轉(zhuǎn)移范圍小。而ASJMP轉(zhuǎn)移范圍大,但存在跳區(qū)的限制,AJMP指令只能位于2KB區(qū)的最后2個字節(jié)處時,才可跳到下一個區(qū)去。因此用AJMP指令來代替SJMP指令是有條件的,也就是目標(biāo)地址必須與它下面的指令存放地址在同一個2KB區(qū)域內(nèi)。3-4編程題1 編程將片內(nèi)RAM30H單元開始的B的數(shù)據(jù)傳送到片外RAM3000H開始的單元
27、中去。解:STRAT:MOV R0,#30H MOV R7,#0FH MOV DPTR,#3000H LOOP: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7,LOOP RET2 片內(nèi)RAM30H開始的單元中有10B的二進(jìn)制數(shù),請編程求它們之和(和256 )解ADDIO:MOV R0,30H MOV R7,#9 MOV A,R0 LOOP: INC R0 ADD A,R0 DJNZ R7,LOOP MOV 30H,A RET3 編一個程序,將累加器中的一個字符從串行接口發(fā)送出去解 SOUT:MOV SCON,#40H ;設(shè)置串行接口為工作方式 MOV
28、 TMOD,#20H ;定時器T1工作于模式 MOV TL1,#0E8H; ;設(shè)置波特率為1200b/s MOV TH1,#0E8H SETB TR1 MOV SBUF,A JNB T1,$ CLB T1 RET4 用查表法編一子程序,將R3中的BCD碼轉(zhuǎn)換成ASCII碼. 解MAIN: MOV A,R3 ;待轉(zhuǎn)換的數(shù)送A MOV DPTR,#TAR ;表首地址送DPTR MOVC A,A+DPTR ;查ASCII碼表 MOV R3,A ;查表結(jié)果送R3 RET TAR DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H5 片內(nèi)RAM40H開始的單元內(nèi)有
29、10B二進(jìn)制數(shù),編程找出其中最大值并存于50H單元中 解 START: MOV R0,#40H ;數(shù)據(jù)塊首地址送R0 MOV R7,#09H ;比較次數(shù)送 MOV A,R0 ;取數(shù)送 LOOP: INC R0 MOV 30H,R0 ;取數(shù)送H CJNE A,30H,NEHT ;(A)與(30H)相比 NEXT: JNC BIE1 (A)(30H)轉(zhuǎn)BIR1 MOV A,30H ;(A)(30H),大數(shù)送ABIE1: DJNZ R7,LOOP ;比較次數(shù)減1,不為0,繼續(xù)比較 MOV 50H,A ;比較結(jié)束,大數(shù)送50H RET 6 編一子程序,從串行接口接受一個字符解: START: MOV
30、TMOD,#20H ;定時器T1工作于模式2 MOV TH1,#0E8H ;設(shè)置波特率為1 200b/s MOV TL1,#0E8H SETB TR1 ;啟動T1 MOV SCON,#50H ;串行接口工作于方式1,充許接收 L1: JNB RI,L1 ;等待接收數(shù)據(jù),末接收到數(shù)據(jù),繼續(xù)等待 CLR RI ;接收到數(shù)據(jù),清RI MOV A,SBUF ;接收到數(shù)據(jù)送A RET7 利用調(diào)子程序的方法,進(jìn)行兩個無符號數(shù)相加。請編主程序及子程序。解 用R0和R1作數(shù)據(jù)指針,R0指向第一個加數(shù),并兼作“和”的指針,指向另一個加數(shù),字節(jié)存放到中作計數(shù)初值。主程序:JAFA: MOV R0,#20H ;指向
31、加數(shù)最低字節(jié)MOV R1,#29H ;指向另一加數(shù)最低字節(jié)MOV R2,#04H ;字節(jié)數(shù)作計數(shù)值A(chǔ)CALL JASUB ;調(diào)用加法子程序AJMP $ RTE 多字節(jié)加法子程序:JASUB: CLR CJASUB1: MOV A,R0 ;取出加數(shù)的一個字節(jié)(無符號數(shù)加數(shù))ADDC A,R1 ;加上另一數(shù)的一個字節(jié)MOV R0,A ;保存和數(shù)INC R0 ;指向加數(shù)的高位INC R1 ;指向另一加數(shù)的高位DJNZ R2,JASUB1 ;全部加完了嗎?RET8 若圖數(shù)據(jù)塊是有符號數(shù),求正數(shù)個數(shù),編程并注釋。解 ORG 0030H START: MOV 20H,#00H ;計正數(shù)個數(shù)計數(shù)器 MOV
32、DPTR,#0000H ; MOVX A,DPTR ;數(shù)據(jù)塊長度10H MOV 10H,A INC DPTR ;DPTR指向第一個數(shù)的地址 TWO: MOVX A,DPTR ;取數(shù)A JB ACC.7,ONE ;是負(fù)數(shù)轉(zhuǎn)ONE,準(zhǔn)備取下一個數(shù) INC 20H ;是正數(shù),正數(shù)計數(shù)器加ONE: INC DPTR ;地址指針加 DJNZ 10H,TW ;數(shù)據(jù)塊長度減不等于,繼續(xù)尋找 RET9 編制一個循環(huán)閃爍燈的程序。有8個發(fā)光二極管,每次其中某個燈閃爍點亮10次后,轉(zhuǎn)到下一個閃爍10次,循環(huán)不止。畫出電路圖。解 P1.0 8013 P1.7 D0 Q074LS240D7 Q7 5V 本程序的硬件連
33、接如圖所示。當(dāng)P1.0輸出高電平時,LED燈亮,否則不亮。 其程序如下: MOV A,#01H ;燈亮初值 SHIFT: LCAIL FLASH ;調(diào)閃亮10次子程序 RR A ;右移一位 SJMP SHIFT ;循環(huán) FLASH: MOV R2,#0AH 閃爍10次計數(shù) FLASH1; MOV P1,A ;點亮 LCALL DELAY ;延時 MOV P1,#00H ;熄滅 LCALL DELAY ;延時 DJNZ R2,FLASH1 ;循環(huán)RET 第四章4-1填空1.MCS-51的Po口作為輸出端口時,每位能驅(qū)動 8 個SL型TTL負(fù)載.2.MCS-51有 4個并行IO口,其中P0P3是準(zhǔn)
34、雙向口,所以由輸出轉(zhuǎn)輸入時必須先寫入"1" 3.設(shè)計8031系統(tǒng)時,_P0、P2 口不能用作一般IO口.4.MCS-51串行接口有4種工作方式,這可在初始化程序中用軟件填寫特殊功能寄存器_SCON _加以選擇.5.當(dāng)使用慢速外設(shè)時,最佳的傳輸方式是 中 斷 .6.當(dāng)定時器To工作在方式3 時,要占定時器T1的TR1和TF1_兩個控制位.7.MCS-51有 5 個中斷源,有2 個中斷優(yōu)先級,優(yōu)先級由軟件填寫特殊功能寄存器 IP 加以選擇.8.用串口擴(kuò)并口時,串行接口工作方式應(yīng)選為方式 0 .9.在串行通信中,有數(shù)據(jù)傳送方向單工、半雙工、全雙工三種方式.10.外部中斷 入口地址
35、為_ 0013H 4-2判斷1.MCS-51的5個中斷源優(yōu)先級相同。 ( × ) 2.要進(jìn)行多機(jī)通信,MCS-51串行接口的工作方式應(yīng)為方式1。 ( × )3.MCS-51上電復(fù)位時,SBUF=00H。 ( × )。 4.MCS-51有3個中斷源,優(yōu)先級由軟件填寫特殊功能寄存器IP加以選擇. ( × )5.用串口擴(kuò)并口時,串行接口工作方式應(yīng)選為方式1. ( × )6.外部中斷INTO 入口地址為_0013H( × )7.MCS-51外部中斷0的入口地址是0003H。 ( ).8.TMOD中的GATE=1時,表示由兩個信號控制定時器的啟
36、停。 ( )。9.使用8751且 =1時,仍可外擴(kuò)64KB的程序存儲器。( × )10PC存放的是當(dāng)前執(zhí)行的指令。( × )11MCS-51的特殊功能寄存器分布在60H80H地址范圍內(nèi)。(× )12.MCS-51有4個并行IO口,其中P0P3是準(zhǔn)雙向口,所以由輸出轉(zhuǎn)輸入時必須先寫入"0"( × )4-3選擇1.在中斷服務(wù)程序中,至少應(yīng)有一條( D )()傳送指令()轉(zhuǎn)移指令()加法指法()中斷返回指令2.要使MCS-51能夠響應(yīng)定時器中斷、串行接口中斷,它的中斷允許寄存器的內(nèi)容應(yīng)是( A ) ()98H ()84H ()42 ()22
37、H 3.D MCS-51在響應(yīng)中斷時,下列哪種操作不會發(fā)生( D ).(A)保護(hù)現(xiàn)場 (B)保護(hù)PC (C)找到中斷入口 (D)保護(hù)PC轉(zhuǎn)入中斷入口4.用MCS-51串行接口擴(kuò)展并行IO口時,串行接口工作方式應(yīng)選擇( C )(A)方式0 (B)方式1 (C)方式2 (D)方式35.MCS51有中斷源(A)(A)5個(B)2個(C)3個(D)6個6.MCS-51響應(yīng)中斷時,下面哪一個條件不是必須的( )(A)當(dāng)前指令執(zhí)行完畢 (B)中斷是開放的確 (C)沒有同級或高級中斷服務(wù)須 (D)必須有RET1指令7使用定時器T1時,有幾種工作模式(C)()種()種()種()種8.計算機(jī)在使用中斷方式與外界
38、交換信息時,保護(hù)現(xiàn)場的工作方式應(yīng)該是 ( B )(A)由CPU自動完成 (B)在中斷響應(yīng)中完成 (C)應(yīng)由中斷服務(wù)程序完成 (D)在主程序中完成 9.下面哪一種傳送方式適用于處理外部事件( C )(A)DMA (B)無條件傳遞進(jìn) (C)中斷 (D)條件傳遞1、2、4章的編程1. 8225A控制字地址為300FH,請按:A口方式0輸入,B口方式1輸出,C口高位輸出,C口低位輸入,確定8225A控制字并編初始化程序.初始化程序:MOV DPTR ,#300FH MOV A, #95H MOVX DPTR, A2. 編定一個軟件延時1S和1mi的子程序設(shè)osc=6Hz,則一個機(jī)器周期1。解:(1)1
39、S=2US*5*5*=250*200*10(2) ORG 1000H TIME: MOV R7, #10 T3: MOV R6, #200 T2: MOV R6, #250 T1: DJNZ R5, T1DJNZ R6, T2DJNZ R7, T3RET (2)1min=60,調(diào)用上面1s子程序60次 ORG 0030H MOV R0, #60LOOP: LCALL TIME DJNZ R0, LOOP RET3. 請編制串行通信的數(shù)據(jù)發(fā)送程序,發(fā)送片內(nèi)RAM50H5FH的16B數(shù)據(jù),串行接口設(shè)定為方式2,采用偶校驗方式。設(shè)晶振頻率為6MHz。解:查詢方式發(fā)送程序如下 MOV SCON, #8
40、OH M OV PCON, #80H MOV R0, #50H MOV R7, #16HLOOP: MOV A,R0 MOV C, P MOV TB8, C MOV SBUF, A JNB T1, $ CLR T1 INC R0 DJNZ R7, LOOP RET4.應(yīng)用單片機(jī)內(nèi)部定時器T0工作在方式1下,從P1.0輸出周期為2ms的方波脈沖信號,已知單片機(jī)的晶振頻率為6MHZ。請(1)計算時間常數(shù)X,應(yīng)用公式X=2t(f)(2)寫出程序清單解:X=216-t(F/12)=216-1*10-3*6*106/12=OFEOCHORG 3000HSTART: MOV TMOD, #01HMOV T
41、L0, #OCHMOV THO, #OFEHSETB TR0LOOP: JBC TFO, DONESJMP LOOPDONE: MOV TL0, #OCHMOV THO, #OFEHCPL P1.0SJMP LOOP5.應(yīng)用單片機(jī)內(nèi)部定時器T0工作在方式1下,從P1.0輸出周期為1ms的方波脈沖信號,已知單片機(jī)的晶振頻率為6MHZ。請(1)計算時間常數(shù),應(yīng)用公式X=2t(f)(2)寫出程序清單解:解:X=216-t(F/12)=216-0.5*10-3*6*106/12=FF06HORG 3000HSTART: MOV TMOD, #01HMOV TL0, #06HMOV THO, #FFHS
42、ETB TR0LOOP: JBC TFO, DONESJMP LOOPDONE: MOV TL0, #06HMOV THO, #FFHCPL P1.0SJMP LOOP6、 用89C51的P1口,監(jiān)測某一按鍵開關(guān),使每按鍵一次,輸出一個正脈沖(脈寬隨意)。編出匯編語言程序。解: ORG 0100H ABC: SETB P1.0SETB P1.7JB PI.7, $JNB P1.7, $CLR P1.0MOV R2, #0 DAY: NOPNOPDJNZ R2, DAYSJMP ABC7、設(shè)計一個4位數(shù)碼顯示電路,并用匯編語言編程使"8"從右到左顯示一遍。解: ORG 010
43、0HMOV A, #08HMOV R2, #01HMOV DPTR, #TABMOVC A,A+DPTRMOV P1, ANEXT: MOV A, R2MOV P3, AACALL DAYJB ACC.4, LPDRL AMOV R2, AAJMP NEXTLPD: RETTAB: DB END8 編制一個循環(huán)閃爍的程序。有8個發(fā)光二極管,每次其中某個燈閃爍點亮10次后,轉(zhuǎn)到下一個閃爍10次,循環(huán)不止。畫出電路圖。解: MOV A,#01H SHIFT: LCALL FLASHRRSJMP SHIFT FLAH: MOV R2, #0AH FLAH1: MOV P1, A LCALL DELA
44、Y MOV P, #00H LCALL DELAY DJNZ R2, FLASH1RET 9.在8051單片機(jī)的INTO引腳外接脈沖信號,要求每送來一個脈沖,把30H單元值加1,若30H單元記滿則進(jìn)位31H單元。試?yán)弥袛嘟Y(jié)構(gòu),編制一個脈沖計數(shù)程序。解: ORG 0000H AJMP MAIN ORG 0003H AJMP SUBG MAIN: MOV A, #OOH MOV 30H, A MOV 31H, A MOV SP, #70HSETB INT0SETB EASETB EX0AJMP $ORG 0200H SUBG: PUSH ACCINC 30HMOV A, 30HJNZ BACKI
45、NC 31H BACK: POP RET1 10.利用89C51的P1口控制8個發(fā)光俄二極管LED。相鄰的4個LED為一組,使2組每隔0。5S 交替發(fā)亮一次,周爾復(fù)始。試編寫程序。解: ORG 0100H MOV A, #0FHABC: MOV P1, A ACALL D05 SWAP A SJMP ABCD05: MOV R6, 250DY: MOV R7, 250DAY: NOP NOP DJNZ R6, DAY DJNZ R7, DAY RET END 11設(shè)計89C51和ADC0809的接口,采集2通道10個數(shù)據(jù),存入內(nèi)部RAM的50H59H單元,畫出電路圖,編出:(1)延時方式;(2
46、)查詢方式;(3)中斷方式中的一種程序。解:IN2的地址為7FFAH,P1.0查詢轉(zhuǎn)換結(jié)束信號,查詢程序如下: ORG 0100H MOV R7, #0AH MOV R0, #50H MOV DPTR, #7FFAH NEXT: MOVX DPTR, A JB P1.0, $ MOVX A,DPTR MOV R0, A INC R0 DJNZ NEXT SJMP $第五章5-1選擇題 1、6264芯片是(B)(A) EEPROM (B)RAM(C)FLASH ROM (D)EPROM2、用MCS-51用串行擴(kuò)展并行I/O口時,串行接口工作方式選擇(A)(A) 方式0 (B)方式1 (C)方式2 (D)方式3 3、使用8255可以擴(kuò)展出的I/O口線是(B)(A) 16根 (B)24根 (C)22根 (D)32根 4、當(dāng)8031外出擴(kuò)程序存儲器8KB時,需使用EPROM 2716(C)(A) 2片 (B)3片 (C)4片 (D)5片 5、某種存儲器芯片是8KB
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 影像密集匹配點云數(shù)據(jù)的建筑物平面分割方法
- 營養(yǎng)細(xì)胞在調(diào)節(jié)免疫耐受中的作用
- 企業(yè)培訓(xùn)服務(wù)理念課件
- 企業(yè)培訓(xùn)員工課件下載
- 企業(yè)垃圾分類實踐課件
- 廁所改造工程安全評估與施工監(jiān)管協(xié)議
- 常州醫(yī)療場所租賃合同標(biāo)準(zhǔn)
- 機(jī)房值守實施方案
- 高端寫字樓場房屋租賃及物業(yè)管理合同
- 租房電器處理方案
- 中國VTS船舶交通管理系統(tǒng)行業(yè)發(fā)展全景監(jiān)測及投資方向研究報告
- 企業(yè)安全生產(chǎn)隱患排查獎勵制度
- 臨水作業(yè)安全培訓(xùn)
- 2025年中國中信集團(tuán)招聘筆試沖刺題2025
- 2025年北京市中考數(shù)學(xué)真題試卷及答案解析
- 酒店前臺服務(wù)禮儀與服務(wù)意識培訓(xùn)
- 2025至2030免稅行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 農(nóng)民參與鄉(xiāng)村建設(shè)的模式和政策研究
- 東北大學(xué)課件介紹
- AI+Agent與Agentic+AI的原理和應(yīng)用洞察與未來展望
- 事故隱患內(nèi)部報告獎勵制度
評論
0/150
提交評論