單片機(jī)課后習(xí)題答案 (2)_第1頁(yè)
單片機(jī)課后習(xí)題答案 (2)_第2頁(yè)
單片機(jī)課后習(xí)題答案 (2)_第3頁(yè)
單片機(jī)課后習(xí)題答案 (2)_第4頁(yè)
單片機(jī)課后習(xí)題答案 (2)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.一)填空題 1. 十進(jìn)制數(shù)14對(duì)應(yīng)的二進(jìn)制數(shù)表示為(1110B),十六進(jìn)制數(shù)表示為(0EH)。十進(jìn)制數(shù)-100的補(bǔ)碼為(9CH),+100的補(bǔ)碼為(64H)。2. 在一個(gè)非零的無(wú)符號(hào)二進(jìn)制整數(shù)的末尾加兩個(gè)0后,形成一個(gè)新的無(wú)符號(hào)二進(jìn)制整數(shù),則新數(shù)是原數(shù)的(4)倍。 3. 8位無(wú)符號(hào)二進(jìn)制數(shù)能表示的最大十進(jìn)制數(shù)是(255)。帶符號(hào)二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)是(-51)。4. 可以將各種不同類型數(shù)據(jù)轉(zhuǎn)換為計(jì)算機(jī)能處理的形式并輸送到計(jì)算機(jī)中去的設(shè)備統(tǒng)稱為(輸入設(shè)備)。5. 已知字符D的ASCII碼是十六進(jìn)制數(shù)44,則字符T的ASCII碼是十進(jìn)制數(shù)(84)。 6. 若某存儲(chǔ)器容量為640KB,則表示該存

2、儲(chǔ)器共有(655360)個(gè)存儲(chǔ)單元。 7. 在計(jì)算機(jī)中,二進(jìn)制數(shù)的單位從小到大依次為(位)、(字節(jié))和(字),對(duì)應(yīng)的英文名稱分別是(bit)、(Byte)和(Word)。 8. 設(shè)二進(jìn)制數(shù)A=10101101,B=01110110,則邏輯運(yùn)算AB=(),AB=(),AB=()。 9. 機(jī)器數(shù)的真值是(+110),機(jī)器數(shù)的真值是(+89),機(jī)器數(shù)的真值是(+157或-115),機(jī)器數(shù)的真值是(+206或-50)。(二)單項(xiàng)選擇題 1. 用8位二進(jìn)制補(bǔ)碼數(shù)所能表示的十進(jìn)制數(shù)范圍是(D)(A)-127 +127 (B)-128 +128(C)-127 +128 (D)-128 +127 2. 下列等

3、式中,正確的是(B)(A)1 KB = 10241024 B (B)1 MB = 10241024 B(C)1 KB = 1024 M B (D)1 MB = 1024 B 3. 程序與軟件的區(qū)別是(C)(A)程序小而軟件大 (B)程序便宜而軟件昂貴(C)軟件包括程序 (D)程序包括軟件 4. 存儲(chǔ)器中,每個(gè)存儲(chǔ)單元都被賦予惟一的編號(hào),這個(gè)編號(hào)稱為(A)(A)地址 (B)字節(jié) (C)列號(hào) (D)容量 5. 8位二進(jìn)制數(shù)所能表示的最大無(wú)符號(hào)數(shù)是(B)(A)255 (B)256 (C)128 (D)127 6. 下列4個(gè)無(wú)符號(hào)數(shù)中,最小的數(shù)是(B)(A)(二進(jìn)制) (B)37(八進(jìn)制)(C)75(

4、十進(jìn)制) (D)24(十六進(jìn)制) 7. 下列字符中,ASCII碼最小的是(B)(A)a (B)A (C)x (D)X 8. 下列字符中,ASCII碼最大的是(C)(A)a (B)A (C)x (D)X 9. 有一個(gè)數(shù)152,它與十六進(jìn)制數(shù)6A相等,那么該數(shù)是(B)(A)二進(jìn)制數(shù) (B)八進(jìn)制數(shù) (C)十進(jìn)制數(shù) (D)十六進(jìn)制數(shù)第2章 80C51單片機(jī)的硬件結(jié)構(gòu)(一)填空題 1. 通過(guò)堆棧實(shí)現(xiàn)子程序調(diào)用,首先要把(PC)的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。調(diào)用返回時(shí)再進(jìn)行出棧操作,把保護(hù)的斷點(diǎn)送回(PC)。 2. 80C51單片機(jī)的時(shí)鐘電路包括兩部分內(nèi)容,即芯片內(nèi)的(高增益反相放大器反相器)和芯片外跨接

