單片機(jī)基礎(chǔ)復(fù)習(xí)題與答案_第1頁
單片機(jī)基礎(chǔ)復(fù)習(xí)題與答案_第2頁
單片機(jī)基礎(chǔ)復(fù)習(xí)題與答案_第3頁
單片機(jī)基礎(chǔ)復(fù)習(xí)題與答案_第4頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)基礎(chǔ)(第3 版)第 1 章計(jì)算機(jī)基礎(chǔ)知識(一)填空題1. 十進(jìn)制數(shù) 14 對應(yīng)的二進(jìn)制數(shù)表示為( 1110B),十六進(jìn)制數(shù)表示為( 0EH)。十進(jìn)制數(shù) -100 的補(bǔ)碼為( 9CH),+100 的補(bǔ)碼為( 64H)。2. 在一個(gè)非零的無符號二進(jìn)制整數(shù)的末尾加兩個(gè) 0 后,形成一個(gè)新的無符號二進(jìn)制整數(shù),則新數(shù)是原數(shù)的( 4)倍。3.8 位無符號二進(jìn)制數(shù)能表示的最大十進(jìn)制數(shù)是(255)。帶符號二進(jìn)制數(shù)11001101 轉(zhuǎn)換成十進(jìn)制數(shù)是( -51 )。4. 可以將各種不同類型數(shù)據(jù)轉(zhuǎn)換為計(jì)算機(jī)能處理的形式并輸送到計(jì)算機(jī)中去的設(shè)備統(tǒng)稱為(輸入設(shè)備) 。5. 已知字符 D 的 ASCII 碼是十六進(jìn)

2、制數(shù) 44,則字符 T 的 ASCII 碼是十進(jìn)制數(shù)(84)。6. 若某存儲器容量為 640KB,則表示該存儲器共有( 655360)個(gè)存儲單元。7. 在計(jì)算機(jī)中,二進(jìn)制數(shù)的單位從小到大依次為(位) 、(字節(jié))和(字),對應(yīng)的英文名稱分別是( bit )、(Byte )和( Word)。8. 設(shè)二進(jìn)制數(shù) A=10101101,B=01110110,則邏輯運(yùn)算 AB=( 11111111), A B=(00100100),AB=(11011011)。9. 機(jī)器數(shù) 01101110 的真值是( +110),機(jī)器數(shù) 01011001 的真值是( +89),機(jī)器數(shù) 10011101 的真值是( +15

3、7 或-115 ),機(jī)器數(shù) 10001101的真值是( +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 +1272. 下列等式中,正確的是( B)(A)1 KB = 1024 1024 B(B)1 MB = 1024 1024 B(C)1 KB = 1024 M B(D)1 MB = 1024 B3. 程序與軟件的區(qū)別是( C)(A)程序小而軟件大( B)程序便宜而軟件昂貴(C)軟件包括程序( D)程序包括軟件4.存儲器中,每個(gè)存儲單元都被賦予惟一的

4、編號,這個(gè)編號稱為(A)(A)地址(B)字節(jié)( C)列號( D)容量5. 8 位二進(jìn)制數(shù)所能表示的最大無符號數(shù)是( B)(A)255( B) 256( C) 128( D) 1276. 下列 4 個(gè)無符號數(shù)中,最小的數(shù)是( B)(A)11011001(二進(jìn)制)( B) 37(八進(jìn)制)(C)75(十進(jìn)制)( D) 24(十六進(jìn)制)7. 下列字符中, ASCII 碼最小的是( B)(A)a(B)A(C)x(D)X8. 下列字符中, ASCII 碼最大的是( C)(A)a(B)A(C)x(D)X9. 有一個(gè)數(shù) 152,它與十六進(jìn)制數(shù) 6A 相等,那么該數(shù)是( B)(A)二進(jìn)制數(shù)(B)八進(jìn)制數(shù)(C)十

5、進(jìn)制數(shù)( D)十六進(jìn)制數(shù)第 2 章 80C51 單片機(jī)的硬件結(jié)構(gòu)(一)填空題1. 通過堆棧實(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)的(高增益反相放大器反相器 )和芯片外跨接的(石英晶體振蕩器晶振)與(兩個(gè) 微調(diào)電容)。若調(diào)高單片機(jī)的晶振頻率,則單片機(jī)的機(jī)器周期會變(短)。3. 通常單片機(jī)有兩種復(fù)位操作,即(上電復(fù)位)和(手動復(fù)位) 。復(fù)位后, PC值為( 0000H), SP值為( 07H),通用寄存器的當(dāng)前寄存器組為(第0)組,該組寄存器的地址范圍是從(00H

6、)到( 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)和( DPL)。6. 單片機(jī)程序存儲器的尋址范圍由 PC的位數(shù)決定。 80C51的 PC為 16 位,因此程序存儲器地址空間是( 64 KB)。(二)單項(xiàng)選擇題1. 下列概念敘述正確的是( D)(A)80C51中共有 5 個(gè)中斷源,因此在芯片上相應(yīng)地有5 個(gè)中斷請求輸入引腳

7、(B)特殊的存取規(guī)則使得堆棧已不是數(shù)據(jù)存儲區(qū)的一部分(C)可以把 PC看成是數(shù)據(jù)存儲空間的地址指針(D)CPU中反映程序運(yùn)行狀態(tài)和運(yùn)算結(jié)果特征的寄存器是PSW2. 取指操作后, PC的值是( C)(A)當(dāng)前指令前一條指令的地址( B)當(dāng)前正在執(zhí)行指令的地址(C)下一條指令的地址( D)控制寄存器中指令寄存器的地址3. 80C51單片機(jī)中,設(shè)置堆棧指針 SP為 37H 后就發(fā)生子程序調(diào)用,這時(shí) SP的值變?yōu)椋?C)(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)