5、的(石英晶體振蕩器晶振)與(兩個(gè)微調(diào)電容)。若調(diào)高單片機(jī)的晶振頻率,則單片機(jī)的機(jī)器周期會(huì)變(短)。 3. 通常單片機(jī)有兩種復(fù)位操作,即(上電復(fù)位)和(手動(dòng)復(fù)位)。復(fù)位后,PC值為(0000H),SP值為(07H),通用寄存器的當(dāng)前寄存器組為(第0)組,該組寄存器的地址范圍是從(00H)到(07H)。 4. 80C51單片機(jī)中,一個(gè)機(jī)器周期包含(6)個(gè)狀態(tài)周期,一個(gè) 狀態(tài)周期又可劃分為(2)個(gè)拍節(jié),一個(gè)拍節(jié)為(1)個(gè)振蕩脈沖周期。因此,一個(gè)機(jī)器周期應(yīng)包含(12)個(gè)振蕩脈沖周期。 5. 80C51中惟一一個(gè)可供用戶使用的16位寄存器是(DPTR),它可拆分為兩個(gè)8位寄存器使用,名稱分別為(DPH)

6、和(DPL)。6. 單片機(jī)程序存儲(chǔ)器的尋址范圍由PC的位數(shù)決定。80C51的PC為16位,因此程序存儲(chǔ)器地址空間是(64 KB)。(二)單項(xiàng)選擇題 1. 下列概念敘述正確的是(D)(A)80C51中共有5個(gè)中斷源,因此在芯片上相應(yīng)地有5個(gè)中斷請(qǐng)求輸入引腳(B)特殊的存取規(guī)則使得堆棧已不是數(shù)據(jù)存儲(chǔ)區(qū)的一部分(C)可以把PC看成是數(shù)據(jù)存儲(chǔ)空間的地址指針(D)CPU中反映程序運(yùn)行狀態(tài)和運(yùn)算結(jié)果特征的寄存器是PSW 2. 取指操作后,PC的值是(C)(A)當(dāng)前指令前一條指令的地址 (B)當(dāng)前正在執(zhí)行指令的地址(C)下一條指令的地址 (D)控制寄存器中指令寄存器的地址3. 80C51單片機(jī)中,設(shè)置堆棧指

7、針SP為37H后就發(fā)生子程序調(diào)用,這時(shí)SP的值變?yōu)椋–)(A)37H (B)38H (C)39H (D)3AH4. 設(shè)置堆棧指針SP = 30H后,進(jìn)行一系列的堆棧操作。當(dāng)進(jìn)棧數(shù)據(jù)全部彈出后,SP應(yīng)指向(A)(A)30H單元 (B)07H單元 (C)31H單元 (D)2FH單元 5. 下列關(guān)于堆棧的描述中,錯(cuò)誤的是(C)(A)80C51的堆棧在內(nèi)部RAM中開(kāi)辟,所以SP只需8位就夠了(B)堆棧指針SP的內(nèi)容是堆棧棧頂單元的地址(C)在80C51中,堆棧操作過(guò)程與一般RAM單元的讀/寫(xiě)操作沒(méi)有區(qū)別(D)在中斷響應(yīng)時(shí),斷點(diǎn)地址自動(dòng)進(jìn)棧 6. 在單片機(jī)芯片內(nèi)設(shè)置通用寄存器的好處不應(yīng)該包括(A)(A)

8、提高程序運(yùn)行的可靠性 (B)提高程序運(yùn)行速度(C)為程序設(shè)計(jì)提供方便 (D)減小程序長(zhǎng)度7. 下列敘述中正確的是(D)(A)SP 內(nèi)裝的是堆棧棧頂單元的內(nèi)容(B)在中斷服務(wù)程序中沒(méi)有PUSH 和POP 指令,說(shuō)明此次中斷操作與堆棧無(wú)關(guān)(C)在單片機(jī)中配合實(shí)現(xiàn)“程序存儲(chǔ)自動(dòng)執(zhí)行”的寄存器是累加器(D)兩數(shù)相加后,若A 中數(shù)據(jù)為66H,則PSW 中最低位的狀態(tài)為0第3 章 80C51 單片機(jī)指令系統(tǒng)(一)填空題1. 假定累加器A 中的內(nèi)容為30H,執(zhí)行指令“1000H: MOVC A, A+PC”后,會(huì)把程序存儲(chǔ)器(1031H)單元的內(nèi)容送累加器A。2. 假定(A)=85H,(R0)=20H,(2

9、0H)=0AFH,執(zhí)行指令“ADD A, R0”后,累加器A 的內(nèi)容為(34H),CY 的內(nèi)容為(1),AC 的內(nèi)容為(1),OV的內(nèi)容為(1)。3. 執(zhí)行如下指令序列后,所實(shí)現(xiàn)的邏輯運(yùn)算式為(P3.0 = P1.0P1.1P1.2)MOV C, P1.0ANL C, P1.1ANL C, /P1.2MOV P3.0, C4. 假定addr11=B,標(biāo)號(hào)qaz 的地址為1030H,執(zhí)行指令“qaz: AJMPaddr11”后,程序轉(zhuǎn)移到地址(1100H)去執(zhí)行。5. 累加器A 中存放著一個(gè)其值小于或等于127 的8 位無(wú)符號(hào)數(shù),CY 清0 后執(zhí)行“RLC A”指令,則A 中的數(shù)變?yōu)樵瓉?lái)的(2)