8、07H單元( C)31H 單元( D) 2FH單元5. 下列關(guān)于堆棧的描述中,錯(cuò)誤的是( C)(A)80C51的堆棧在內(nèi)部 RAM中開辟,所以 SP只需 8 位就夠了(B)堆棧指針 SP的內(nèi)容是堆棧棧頂單元的地址(C)在 80C51中,堆棧操作過程與一般RAM單元的讀 / 寫操作沒有區(qū)別(D)在中斷響應(yīng)時(shí),斷點(diǎn)地址自動進(jìn)棧6.在單片機(jī)芯片內(nèi)設(shè)置通用寄存器的好處不應(yīng)該包括(A)(A)提高程序運(yùn)行的可靠性( B)提高程序運(yùn)行速度(C)為程序設(shè)計(jì)提供方便( D)減小程序長度7. 下列敘述中正確的是( D)(A)SP內(nèi)裝的是堆棧棧頂單元的內(nèi)容(B)在中斷服務(wù)程序中沒有PUSH和 POP指令,說明此次中

9、斷操作與堆棧無關(guān)(C)在單片機(jī)中配合實(shí)現(xiàn)“程序存儲自動執(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”后,會把程序存儲器( 1031H)單元的內(nèi)容送累加器 A。2. 假定( A)=85H,(R0) =20H,(20H) =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)

10、算式為( P3.0 P1.0 P1.1 P1.2)MOVC, P1.0ANLC, P1.1ANLC, /P1.2MOVP3.0, C4. 假定 addr11=00100000000B,標(biāo)號 qaz 的地址為 1030H,執(zhí)行指令“qaz: AJMP addr11 ”后,程序轉(zhuǎn)移到地址( 1100H)去執(zhí)行。5.累加器A 中存放著一個(gè)其值小于或等于127 的8 位無符號數(shù),CY清0 后執(zhí)行“RLC A”指令,則A 中的數(shù)變?yōu)樵瓉淼模?)倍。6. 已知 A=7AH,R0=30H,(30H)=A5H,PSW=80H,請按要求填寫各條指令的執(zhí)行結(jié)果(每條指令均按已給定的原始數(shù)據(jù)進(jìn)行操作) 。XCHA,

11、 R0A=(30H),R0=( 7AH)XCHA, 30HA=(0A5H)XCHA, R0A=(0A5H)XCHDA, R0A=( 75H)SWAPAA=( 0A7H)ADDA, R0A=(0AAH),CY=(0), OV=(1)ADDA, 30HA=( 1FH ), CY=(1),OV=( 0)ADDA, #30HA=( 0AAH),CY=(0),OV=(1)ADDCA, 30HA=( 20H ), CY=(1), OV=(0)SUBBA, 30HA=( 0D4H),CY=(1),OV=(1)SUBBA, #30HA=( 49H ),CY=(0),OV=(0)(二)單項(xiàng)選擇題1. 下列指令或

12、指令序列中,不能實(shí)現(xiàn) PSW內(nèi)容送 A 的是( C)(A)MOV A, PSW(B)MOV A, 0D0H(C)MOV R0, 0D0H(D)PUSH PSWMOV A,R0POP ACC2. 在相對尋址方式中, “相對”兩字是指相對于( C)(A)地址偏移量 rel( B)當(dāng)前指令的首地址(C)下一條指令的首地址( D) DPTR值3. 下列指令或指令序列中, 能將外部數(shù)據(jù)存儲器 3355H單元內(nèi)容傳送給 A 的是(B)(A)MOVX A, 3355H(B)MOVDPTR, #3355HMOVX A, DPTR(C)MOVP0, #33H(D)MOVP2, #33HMOVR0, #55HMO

13、VR2, #55HMOVX A, R0MOVX A, R24. 對程序存儲器的讀操作,只能使用( 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)中不能用來對內(nèi)部數(shù)據(jù)存儲器進(jìn)行訪問的是(A)(A)數(shù)據(jù)指針DPTR( B)按存儲單元地址或名稱(C)堆棧指針SP( D)由R0 或 R1 作間址寄存器(三)其他類型題1. 判斷下列指令的合法性(合法打“” ,非法打“”)MOV A, R2() MOV R0,

14、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 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) (11H CY)

15、MOVC, P1.0ORLC, /10HMOVF0, CORLC, 11HANLC, F0MOVD, C( 2) E=ACC.2 P2.7 ACC.1 P2.0 MOVC, ACC.2 ANLC, P2.7ORLC, ACC.1ANLC, P2.0MOVE, C3.編寫程序?qū)?nèi)部 RAM 20H 23H單元的高 4 位寫 1,低 4 位寫 0。分析:就是把內(nèi)部RAM 20H 23H這 4 個(gè)單元寫入 0F0H。用一個(gè) DJNZ的循環(huán)。ORG0000HMOVR0, #20HMOVR1, #04H; R0; 4指向 20H單元個(gè)單元LOOP: MOVR0, #0F0H;寫入INCR0DJNZR1,

16、 LOOP;循環(huán)4 次END4. 在 m和 m+1單元中存有兩個(gè) BCD數(shù),將他們合并到 m單元中,編寫程序完成。ORG0030HMOVR0, #mMOVA, R0;將 m單元中的 BCD數(shù)送入累加器 AANLA, #0FH;把 m單元的高 4 位清 0SWAPA;將 m單元中的 BCD數(shù)移入高 4 位MOVR0, A; m單元高 4 位為 BCD數(shù),低 4 位為 0INCR0;指向 m+1單元MOVA, R0;將 m+1單元中的 BCD數(shù)送入累加器 AANLA, #0FH;把 m+1單元的高 4 位清 0DECR0;指向 m單元ORLA, R0; 將和 m+1單元和 m單元內(nèi)容合并MOVR0

17、, A; 合并后結(jié)果送 m單元END5. 將內(nèi)部 RAM中從 data 單元開始的 10 個(gè)無符號數(shù)相加, 其和送 sum單元。假定相加結(jié)果小于 255。編寫程序完成。ORG0030HMOVR0, #10;給R0置計(jì)數(shù)器初值MOVR1, # data;數(shù)據(jù)塊首址送R1CLRA; A清零LOOP:ADDA, R1;加一個(gè)數(shù)INCR1;修改地址,指向下一個(gè)數(shù)DJNZR0, LOOP; R0減 1 ,不為零循環(huán)MOVsum, A;存10個(gè)數(shù)相加和END6. 假定 8 位二進(jìn)制帶符號數(shù)存于 R0 中,要求編寫一個(gè)求補(bǔ)(取反)程序,所得補(bǔ)碼放入 R1中。分析:對存于R0中的二進(jìn)制帶符號數(shù),如果是正數(shù),則