10、倍。6. 已知A=7AH,R0=30H,(30H)=A5H,PSW=80H,請(qǐng)按要求填寫(xiě)各條指令的執(zhí)行結(jié)果(每條指令均按已給定的原始數(shù)據(jù)進(jìn)行操作)。XCH A, R0 A=(30H),R0=(7AH)XCH A, 30H A=(0A5H)XCH A, R0 A=(0A5H) XCHD A, R0 A=(75H) SWAP A A=(0A7H) ADD A, R0 A=(0AAH),CY=(0),OV=(1) ADD A, 30H A=( 1FH ),CY=(1),OV=(0) ADD A, #30H A=(0AAH),CY=(0),OV=(1) ADDC A, 30H A=( 20H ),CY

11、=(1),OV=(0) SUBB A, 30H A=(0D4H),CY=(1),OV=(1) SUBB A, #30H A=( 49H ),CY=(0),OV=(0)(二)單項(xiàng)選擇題 1. 下列指令或指令序列中,不能實(shí)現(xiàn)PSW內(nèi)容送A的是(C)(A)MOV A, PSW (B)MOV A, 0D0H(C)MOV R0, 0D0H (D)PUSH PSWMOV A,R0 POP ACC 2. 在相對(duì)尋址方式中,“相對(duì)”兩字是指相對(duì)于(C)(A)地址偏移量rel (B)當(dāng)前指令的首地址(C)下一條指令的首地址 (D)DPTR值3. 下列指令或指令序列中,能將外部數(shù)據(jù)存儲(chǔ)器3355H單元內(nèi)容傳送給A

12、的是(B)(A)MOVX A, 3355H (B)MOV DPTR, #3355HMOVX A, DPTR(C)MOV P0, #33H (D)MOV P2, #33HMOV R0, #55H MOV R2, #55HMOVX A, R0 MOVX A, R2 4. 對(duì)程序存儲(chǔ)器的讀操作,只能使用(D)(A)MOV 指令 (B)PUSH 指令(C)MOV X指令 (D)MOVC指令 5. 執(zhí)行返回指令后,返回的斷點(diǎn)是(C)(A)調(diào)用指令的首地址 (B)調(diào)用指令的末地址(C)調(diào)用指令的下一條指令的首地址 (D)返回指令的末地址6. 以下各項(xiàng)中不能用來(lái)對(duì)內(nèi)部數(shù)據(jù)存儲(chǔ)器進(jìn)行訪問(wèn)的是(A)(A)數(shù)據(jù)指

13、針DPTR (B)按存儲(chǔ)單元地址或名稱(C)堆棧指針SP (D)由R0 或R1 作間址寄存器(三)其他類型題1. 判斷下列指令的合法性(合法打“”,非法打“”)MOV A, R2 () MOV R0, R1 () INC DPTR ()MOV PC, #2222H () DEC DPTR () RLC R0 ()MOV 0E0H, R0 () CPL R5 () CLR R0 ()CPL F0H () PUSH DPTR () POP 30H ()MOVX A, R1 () MOV A, 1FH () MOV C, 1FH ()MOV F0, ACC.3 () MOV F0, C () MOV

14、 P1, R3 ()MOV DPTR, #0FCH() CPL 30H () PUSH R0 ()MOV C, #0FFH () MOV A, #0D0H()2. 利用位操作指令序列實(shí)現(xiàn)下列邏輯運(yùn)算。(1)D=(10H P1.0)(11HCY)MOV C, P1.0ORL C, /10HMOV F0, CORL C, 11HANL C, F0MOV D, C(2)E=ACC.2P2.7ACC.1P2.0MOV C, ACC.2ANL C, P2.7ORL C, ACC.1ANL C, P2.0MOV E, C3. 編寫(xiě)程序?qū)?nèi)部RAM 20H 23H 單元的高4 位寫(xiě)1,低4 位寫(xiě)0。分析:就

15、是把內(nèi)部RAM 20H 23H這4個(gè)單元寫(xiě)入0F0H。用一個(gè)DJNZ的循環(huán)。ORG 0000HMOV R0, #20H ; R0指向20H單元MOV R1, #04H ; 4個(gè)單元LOOP: MOV R0, #0F0H ; 寫(xiě)入INC R0DJNZ R1, LOOP ; 循環(huán)4次END4. 在m和m+1單元中存有兩個(gè)BCD數(shù),將他們合并到m單元中,編寫(xiě)程序完成。ORG 0030HMOV R0, #mMOV A, R0 ; 將m單元中的BCD數(shù)送入累加器AANL A, #0FH ; 把m單元的高4位清0SWAP A ; 將m單元中的BCD數(shù)移入高4位MOV R0, A ; m單元高4位為BCD數(shù)

16、,低4位為0INC R0 ; 指向m+1單元MOV A, R0 ; 將m+1單元中的BCD數(shù)送入累加器AANL A, #0FH ; 把m+1單元的高4位清0DEC R0 ; 指向m單元ORL A, R0 ; 將和m+1單元和m單元內(nèi)容合并MOV R0, A ; 合并后結(jié)果送m單元END5. 將內(nèi)部RAM中從data單元開(kāi)始的10個(gè)無(wú)符號(hào)數(shù)相加,其和送sum單元。假定相加結(jié)果小于255。編寫(xiě)程序完成。ORG 0030HMOV R0, #10 ; 給 R0 置計(jì)數(shù)器初值MOV R1, # data ; 數(shù)據(jù)塊首址送R1CLR A ; A清零LOOP: ADD A, R1 ; 加一個(gè)數(shù)INC R1

17、; 修改地址,指向下一個(gè)數(shù)DJNZ R0, LOOP ; R0 減 1,不為零循環(huán)MOV sum, A ; 存 10 個(gè)數(shù)相加和END6. 假定8位二進(jìn)制帶符號(hào)數(shù)存于R0中,要求編寫(xiě)一個(gè)求補(bǔ)(取反)程序,所得補(bǔ)碼放入R1中。分析:對(duì)存于R0中的二進(jìn)制帶符號(hào)數(shù),如果是正數(shù),則將其變成絕對(duì)值相等的負(fù)數(shù)(用補(bǔ)碼表示);如果是負(fù)數(shù)(用補(bǔ)碼表示),則將其變成絕對(duì)值相等的正數(shù)。ORG 0030HMOV A, R0 ; 將帶符號(hào)數(shù)送入ACPL AADD A, #01H ; 末位加 1MOV R1, A ; 補(bǔ)碼存入R1END第4章 單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)(一)填空題 1. 假定A=40H,R1=23H,(4

18、0H)= 05H。執(zhí)行以下兩條指令后,A=(25H),R1=(40H),(40H)=(03H)。XCH A, R1 ; A=23H,R1=40HXCHD A, R1 ; A=20H,(40H)=03H2. 假定80C51的晶振頻率為6 MHz,執(zhí)行下列程序后,在P1.1引腳產(chǎn)生的方波寬度為(5.804ms)START: SETB P1.1 ; P1.1置1(1周期)DL: MOV 30H, #03H ; 30H置初值(1周期)DL0: MOV 31H, #0F0H ; 31H置初值(1周期)DL1: DJNZ 31H, DL1 ; 31H減1,不為0重復(fù)執(zhí)行(2周期)DJNZ 30H, DL0