18、將其變成絕對值相等的負(fù)數(shù)(用補(bǔ)碼表示);如果是負(fù)數(shù)(用補(bǔ)碼表示),則將其變成絕對值相等的正數(shù)。ORG0030HMOVA, R0;將帶符號數(shù)送入ACPLAADDA, #01H;末位加1MOVR1, A;補(bǔ)碼存入R1END第 4 章單片機(jī)匯編語言程序設(shè)計(jì)(一)填空題1. 假定 A=40H,R1=23H,(40H)= 05H。執(zhí)行以下兩條指令后, A=( 25H), R1= (40H),(40H) =( 03H)。XCHA, R1; A=23H ,R1=40HXCHDA, R1; A=20H ,(40H)=03H2. 假定 80C51的晶振頻率為 6 MHz,執(zhí)行下列程序后,在 P1.1 引腳產(chǎn)生的

19、方波寬度為( 5.804ms)START: SETBP1.1; P1.1置 1(1 周期)DL:MOV30H, #03H; 30H置初值(1 周期)DL0:MOV31H, #0F0H; 31H置初值(1 周期)DL1:DJNZ31H, DL1; 31H減 1,不為 0重復(fù)執(zhí)行 (2 周期)DJNZ30H, DL0; 30H減 1,不為 0轉(zhuǎn) DL0(2 周期)CPLP1.1; P1.1取反(1 周期)SJMPDL;轉(zhuǎn) DL( 2 周期)方波寬度=(2*15*16+2+1)*3+(2*15*16+2+1)*3+1+2+1*2=5804s3. 下列程序中, X、Y 和 Z 為輸入的 8 位無符號二