19、 ; 30H減1,不為0轉(zhuǎn)DL0(2周期)CPL P1.1 ; P1.1 取反(1 周期)SJMP DL ; 轉(zhuǎn)DL(2 周期)方波寬度=(2*15*16+2+1)*3+(2*15*16+2+1)*3+1+2+1*2=5804ms3. 下列程序中,X、Y 和Z 為輸入的8 位無(wú)符號(hào)二進(jìn)制數(shù),F(xiàn) 為輸出的邏輯運(yùn)算結(jié)果。試畫(huà)出該程序所模擬的組合邏輯電路。MOV A, XANL A, YMOV R1, AMOV A, YXRL A, ZCPL AORL A, R1MOV F, AF=(XY)(YZ)&11XYZF4. 分析下列跳轉(zhuǎn)程序,程序中A 與30H 單元中的數(shù)都是符號(hào)數(shù),說(shuō)明當(dāng)(A=(30H)

20、時(shí)轉(zhuǎn)向LOOP1,當(dāng)(A(30H)時(shí)轉(zhuǎn)向LOOP2,當(dāng)(A(30H)時(shí)轉(zhuǎn)向LOOP3。MOV R0, A ; R0AANL A, #80HJNZ NEG ; A0,轉(zhuǎn)NEGMOV A, 30HANL A, #80HJNZ LOOP2 ; A0,(30H) 0,轉(zhuǎn)LOOP2SJMP COMP ; A0,(30H)0,轉(zhuǎn)COMPNEG: MOV A, 30HANL A, #80HJZ LOOP3 ; A(30H)時(shí)轉(zhuǎn)向LOOP2,A(30H)時(shí)轉(zhuǎn)向LOOP3。5. 假定80C51的晶振頻率為6 MHz,下列程序的執(zhí)行時(shí)間為(30.696ms)。已知程序中前2條指令機(jī)器周期數(shù)為1,后4條指令機(jī)器周期

21、數(shù)為2。MOV R3, #15 1周期DL1: MOV R4, #255 1周期DL2: MOV P1, R3 2周期DJNZ R4, DL2 2周期DJNZ R3, DL1 2周期RET 2周期執(zhí)行時(shí)間:T=(2+2)*255+2+1*15+2+1*2=30696ms(二)編程題1. 把長(zhǎng)度為10H的字符串從內(nèi)部RAM的輸入緩沖區(qū)inbuf向位于外部RAM的輸出緩沖區(qū)outbuf傳送,一直進(jìn)行到遇見(jiàn)回車或整個(gè)字符串傳送完畢,試編程實(shí)現(xiàn)。11ORG 0030HMOV R0, #inbufMOV DPTR, #outbufMOV R4, #10HLOOP: MOV A, R0 ; 從內(nèi)部RAM取

22、數(shù)CJNE A,#0DH, LL ; 是否為回車符CRSJMP STOP ; 是回車符,則轉(zhuǎn)STOP,停止傳送LL: MOVX DPTR, A ; 不是回車符,則傳送到外部RAMINC R0INC DPTRDJNZ R4, LOOP ; 沒(méi)傳送完則循環(huán)STOP: SJMP $2. 內(nèi)部RAM從list單元開(kāi)始存放一正數(shù)表,表中之?dāng)?shù)作無(wú)序排列,并以1作結(jié)束標(biāo)志。編程實(shí)現(xiàn)找出表中最小數(shù)。分析:從list+1單元開(kāi)始判斷其中的數(shù)是否為-1,將比較得到的小數(shù)放入累加器AORG 0030HMOV R0, #listMOV A, R0 ;取第一個(gè)正數(shù)LOOP: INC R0 ;指向下一個(gè)正數(shù)MOV 30H

23、, R0CJNE A, 30H, CHK ;前一個(gè)數(shù)與后一個(gè)數(shù)比較CHK: JC LOOP1 ;前一個(gè)數(shù)小,則轉(zhuǎn)LOOP1MOV A, 30H ;前一個(gè)數(shù)大,取后一個(gè)數(shù)LOOP1: XCH A, 30HCJNE A, #0FFH, LOOP ;判斷后一個(gè)數(shù)是否為-1XCH A, 30H ;取最小數(shù)SJMP $3. 內(nèi)部RAM的X,Y 單元中各存放一個(gè)帶符號(hào)的數(shù),試編程實(shí)現(xiàn)按如下條件進(jìn)行的運(yùn)算,并將結(jié)果存入Z單元中。若X為正奇數(shù),Z XY;若X為正偶數(shù),Z XY;若X為負(fù)奇數(shù),Z XY;若X為負(fù)偶數(shù),Z XY。分析:正數(shù):第7位為0,負(fù)數(shù):第7位為1;奇數(shù):第0位為1,偶數(shù):第0位為0方法1:利

24、用ANL指令判斷正負(fù)、奇偶ORG 0030HMOV A, XANL A, #80H ; 判斷X正負(fù)JNZ NEG ; 若X為負(fù),轉(zhuǎn)NEGMOV A, X ; X為正ANL A, #01H ; 判斷X奇偶JZ EVEN1 ; 若X為偶數(shù),轉(zhuǎn)EVEN1MOV A, XADD A, Y ; 若X為正奇數(shù),ZXYSJMP RESULTEVEN1: MOV A, XORL A, Y ; 若X為正偶數(shù),ZXYSJMP RESULTNEG: MOV A, X ; X為負(fù)ANL A, #01H ; 判斷X奇偶JZ EVEN2 ; 若X為偶數(shù),轉(zhuǎn)EVEN2MOV A, XANL A, Y ; 若X為負(fù)奇數(shù),ZX

25、YSJMP RESULTEVEN2: MOV A, X ; 若X為負(fù)偶數(shù),ZXYXRL A, YRESULT: MOV Z, A方法2:RL指令將符號(hào)位移入CY判斷正負(fù),RR指令將最低位移入CY判斷奇偶MOV A, XCLR CRLC AJC NEG ;X為負(fù),轉(zhuǎn)至NEGRRC ARRC AJNC EVEN1 ; X為偶數(shù),轉(zhuǎn)至EVEN1MOV A, XADD A, Y ; X為正奇數(shù),Z XYSJMP RETULTEVEN1: MOV A, XORL A, Y ; X為正偶數(shù),Z XYSJMP RETULTNEG: RRC A,RRC AJNC EVEN2MOV A, XANL A, Y ;

26、 X為負(fù)奇數(shù),Z XYSJMP RETULTEVEN2: MOV A, XXRL A, Y ; X為負(fù)偶數(shù),Z XYRETULT: MOV Z, AEND4. 把一個(gè)8位二進(jìn)制數(shù)的各位用ASCII碼表示之(例如,為0的位用30H表示,為1的位用31H表示等)。該數(shù)存放在內(nèi)部RAM的byte單元中。變換后得到的8個(gè)ASCII碼存放在外部RAM以buf開(kāi)始的存儲(chǔ)單元中,試編程實(shí)現(xiàn)。ORG 0030H14MOV DPTR, #bufMOV R0, # byteMOV R7, #08HMOV A, R0CLR CLOOP1 : RRC AMOV R6, AJC ONEMOV A, #30HSJMP L

27、OOP2ONE: MOV A, #31HLOOP2 : MOVX DPTR, AINC DPTRMOV A, R6DJNZ R7, LOOP15. 編程實(shí)現(xiàn)運(yùn)算式2 2 c = a +b 。假定a、b、c 3 個(gè)數(shù)分別存放于內(nèi)部RAM 的DA、DB、DC 單元中,另有平方運(yùn)算子程序SQR 供調(diào)用。ORG 0030HMOV A, DAPUSH ACCACALL SQRPOP ACCMOV DC, AMOV A, DBPUSH ACCACALL SQRPOP ACCADD A, DCMOV DC, A15SQR: POP ACCMOV B, AMUL ABPUSH ACCRETEND6. 試編程實(shí)

28、現(xiàn)兩個(gè)ASCII碼字符串是否相等。字符串的長(zhǎng)度在內(nèi)部RAM 41H單元中,第1個(gè)字符串的首地址為42H,第2個(gè)字符串的首地址為52H。如果兩個(gè)字符串相等,則置內(nèi)部RAM 40H單元為00H;否則置40H單元為FFH。ORG 0030HMOV R0, #42HMOV R1, #52HMOV R7, 41HLOOP: MOV A, R0MOV 30H, R1CJNE A, 30H, LKINC R0INC R1DJNZ R7, LOOPMOV 40H, #00HSJMP DDLK: MOV 40H, #0FFHDD: SJMP DD7. 在外部RAM首地址為table的數(shù)據(jù)表中,有10字節(jié)數(shù)據(jù)。試

29、編程實(shí)現(xiàn)將每個(gè)字節(jié)的最高位無(wú)條件置1。ORG 0030HMOV DPTR, #tableMOV R6, #10LOOP: MOVX A, DPTR16SETB ACC.7MOVX DPTR, AINC DPTRDJNZ R6, LOOP第6 章 80C51 單片機(jī)的中斷與定時(shí)(一)填空題1. 中斷技術(shù)是解決資源競(jìng)爭(zhēng)的有效方法,因此,可以說(shuō)中斷技術(shù)實(shí)質(zhì)上是一種資源(共享)技術(shù)。2. 上電復(fù)位后,各中斷優(yōu)先級(jí)從高到低的次序?yàn)椋ㄍ獠恐袛?)、(定時(shí)器/計(jì)數(shù)器0 中斷)、(外部中斷1)、(定時(shí)器/計(jì)數(shù)器1 中斷)和(串行中斷)。3. 響應(yīng)中斷后,產(chǎn)生長(zhǎng)調(diào)用指令LCALL,執(zhí)行該指令的過(guò)程包括:首先把(

30、PC)的內(nèi)容壓入堆棧,以進(jìn)行斷點(diǎn)保護(hù),然后把長(zhǎng)調(diào)用指令的16 位地址送(PC),使程序執(zhí)行轉(zhuǎn)向(ROM)中的中斷地址區(qū)。4. 當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),把定時(shí)器控制寄存器的TF0(TF1)位置1。對(duì)計(jì)數(shù)溢出的處理,在中斷方式時(shí),該位作為(中斷請(qǐng)求標(biāo)志位)使用;在查詢方式時(shí),該位作(查詢狀態(tài)位)使用。5. 定時(shí)器1 工作于方式3 做波特率發(fā)生器使用時(shí),若系統(tǒng)晶振頻率為12 MHz,可產(chǎn)生的最低波特率為(15.26 b/s),最高波特率為(1000000 b/s)。對(duì)于12MHz 的晶振,一個(gè)機(jī)器周期為1ms,定時(shí)器1 做波特率發(fā)生器使用時(shí),若工作于方式1,計(jì)數(shù)初值為0,則波特率最低,為( ) 6

31、1 65536 1.0 10 15.26bs 若計(jì)數(shù)初值為65535,則波特率最高,為1/(1*1.0*10e-6)=1000000b/s6. 定時(shí)器0 工作于方式2 的計(jì)數(shù)方式,預(yù)置的計(jì)數(shù)初值為156,若通過(guò)引腳T0輸入周期為1ms 的脈沖,則定時(shí)器0 的定時(shí)時(shí)間為(100ms)。7. 用于定時(shí)測(cè)試壓力和溫度的單片機(jī)應(yīng)用系統(tǒng),以定時(shí)器0 實(shí)現(xiàn)定時(shí)。壓力超限和溫度超限的報(bào)警信號(hào)分別由INT0 和INT1輸入,中斷優(yōu)先順序?yàn)椋簤毫Τ逌囟瘸薅〞r(shí)檢測(cè)。為此,中斷允許控制寄存器IE 最低3 位的狀態(tài)應(yīng)是(111),中斷優(yōu)先級(jí)控制寄存器IP 最低3 位的狀態(tài)應(yīng)是(101)。8. 可利用定時(shí)器來(lái)擴(kuò)展外