20、進(jìn)制數(shù), F 為輸出的邏輯運(yùn)算結(jié)果。試畫出該程序所模擬的組合邏輯電路。MOVA, X ANLA, Y MOVR1, A MOVA, Y XRLA, Z CPLA ORLA, R1MOVF, AF=XYYZX&1FY&1&Z4.分析下列跳轉(zhuǎn)程序,程序中A 與30H 單元中的數(shù)都是符號數(shù),說明當(dāng)(A=(30H)時(shí)轉(zhuǎn)向LOOP1,當(dāng)( A(30H)時(shí)轉(zhuǎn)向LOOP2,當(dāng)( A(30H)時(shí)轉(zhuǎn)向LOOP3。MOVR0, AANLA, #80HJNZNEG;R0A; A0 ,轉(zhuǎn)NEGMOVA, 30HANLA, #80HJNZLOOP2; A 0, (30H) 0 ,轉(zhuǎn) LOOP2SJMPCOMP; A 0

21、, (30H) 0,轉(zhuǎn) COMPNEG: MOVA, 30HANLA, #80HJZLOOP3; 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ī)器周期數(shù)為 2。MOVR3, #151 周期DL1:MOVR4, #2551 周期DL2:MOVP1, R32 周期DJNZR4, DL22 周期DJNZR3, DL12 周期RET2 周期執(zhí)行時(shí)間: T=(2+2)*255+2+1*15+2+1*2=30696s(二)編程題1. 把長度為

22、 10H的字符串從內(nèi)部 RAM的輸入緩沖區(qū) inbuf 向位于外部 RAM的輸出緩沖區(qū) outbuf 傳送,一直進(jìn)行到遇見回車或整個(gè)字符串傳送完畢,試編程實(shí)現(xiàn)。ORG0030HMOVR0, #inbufMOVDPTR, #outbufMOVR4, #10HLOOP:MOVA, R0;從內(nèi)部 RAM取數(shù)CJNEA,#0DH, LL;是否為回車符 CRSJMPSTOP;是回車符,則轉(zhuǎn) STOP,停止傳送LL:MOVX DPTR, A;不是回車符,則傳送到外部 RAMINCR0INCDPTRDJNZR4, LOOP;沒傳送完則循環(huán)STOP:SJMP$2. 內(nèi)部 RAM從 list 單元開始存放一正數(shù)

23、表,表中之?dāng)?shù)作無序排列,并以 1 作結(jié)束標(biāo)志。編程實(shí)現(xiàn)找出表中最小數(shù)。分析:從 list+1單元開始判斷其中的數(shù)是否為-1 ,將比較得到的小數(shù)放入累加器 AORG0030HMOVR0, #listMOVA, R0; 取第一個(gè)正數(shù)LOOP:INCR0; 指向下一個(gè)正數(shù)MOV30H, R0CJNEA, 30H, CHK; 前一個(gè)數(shù)與后一個(gè)數(shù)比較CHK:JCLOOP1; 前一個(gè)數(shù)小,則轉(zhuǎn) LOOP1MOVA, 30H; 前一個(gè)數(shù)大,取后一個(gè)數(shù)LOOP1:XCHA, 30HCJNEA, #0FFH, LOOP; 判斷后一個(gè)數(shù)是否為 -1XCHA, 30H; 取最小數(shù)SJMP$3. 內(nèi)部 RAM的 X,

24、 Y 單元中各存放一個(gè)帶符號的數(shù),試編程實(shí)現(xiàn)按如下條件進(jìn)行的運(yùn)算,并將結(jié)果存入Z 單元中。若X為正奇數(shù), Z X Y;若X為正偶數(shù), Z X Y;若X為負(fù)奇數(shù), Z X Y;若X為負(fù)偶數(shù), Z X Y。分析:正數(shù):第 7位為 0,負(fù)數(shù):第 7位為 1;奇數(shù):第 0位為 1,偶數(shù):第 0位為 0方法 1:利用 ANL指令判斷正負(fù)、奇偶ORG0030HMOVA, XANLA, #80H;判斷 X正負(fù)JNZNEG; 若 X 為負(fù),轉(zhuǎn) NEGMOVA, X;X 為正ANLA, #01H;判斷 X奇偶JZEVEN1;若 X 為偶數(shù),轉(zhuǎn) EVEN1MOVA, XADDA, Y; 若 X 為正奇數(shù), ZXY

25、SJMPRESULTEVEN1:MOVA, XORLA, Y; 若 X 為正偶數(shù), ZXYSJMPRESULTNEG:MOVA, X;X 為負(fù)ANLA, #01H;判斷 X奇偶JZEVEN2;若 X 為偶數(shù),轉(zhuǎn) EVEN2MOVA, XANLA, Y; 若 X 為負(fù)奇數(shù), ZXYSJMPRESULTEVEN2:MOVA, X; 若 X 為負(fù)偶數(shù), ZXYXRLA, YRESULT:MOVZ, A方法 2:RL指令將符號位移入 CY判斷正負(fù), RR指令將最低位移入 CY判斷奇偶MOVA, XCLRCRLCAJCNEG;X 為負(fù),轉(zhuǎn)至 NEGRRCARRCAJNCEVEN1; X 為偶數(shù),轉(zhuǎn)至 E

26、VEN1MOVA, XADDA, Y; X 為正奇數(shù), Z XYSJMPRETULTEVEN1:MOVA, XORLA, Y; X 為正偶數(shù), Z XYSJMPRETULTNEG:RRCA,RRCAJNCEVEN2MOVA, XANLA, Y; X 為負(fù)奇數(shù), Z XYSJMPRETULTEVEN2:MOVA, XXRLA, Y; X 為負(fù)偶數(shù), Z XYRETULT:MOVZ, AEND4. 把一個(gè) 8 位二進(jìn)制數(shù)的各位用 ASCII 碼表示之(例如,為 0 的位用 30H表示,為 1 的位用 31H表示等)。該數(shù)存放在內(nèi)部 RAM的 byte 單元中。變換后得到的 8 個(gè) ASCII 碼存

27、放在外部 RAM以 buf 開始的存儲單元中,試編程實(shí)現(xiàn)。ORG0030HMOVDPTR, #bufMOVR0, # byteMOVR7, #08HMOVA, R0CLRCLOOP1 :RRCAMOV R6, AJCONEMOVA, #30HSJMPLOOP2ONE:MOVA, #31HLOOP2 :MOVXDPTR, AINCDPTRMOV A, R6DJNZR7, LOOP15. 編程實(shí)現(xiàn)運(yùn)算式 c a2 b2 。假定 a、b、 c 3 個(gè)數(shù)分別存放于內(nèi)部 RAM的 DA、DB、DC單元中,另有平方運(yùn)算子程序 SQR供調(diào)用。ORG0030HMOVA, DA PUSH ACC ACALL S

28、QR POPACCMOVDC, AMOVA, DBPUSHACCACALL SQRPOPACCADDA, DCMOVDC, ASQR:POPACCMOVB, AMULABPUSHACCRETEND6. 試編程實(shí)現(xiàn)兩個(gè) ASCII 碼字符串是否相等。字符串的長度在內(nèi)部RAM41H單元中,第 1 個(gè)字符串的首地址為42H,第 2 個(gè)字符串的首地址為 52H。如果兩個(gè)字符串相等,則置內(nèi)部RAM 40H單元為 00H;否則置 40H 單元為 FFH。ORG0030HMOVR0, #42HMOVR1, #52HMOVR7,41HLOOP: MOVA, R0MOV30H, R1CJNEA, 30H, LK

29、INCR0INCR1DJNZR7, LOOPMOV40H, #00HSJMPDDLK:MOV40H, #0FFHDD: SJMP DD7. 在外部 RAM首地址為 table 的數(shù)據(jù)表中,有 10 字節(jié)數(shù)據(jù)。試編程實(shí)現(xiàn)將每個(gè)字節(jié)的最高位無條件置 1。ORG 0030HMOVDPTR, #tableMOVR6, #10LOOP: MOVXA, DPTRSETBACC.7MOVXDPTR, AINCDPTRDJNZR6, LOOP第 6 章 80C51 單片機(jī)的中斷與定時(shí)(一)填空題1. 中斷技術(shù)是解決資源競爭的有效方法,因此,可以說中斷技術(shù)實(shí)質(zhì)上是一種資源(共享)技術(shù)。2. 上電復(fù)位后, 各中斷

30、優(yōu)先級從高到低的次序?yàn)?(外部中斷 0)、(定時(shí)器 / 計(jì)數(shù)器 0 中斷)、(外部中斷 1)、(定時(shí)器 / 計(jì)數(shù)器 1 中斷)和(串行中斷) 。3. 響應(yīng)中斷后,產(chǎn)生長調(diào)用指令 LCALL,執(zhí)行該指令的過程包括:首先把( PC)的內(nèi)容壓入堆棧, 以進(jìn)行斷點(diǎn)保護(hù), 然后把長調(diào)用指令的 16 位地址送(PC),使程序執(zhí)行轉(zhuǎn)向( ROM)中的中斷地址區(qū)。4. 當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),把定時(shí)器控制寄存器的 TF0(TF1)位置 1。對計(jì)數(shù)溢出的處理,在中斷方式時(shí),該位作為(中斷請求標(biāo)志位)使用;在查詢方式時(shí),該位作(查詢狀態(tài)位)使用。5.定時(shí)器 1 工作于方式 3 做波特率發(fā)生器使用時(shí),若系統(tǒng)晶振頻率

31、為12 MHz,可產(chǎn)生的最低波特率為(15.26 b/s ),最高波特率為( 1000000 b/s )。對于 12MHz的晶振,一個(gè)機(jī)器周期為1s,定時(shí)器 1 做波特率發(fā)生器使用時(shí),若工作于方式1,計(jì)數(shù)初值為0,則波特率最低,為165536 1.0 10 615.26b s若計(jì)數(shù)初值為65535,則波特率最高,為111.01061000000b s6. 定時(shí)器 0 工作于方式 2 的計(jì)數(shù)方式,預(yù)置的計(jì)數(shù)初值為 156,若通過引腳 T0 輸入周期為 1ms的脈沖,則定時(shí)器 0 的定時(shí)時(shí)間為( 100ms)。7.用于定時(shí)測試壓力和溫度的單片機(jī)應(yīng)用系統(tǒng),以定時(shí)器0 實(shí)現(xiàn)定時(shí)。壓力超限和溫度超限的報(bào)

32、警信號分別由INT0 和 INT1 輸入,中斷優(yōu)先順序?yàn)椋簤毫Τ逌囟瘸薅〞r(shí)檢測。為此,中斷允許控制寄存器IE最低3 位的狀態(tài)應(yīng)是( 111),中斷優(yōu)先級控制寄存器IP最低3 位的狀態(tài)應(yīng)是(101)。8.可利用定時(shí)器來擴(kuò)展外部中斷源。若以定時(shí)器1 擴(kuò)展外部中斷源,則該擴(kuò)展外中斷的中斷請求輸入端應(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)先級控制的敘述中錯(cuò)誤的是( D)(A)低優(yōu)先級不能中斷高優(yōu)先級,但高優(yōu)先級能中斷低優(yōu)先級(B)同級中斷不能嵌套(C)同級中斷請求按