32、部中斷源。若以定時(shí)器1擴(kuò)展外部中斷源,則該擴(kuò)展外中斷的中斷請(qǐng)求輸入端應(yīng)為(T1)引腳,定時(shí)器1應(yīng)取工作方式(2),預(yù)置的計(jì)數(shù)初值應(yīng)為(0FFH),擴(kuò)展外中斷的入口地址應(yīng)為(001BH)。(二)單項(xiàng)選擇題 1. 下列有關(guān)80C51中斷優(yōu)先級(jí)控制的敘述中錯(cuò)誤的是(D)(A)低優(yōu)先級(jí)不能中斷高優(yōu)先級(jí),但高優(yōu)先級(jí)能中斷低優(yōu)先級(jí)(B)同級(jí)中斷不能嵌套(C)同級(jí)中斷請(qǐng)求按時(shí)間的先后順序響應(yīng)(D)同一時(shí)刻,同級(jí)的多中斷請(qǐng)求,將形成阻塞,系統(tǒng)無(wú)法響應(yīng)2. 80C51有兩個(gè)定時(shí)器,下列有關(guān)這兩個(gè)定時(shí)器級(jí)聯(lián)定時(shí)問(wèn)題的敘述中,正確的是(C)(A)可以實(shí)現(xiàn)軟件級(jí)聯(lián)定時(shí),而不能實(shí)現(xiàn)硬件級(jí)聯(lián)定時(shí)(B)可以實(shí)現(xiàn)硬件級(jí)聯(lián)定時(shí)