33、時(shí)間的先后順序響應(yīng)(D)同一時(shí)刻,同級的多中斷請求,將形成阻塞,系統(tǒng)無法響應(yīng)2. 80C51有兩個(gè)定時(shí)器,下列有關(guān)這兩個(gè)定時(shí)器級聯(lián)定時(shí)問題的敘述中,正確的是( C)(A)可以實(shí)現(xiàn)軟件級聯(lián)定時(shí),而不能實(shí)現(xiàn)硬件級聯(lián)定時(shí)(B)可以實(shí)現(xiàn)硬件級聯(lián)定時(shí),而不能實(shí)現(xiàn)軟件級聯(lián)定時(shí)(C)軟件級聯(lián)定時(shí)和硬件級聯(lián)定時(shí)都可以實(shí)現(xiàn)(D)軟件級聯(lián)定時(shí)和硬件級聯(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. 對于由 80C51 構(gòu)成的單片機(jī)應(yīng)用系統(tǒng),中斷響應(yīng)并自動生成長調(diào)

34、用指令LCALL后,應(yīng)( B)(A)轉(zhuǎn)向外部程序存儲器去執(zhí)行中斷服務(wù)程序(B)轉(zhuǎn)向內(nèi)部程序存儲器去執(zhí)行中斷服務(wù)程序(C)轉(zhuǎn)向外部數(shù)據(jù)存儲器去執(zhí)行中斷服務(wù)程序(D)轉(zhuǎn)向內(nèi)部數(shù)據(jù)存儲器去執(zhí)行中斷服務(wù)程序5. 中斷查詢確認(rèn)后, 在下列各種單片機(jī)運(yùn)行情況中, 能立即進(jìn)行響應(yīng)的是 (D)(A)當(dāng)前正在進(jìn)行高優(yōu)先級中斷處理(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

35、寄存器中相關(guān)位置1(D)中斷請求發(fā)生在指令周期的最后一個(gè)機(jī)器周期7.在單片機(jī)的下列功能或操作中,不使用中斷方法的是(D)(A)串行數(shù)據(jù)傳送操作( B)實(shí)時(shí)處理(C)故障處理( D)存儲器讀 / 寫操作第 6 章單片機(jī)并行存儲器擴(kuò)展(一)填空題1. 使用 8KB8 位的 RAM芯片,用譯碼法擴(kuò)展 64KB8 位的外部數(shù)據(jù)存儲器,需要( 8)片存儲芯片,共需使用( 16)條地址線,其中( 13)條用于存儲單元選擇,( 3)條用于芯片選擇。2. 三態(tài)緩沖器的三態(tài)分別是(低電平) 、(高電平)和(高阻抗)。3. 80C51單片機(jī)系統(tǒng)整個(gè)存儲空間由 4 部分組成,分別為( 256)個(gè)地址單元的內(nèi)部(數(shù)據(jù)

36、)存儲器, (4KB)個(gè)地址單元的內(nèi)部(程序)存儲器, ( 64KB)個(gè)地址單元的外部(數(shù)據(jù))存儲器, (60KB)個(gè)地址單元的外部(程序)存儲器。4. 在 80C51單片機(jī)系統(tǒng)中,為外擴(kuò)展存儲器準(zhǔn)備了( 16)條地址線,其中低位地址線由( P0 口)提供,高位地址線由( P2口)提供。5. 在 80C51單片機(jī)系統(tǒng)中,存儲器并行外擴(kuò)展涉及的控制信號有 (ALE)(、 WR )、( RD )、( PSEN )和( CE ),其中用于分離低 8 位地址和數(shù)據(jù)的控制信號是( ALE),它的頻率是晶振頻率的( 6)分之一。6.起止地址為0000H 3FFFH 的外擴(kuò)展存儲器芯片的容量是(16KB)。

37、若外擴(kuò)展存儲器芯片的容量為2KB,起始地址為 3000H,則終止地址應(yīng)為( 37FFH)。7. 與微型機(jī)相比,單片機(jī)必須具有足夠容量的程序存儲器是因?yàn)樗鼪]有(外存)。8. 在存儲器擴(kuò)展中, 無論是線選法還是譯碼法, 最終都是為擴(kuò)展芯片的 (片選)引腳端提供信號。9.由一片 80C51 和一片 2716 組成的單片機(jī)最小系統(tǒng)。若2716 片選信號 CE 接地,則該存儲芯片連接共需( 11)條地址線。除數(shù)據(jù)線外,系統(tǒng)中連接的信號線只有( PSEN )和( ALE)。(二)單項(xiàng)選擇題1.下列有關(guān)單片機(jī)程序存儲器的論述中,錯(cuò)誤的是(D)(A)用戶程序保存在程序存儲器中(B)斷電后程序存儲器仍能保存程序