33、,而不能實(shí)現(xiàn)軟件級(jí)聯(lián)定時(shí)(C)軟件級(jí)聯(lián)定時(shí)和硬件級(jí)聯(lián)定時(shí)都可以實(shí)現(xiàn)(D)軟件級(jí)聯(lián)定時(shí)和硬件級(jí)聯(lián)定時(shí)都不能實(shí)現(xiàn)3. 在工作方式0下,計(jì)數(shù)器由TH的全部8位和TL的低5位組成,因此,其計(jì)數(shù)范圍是(A)(A)1 8192 (B)0 8191 (C)0 8192 (D)1 40964. 對(duì)于由80C51構(gòu)成的單片機(jī)應(yīng)用系統(tǒng),中斷響應(yīng)并自動(dòng)生成長(zhǎng)調(diào)用指令LCALL后,應(yīng)(B)(A)轉(zhuǎn)向外部程序存儲(chǔ)器去執(zhí)行中斷服務(wù)程序(B)轉(zhuǎn)向內(nèi)部程序存儲(chǔ)器去執(zhí)行中斷服務(wù)程序(C)轉(zhuǎn)向外部數(shù)據(jù)存儲(chǔ)器去執(zhí)行中斷服務(wù)程序(D)轉(zhuǎn)向內(nèi)部數(shù)據(jù)存儲(chǔ)器去執(zhí)行中斷服務(wù)程序 5. 中斷查詢確認(rèn)后,在下列各種單片機(jī)運(yùn)行情況中,能立即進(jìn)行響

34、應(yīng)的是(D)(A)當(dāng)前正在進(jìn)行高優(yōu)先級(jí)中斷處理(B)當(dāng)前正在執(zhí)行RETI指令(C)當(dāng)前指令是DIV指令,且正處于取指機(jī)器周期(D)當(dāng)前指令是“MOV A, Rn” 指令6. 下列條件中,不是中斷響應(yīng)必要條件的是(C)(A)TCON 或SCON 寄存器中相關(guān)的中斷標(biāo)志位置1(B)IE 寄存器中相關(guān)的中斷允許位置1(C)IP 寄存器中相關(guān)位置1(D)中斷請(qǐng)求發(fā)生在指令周期的最后一個(gè)機(jī)器周期7. 在單片機(jī)的下列功能或操作中,不使用中斷方法的是(D)(A)串行數(shù)據(jù)傳送操作 (B)實(shí)時(shí)處理(C)故障處理 (D)存儲(chǔ)器讀/寫(xiě)操作第6 章 單片機(jī)并行存儲(chǔ)器擴(kuò)展(一)填空題1. 使用8KB8 位的RAM 芯片

35、,用譯碼法擴(kuò)展64KB8 位的外部數(shù)據(jù)存儲(chǔ)器,需要(8)片存儲(chǔ)芯片,共需使用(16)條地址線,其中(13)條用于存儲(chǔ)單元選擇,(3)條用于芯片選擇。2. 三態(tài)緩沖器的三態(tài)分別是(低電平)、(高電平)和(高阻抗)。3. 80C51 單片機(jī)系統(tǒng)整個(gè)存儲(chǔ)空間由4 部分組成,分別為(256)個(gè)地址單元的內(nèi)部(數(shù)據(jù))存儲(chǔ)器,(4KB)個(gè)地址單元的內(nèi)部(程序)存儲(chǔ)器,(64KB)個(gè)地址單元的外部(數(shù)據(jù))存儲(chǔ)器,(60KB)個(gè)地址單元的外部(程序)存儲(chǔ)器。4. 在80C51 單片機(jī)系統(tǒng)中,為外擴(kuò)展存儲(chǔ)器準(zhǔn)備了(16)條地址線,其中低位地址線由(P0 口)提供,高位地址線由(P2 口)提供。5. 在80C51