38、(C)對于程序存儲器只使用MOVC一種指令(D)執(zhí)行程序需要使用MOVC指令從程序存儲器中逐條讀出指令2.下列有關(guān)單片機(jī)數(shù)據(jù)存儲器的論述中,錯(cuò)誤的是(A)(A)數(shù)據(jù)存儲器只使用MOV指令進(jìn)行讀 / 寫(B)堆棧在數(shù)據(jù)存儲器中開辟(C)數(shù)據(jù)存儲器只用于保存臨時(shí)數(shù)據(jù)(D)專用寄存器也是數(shù)據(jù)存儲器的一部分3. 在單片機(jī)系統(tǒng)中, 1KB表示的二進(jìn)制位數(shù)是( D)(A)1000(B)8 1000( C) 1024(D)8 10244.在下列信號中,不是供外擴(kuò)展程序存儲器使用的是(D)(A) PSEN(B) EA(C)ALE(D) WR5.RAM是隨機(jī)存儲器的意思,隨機(jī)存儲器的準(zhǔn)確含義是(B)(A)存儲器

39、的各存儲單元的存取時(shí)間相等(B)可以在任何時(shí)刻隨機(jī)讀/ 寫存儲器內(nèi)各存儲單元(C)隨機(jī)表示既可讀又可寫(D)隨機(jī)是易失的意思,因?yàn)殡S機(jī)存儲器具有易失的特點(diǎn)6. 若在系統(tǒng)中只擴(kuò)展一片 Intel 2732( 4K8位),除應(yīng)使用 P0 口的 8 條口線外,至少還應(yīng)使用 P2 口的口線( A)7.(A)4 條(B)5 條(C)6 條(D)7 條下列敘述中,不屬于單片機(jī)存儲器系統(tǒng)特點(diǎn)的是(D)(A)程序和數(shù)據(jù)兩種類型的存儲器同時(shí)存在(B)芯片內(nèi)外存儲器同時(shí)存在(C)擴(kuò)展數(shù)據(jù)存儲器與片內(nèi)數(shù)據(jù)存儲空間重疊(D)擴(kuò)展程序存儲器與片內(nèi)程序存儲空間重疊8. 在 80C51 單片機(jī)系統(tǒng)中,為解決內(nèi)外程序存儲器銜

40、接問題所使用的信號是(A)(A) EA(B) PSEN(C)ALE(D) CE第 7 章單片機(jī)并行 I/O 擴(kuò)展(一)填空題1. 80C51單片機(jī) I/O 擴(kuò)展占據(jù)的是(外部數(shù)據(jù))存儲器的地址空間,因此,其擴(kuò)展連接只涉及( ALE)、( WR )和( RD )3 個(gè)控制信號。2. 在單片機(jī)中,為實(shí)現(xiàn)數(shù)據(jù)的 I/O 傳送,可使用 3 種控制方式,即(無條件)方式、(查詢)方式和(中斷)方式。其中效率較高的是(中斷方式) 。3. 簡單輸入口擴(kuò)展是為了實(shí)現(xiàn)輸入數(shù)據(jù)的(緩沖)功能,而輸出口擴(kuò)展是為了實(shí)現(xiàn)輸出數(shù)據(jù)的(鎖存)功能。第 8 章 80C51 單片機(jī)串行通信(一)填空題1. 異步串行數(shù)據(jù)通信的幀格式由(起始)位、 (數(shù)據(jù))位、(奇偶校驗(yàn))位、(停止)位組

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論