36、 單片機(jī)系統(tǒng)中,存儲(chǔ)器并行外擴(kuò)展涉及的控制信號(hào)有(ALE)、(WR )、(RD )、( PSEN )和(CE),其中用于分離低8 位地址和數(shù)據(jù)的控制信號(hào)是(ALE),它的頻率是晶振頻率的(6)分之一。6. 起止地址為0000H 3FFFH 的外擴(kuò)展存儲(chǔ)器芯片的容量是(16KB)。若外擴(kuò)展存儲(chǔ)器芯片的容量為2KB,起始地址為3000H,則終止地址應(yīng)為(37FFH)。7. 與微型機(jī)相比,單片機(jī)必須具有足夠容量的程序存儲(chǔ)器是因?yàn)樗鼪](méi)有(外19存)。8. 在存儲(chǔ)器擴(kuò)展中,無(wú)論是線選法還是譯碼法,最終都是為擴(kuò)展芯片的(片選)引腳端提供信號(hào)。9. 由一片80C51 和一片2716 組成的單片機(jī)最小系統(tǒng)。若

37、2716 片選信號(hào)CE 接地,則該存儲(chǔ)芯片連接共需(11)條地址線。除數(shù)據(jù)線外,系統(tǒng)中連接的信號(hào)線只有( PSEN )和(ALE)。(二)單項(xiàng)選擇題1. 下列有關(guān)單片機(jī)程序存儲(chǔ)器的論述中,錯(cuò)誤的是(D)(A)用戶程序保存在程序存儲(chǔ)器中(B)斷電后程序存儲(chǔ)器仍能保存程序(C)對(duì)于程序存儲(chǔ)器只使用MOVC 一種指令(D)執(zhí)行程序需要使用MOVC 指令從程序存儲(chǔ)器中逐條讀出指令2. 下列有關(guān)單片機(jī)數(shù)據(jù)存儲(chǔ)器的論述中,錯(cuò)誤的是(A)(A)數(shù)據(jù)存儲(chǔ)器只使用MOV 指令進(jìn)行讀/寫(xiě)(B)堆棧在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟(C)數(shù)據(jù)存儲(chǔ)器只用于保存臨時(shí)數(shù)據(jù)(D)專用寄存器也是數(shù)據(jù)存儲(chǔ)器的一部分3. 在單片機(jī)系統(tǒng)中,1KB

38、 表示的二進(jìn)制位數(shù)是(D)(A)1000 (B)81000 (C)1024 (D)810244. 在下列信號(hào)中,不是供外擴(kuò)展程序存儲(chǔ)器使用的是(D)(A) PSEN (B)EA (C)ALE (D)WR5. RAM 是隨機(jī)存儲(chǔ)器的意思,隨機(jī)存儲(chǔ)器的準(zhǔn)確含義是(B)(A)存儲(chǔ)器的各存儲(chǔ)單元的存取時(shí)間相等(B)可以在任何時(shí)刻隨機(jī)讀/寫(xiě)存儲(chǔ)器內(nèi)各存儲(chǔ)單元(C)隨機(jī)表示既可讀又可寫(xiě)(D)隨機(jī)是易失的意思,因?yàn)殡S機(jī)存儲(chǔ)器具有易失的特點(diǎn)6. 若在系統(tǒng)中只擴(kuò)展一片Intel 2732(4K8 位),除應(yīng)使用P0 口的8 條口線外,20至少還應(yīng)使用P2 口的口線(A)(A)4 條 (B)5 條 (C)6 條

39、(D)7 條7. 下列敘述中,不屬于單片機(jī)存儲(chǔ)器系統(tǒng)特點(diǎn)的是(D)(A)程序和數(shù)據(jù)兩種類型的存儲(chǔ)器同時(shí)存在(B)芯片內(nèi)外存儲(chǔ)器同時(shí)存在(C)擴(kuò)展數(shù)據(jù)存儲(chǔ)器與片內(nèi)數(shù)據(jù)存儲(chǔ)空間重疊(D)擴(kuò)展程序存儲(chǔ)器與片內(nèi)程序存儲(chǔ)空間重疊8. 在80C51 單片機(jī)系統(tǒng)中,為解決內(nèi)外程序存儲(chǔ)器銜接問(wèn)題所使用的信號(hào)是(A)(A)EA (B) PSEN (C)ALE (D)CE第7 章 單片機(jī)并行I/O 擴(kuò)展(一)填空題1. 80C51 單片機(jī)I/O 擴(kuò)展占據(jù)的是(外部數(shù)據(jù))存儲(chǔ)器的地址空間,因此,其擴(kuò)展連接只涉及(ALE)、(WR )和(RD )3 個(gè)控制信號(hào)。2. 在單片機(jī)中,為實(shí)現(xiàn)數(shù)據(jù)的I/O 傳送,可使用3 種控制方式,即(無(wú)條件)方式、(查詢)方式和(中斷)方式。其中效率較高的是(中斷方式)。3. 簡(jiǎn)單輸入口擴(kuò)展是為了實(shí)現(xiàn)輸入數(shù)據(jù)的(緩沖)功能,而輸出口擴(kuò)展是為了實(shí)現(xiàn)輸出數(shù)據(jù)的(鎖存)功能。第8 章 80C51 單片機(jī)串行通信(一)填空題1. 異步串行數(shù)據(jù)通信的幀格式由(起始)位、(數(shù)據(jù))位、(奇偶校驗(yàn))位、(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論