單片機(jī)課后習(xí)題集規(guī)范標(biāo)準(zhǔn)答案_第1頁
單片機(jī)課后習(xí)題集規(guī)范標(biāo)準(zhǔn)答案_第2頁
單片機(jī)課后習(xí)題集規(guī)范標(biāo)準(zhǔn)答案_第3頁
單片機(jī)課后習(xí)題集規(guī)范標(biāo)準(zhǔn)答案_第4頁
單片機(jī)課后習(xí)題集規(guī)范標(biāo)準(zhǔn)答案_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-!一)填空題1.十進(jìn)制數(shù) 14 對(duì)應(yīng)的二進(jìn)制數(shù)表示為(1110B),十六進(jìn)制數(shù)表示為(OEH)。十進(jìn)制數(shù)-100 的補(bǔ)碼為(9CH), +100 的補(bǔ)碼為(64H)。2. 在一個(gè)非零的無符號(hào)二進(jìn)制整數(shù)的末尾加兩個(gè) 0 后,形成一個(gè)新的無符號(hào)二進(jìn) 制整數(shù),則新數(shù)是原數(shù)的( 4)倍。3. 8 位無符號(hào)二進(jìn)制數(shù)能表示的最大十進(jìn)制數(shù)是( 255)。帶符號(hào)二進(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)制數(shù) 44,則字符 T 的 ASCII 碼是十進(jìn)

2、制數(shù)(84)。6. 若某存儲(chǔ)器容量為 640KB,則表示該存儲(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)算 AVB= (11111111), AAB= (00100100), A B= (11011011)。9. 機(jī)器數(shù) 01101110 的真值是( +110),機(jī)器數(shù) 01011001 的真值是( +89),機(jī)器 數(shù)10011101 的真值是(+157 或-115),機(jī)器數(shù) 10001101

3、的真值是(+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 = 1024X1024 B(B)1 MB = 1024X1024 B(C)1 KB = 1024 M B (D)1 MB = 1024 B3. 程序與軟件的區(qū)別是( C)( A )程序小而軟件大( B )程序便宜而軟件昂貴( C )軟件包括程序 ( D )程序包括軟件4. 存儲(chǔ)器中,每個(gè)存儲(chǔ)單元都被賦予惟一的編號(hào),這個(gè)編號(hào)稱為( A)

4、(A)地址(B)字節(jié) (C)列號(hào) (D)容量5. 8 位二進(jìn)制數(shù)所能表示的最大無符號(hào)數(shù)是( B)( A)255 ( B )256 ( C)128 ( D )1276. 下列 4 個(gè)無符號(hào)數(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ù) (

5、C)十進(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ī)器周期會(huì)變(短)。3. 通常單片機(jī)有兩種復(fù)位操作,即(上電復(fù)位)和(手動(dòng)復(fù)位)。復(fù)位后, PC值為(0000H),SP 值為(07H),通用寄存器的當(dāng)前寄存器組為(第 0)組,該 組寄存器的地址范圍是從(0

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

7、有 5 個(gè)中斷請(qǐng)求輸入引腳(B) 特殊的存取規(guī)則使得堆棧已不是數(shù)據(jù)存儲(chǔ)區(qū)的一部分(C) 可以把 PC 看成是數(shù)據(jù)存儲(chǔ)空間的地址指針(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 的值變 為( C)( A) 37H(B) 38H ( C) 39H(D) 3AH4. 設(shè)置堆棧指針 SP = 30H 后,進(jìn)行一系列的堆棧操作。當(dāng)進(jìn)棧數(shù)據(jù)全

8、部彈出后,SP 應(yīng)指向(A)(A) 30H 單元 (B) 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)地址自動(dòng)進(jìn)棧6. 在單片機(jī)芯片內(nèi)設(shè)置通用寄存器的好處不應(yīng)該包括( A)(A )提高程序運(yùn)行的可靠性(B)提高程序運(yùn)行速度(C)為程序設(shè)計(jì)提供方便 (D)減小程序長度7. 下列敘述中正確的是( D)( A)

9、SP 內(nèi)裝的是堆棧棧頂單元的內(nèi)容(B) 在中斷服務(wù)程序中沒有 PUSH 和 POP 指令,說明此次中斷操作與堆棧無關(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,(20H)=0AFH,執(zhí)行指令“ ADD A, R0 ”后,累加器 A 的內(nèi)容為( 34H), CY 的內(nèi)容為

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

11、30H,(30H)=A5H,PSW=80H,請(qǐng)按要求填寫各條指令 的執(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= ( 20

12、H ), CY=( 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)( B) MOV A, 0D0H( D) PUSH PSWPOP ACC相對(duì)”兩字是指相對(duì)于( C)(B)當(dāng)前指令的首地址(C)下一條指令的首地址 (D) DPTR 值3. 下列指令或指令序列中,能將外部數(shù)據(jù)存儲(chǔ)器 3355H 單元內(nèi)容傳送給 A 的是(B)( A)MOVX A, 3355H (B)MOV DPTR, #3

13、355H( A) MOV A, PSW( C) MOV R0, 0D0HMOV A,R02. 在相對(duì)尋址方式中,(A)地址偏移量 rel-!MOVX A, DPTR( C) MOV P0, #33H( D) MOV P2, #33HMOV R0, #55HMOV R2, #55HMOVX A, R0 MOVX A, R24. 對(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)返回指令的末

14、地址6. 以下各項(xiàng)中不能用來對(duì)內(nèi)部數(shù)據(jù)存儲(chǔ)器進(jìn)行訪問的是( A)(A )數(shù)據(jù)指針 DPTR ( B)按存儲(chǔ)單元地址或名稱(C)堆棧指針 SP ( D)由 R0 或 R1 作間址寄存器三)其他類型題1. 判斷下列指令的合法性(合法打“V”,非法打“X”)MOV A, R2(X)MOV R0, R1(X)INC DPTR(V)MOV PC, #2222H(X)DEC DPTR(X)RLC R0(X)MOV 0E0H, R0(V)CPL R5(X)CLR R0(X)CPL F0H(X)PUSH DPTR(X)POP 30H(V)MOVX A, R1( (V)MOV A, 1FH(V)MOV C, 1

15、FH(VMOV F0, ACC.3(X)MOV F0, C(V)MOV P1, R3(V)MOV DPTR, #0FCH(X)CPL 30H( V)PUSH R0(X)MOV C, #0FFH(X)MOV A, #0D0H(V)2. 利用位操作指令序列實(shí)現(xiàn)下列邏輯運(yùn)算。(1) D=(10H P1.0) (11H CY)MOV C, P1.0ORL C, /10HMOV F0, CORL C, 11HANL C, F0MOV D, C( 2) E=ACC.2 P2.7 ACC.1 P2.0MOV C, ACC.2ANL C, P2.7ORL C, ACC.1ANL C, P2.0MOV E, C

16、3. 編寫程序?qū)?nèi)部 RAM 20H 23H 單元的高 4 位寫 1,低 4 位寫 0。分析: 就是把內(nèi)部 RAM 20H23H 這 4 個(gè)單元寫入 OFOH。 用一個(gè) DJNZ 的循環(huán) ORG0000HMOV RO, #20H; R0 指向 20H 單元-!MOV R1, #04H; 4 個(gè)單元LOOP: MOV R0, #0F0H ; 寫入INC R04.在 m 和 m+1 單元中存有兩個(gè) BCD 數(shù),將他們合并到 m 單元中,編寫程序完成ORG 0030HMOVR0, #mMOVA, R0;將 m 單元中的 BCD 數(shù)送入累加器 AANLA, #0FH;把 m 單元的高 4 位清 0SW

17、APA;將 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, A;合并后結(jié)果送 m 單元END5.將內(nèi)部 RAM 中從 data 單元開始的 10 個(gè)無符號(hào)數(shù)相加, 其和送 sum 單元。 假定相 加結(jié)果小于 255。編寫程序完成。DJNZ R1, LOOPEND循環(huán) 4次ORG 0030HMOV

18、 R0, #10MOV R1, # dataCLR ALOOP: ADD A, R1INC R1DJNZ R0, LOOPMOV sum, AENDORG 0030HMOV A, R0 CPLAADD A, #01HMOV R1, AEND將帶符號(hào)數(shù)送入 A; 末位加 1補(bǔ)碼存入 R1-!; 給 R0 置計(jì)數(shù)器初值; 數(shù)據(jù)塊首址送 R1; A 清零; 加一個(gè)數(shù); 修改地址,指向下一個(gè)數(shù); R0 減 1 ,不為零循環(huán); 存 10 個(gè)數(shù)相加和6假定 8 位二進(jìn)制帶符號(hào)數(shù)存于 R0 中,要求編寫一個(gè)求補(bǔ)(取反)程序,所得補(bǔ) 碼放入 R1 中。分析:對(duì)存于 R0 中的二進(jìn)制帶符號(hào)數(shù),如果是正數(shù),則將其

19、變成絕對(duì)值相等的 負(fù)數(shù)(用補(bǔ)碼表示);如果是負(fù)數(shù)(用補(bǔ)碼表示),則將其變成絕對(duì)值相等的正 數(shù)。第4章 單片機(jī)匯編語言程序設(shè)計(jì)(一)填空題1.假定 A=40H,R 仁 23H,( 40H)= 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,

20、#03H ; 30H 置初值(1 周期)DL0: MOV 31H, #0F0H ; 31H 置初值(1 周期)DL1: DJNZ 31H, 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=5804 s3. 下列程序中, X、丫和 Z 為輸入的 8 位無符號(hào)二進(jìn)制數(shù),F(xiàn) 為輸出的邏輯運(yùn) 算結(jié)果。試畫出該程序所模擬的組合邏輯電路。MOV

21、A, XANL A,丫MOV R1, AMOV A,丫XRL A, ZCPL AORL A, R1MOV F, AF= X丫 丫Z&1-!1X丫ZF4. 分析下列跳轉(zhuǎn)程序,程序中 A 與 30H 單元中的數(shù)都是符號(hào)數(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。MOV R0, A ; R0JAANL A, #80HJNZ NEG ; A0,轉(zhuǎn) NEGMOV A, 30HANL A, #80H-!JNZ L00P2SJMP C0MPNEG: M0V A, 30HANL A, #80HJZ L00P3C0MP: M0V

22、 A, R0CJNE A, 30H, NEXTSJMP L00P1NEXT: JNC L00P2JC L00P3;A 0,(30H) 0,(30H) 0,轉(zhuǎn) COMP;A0,轉(zhuǎn) LOOP3;A 工(30H),轉(zhuǎn) NEXT;A=(30H),轉(zhuǎn) LOOP1;A (30H),轉(zhuǎn) LOOP2;Av(30H),轉(zhuǎn) LOOP3綜上分析可知,當(dāng) A= (30H)時(shí)轉(zhuǎn)向 L00P1, A(30H)時(shí)轉(zhuǎn)向 L00P2,A (30H) 時(shí)轉(zhuǎn)向LOOP3。5.假定 80C51 的晶振頻率為 6 MHz,下列程序的執(zhí)行時(shí)間為(30.696ms)。已知 程序中前 2 條指令機(jī)器周期數(shù)為 1 ,后 4 條指令機(jī)器周期數(shù)為

23、 2。MOV R3, #15DL1: MOV R4, #255DL2: MOV P1, R3DJNZ R4, DL2DJNZ R3, DL1RET1 周期1 周期 2 周期 2 周期 2 周期 2 周期執(zhí)行時(shí)間: T=(2+2)*255+2+1*15+2+1*2=30696 s(二)編程題1.把長度為 10H的字符串從內(nèi)部 RAM的輸入緩沖區(qū) inbuf向位于外部 RAM的輸 出緩沖區(qū) outbuf 傳送,一直進(jìn)行到遇見回車或整個(gè)字符串傳送完畢, 試編程實(shí)現(xiàn)110RG 0030HM0V R0, #inbufM0V DPTR, #outbufMOV R4, #10H LOOP:MOV A, R0

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

25、 INC R0MOV 30H, R0 CJNEA, 30H, CHKCHK: JC LOOP1MOV A, 30H LOOP1:XCH A, 30HCJNE A, #0FFH, LOOPXCH A, 30HSJMP $;指向下一個(gè)正數(shù); 前一個(gè)數(shù)與后一個(gè)數(shù)比較; 前一個(gè)數(shù)小,則轉(zhuǎn) LOOP1 ;前一個(gè)數(shù)大,取后一個(gè)數(shù); 判斷后一個(gè)數(shù)是否為-1 ; 取最小數(shù)3.內(nèi)部 RAM 的 X,丫單元中各存放一個(gè)帶符號(hào)的數(shù), 試編程實(shí)現(xiàn)按如下條件進(jìn) 行的運(yùn)算,并將結(jié)果存入 Z 單元中。若 X 為正奇數(shù),若 X 為正偶數(shù),若 X 為負(fù)奇數(shù),若 X 為負(fù)偶數(shù),zzzz=X+丫 ; =XV 丫 ;=XA 丫;=X

26、 丫。分析:正數(shù):第 7 位為 0,負(fù)數(shù):第 7 位為 1;奇數(shù):第 0 位為 1,偶數(shù):第 0 位為 0 方法 1:利用 ANL 指令判斷正負(fù)、奇偶ORG 0030HMOV A, XANL A, #80HJNZ NEG MOV A, XANL A, #01HJZ EVEN1MOV A, XADD A,丫SJMP RESULTEVEN1: MOV A, XORL A,丫SJMP RESULTNEG: MOV A, XANL A, #01HJZ EVEN2MOV A, XANL A,丫SJMP RESULTEVEN2: MOV A, XXRL A,丫RESULT: MOV Z, A方法 2: R

27、L 指令將符號(hào)位移入 CY 判斷正負(fù),RR 指令將最低位移入 CY 判斷奇偶MOV A, XCLR CRLC AJC NEG;判斷 X 正負(fù);若 X 為負(fù),轉(zhuǎn) NEG;X 為正;判斷 X 奇偶;若 X 為偶數(shù), 轉(zhuǎn) EVEN1;若 X 為正奇數(shù),Z = X +丫;若 X 為正偶數(shù), Z = XV丫;X 為負(fù);判斷 X 奇偶;若 X 為偶數(shù),轉(zhuǎn) EVEN2;若 X 為負(fù)奇數(shù),Z= XA丫;若 X 為負(fù)偶數(shù),z= X丫;X 為負(fù), 轉(zhuǎn)至 NEG-!-!RRC ARRC AJNC EVEN1; X 為偶數(shù),轉(zhuǎn)至 EVEN1MOV A, XADD A, Y; X 為正奇數(shù),Z = X + YSJMP

28、RETULTEVEN1: MOV A, XORL A, Y; X 為正偶數(shù),Z = XVYSJMP RETULTNEG: RRC A,RRC AJNC EVEN2MOV A, XANL A, Y; X 為負(fù)奇數(shù),Z = XAYSJMP RETULTEVEN2: MOV A, XXRL A, Y; X 為負(fù)偶數(shù),Z= X YRETULT: MOV Z, AEND4. 把一個(gè) 8 位二進(jìn)制數(shù)的各位用 ASCII 碼表示之 (例如, 為 0 的位用 30H 表示, 為 1 的位用 31H 表示等)。該數(shù)存放在內(nèi)部 RAM 的 byte 單元中。變換后得到的 8 個(gè) ASCII 碼存放在外部 RAM

29、以 buf 開始的存儲(chǔ)單元中,試編程實(shí)現(xiàn)。ORG 0030H14MOV DPTR, #bufMOV R0, # byteMOV R7, #08HMOV A, R0CLR CLOOP1 : RRC AMOV R6, AJC ONEMOV A, #30HSJMP LOOP2ONE: MOV A, #31HLOOP2 : MOVX DPTR, AINC DPTRMOV A, R6DJNZ R7, LOOP15. 編程實(shí)現(xiàn)運(yùn)算式2 2c a bo假定 a、b、c 3 個(gè)數(shù)分別存放于內(nèi)部 RAM 的 DA、 DB、DC 單元中,另有平方運(yùn)算子程序 SQR 供調(diào)用。ORG 0030HMOV A, DAPU

30、SH ACC-!ACALL SQRPOP ACCMOV DC, AMOV A, DBPUSH ACCACALL SQRPOP ACCADD A, DCMOV DC, A15SQR: POP ACCMOV B, AMUL ABPUSH ACCRETEND6試編程實(shí)現(xiàn)兩個(gè) ASCII 碼字符串是否相等。字符串的長度在內(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, 41

31、HLOOP: 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ù)。試編程實(shí)現(xiàn)將每個(gè)字 節(jié)的最高位無條件置 1 。ORG 0030HMOV DPTR, #tableMOV R6, #10LOOP: MOVX A, DPTR16SETB ACC.7MOVX DPTR, AINC DPTRDJNZ R6, LOOP-!第6章80C51單片機(jī)的中斷與定時(shí)(一)填空題

32、1. 中斷技術(shù)是解決資源競爭的有效方法,因此,可以說中斷技術(shù)實(shí)質(zhì)上是一種 資源(共享)技術(shù)。2. 上電復(fù)位后,各中斷優(yōu)先級(jí)從高到低的次序?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í)器控制寄存器的TFO (TF1)位置 1。對(duì)計(jì)數(shù)溢出的處理,在中斷方式時(shí),該位作為(中斷請(qǐng)求標(biāo)

33、志位)使用;在查詢 方式時(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ī)器周期為 1 s,定時(shí)器 1 做波特率發(fā)生器使用時(shí),若工作于方式 1,計(jì)數(shù)初值為 0,則波特率最低,為61 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,若通過引腳 T0 輸入周

34、期為 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)椋簤毫?超限一溫度超限一定時(shí)檢測(cè)。為此,中斷允許控制寄存器IE 最低 3 位的狀態(tài)應(yīng)是( 111),中斷優(yōu)先級(jí)控制寄存器 IP 最低 3 位的狀態(tài)應(yīng)是( 101)。8. 可利用定時(shí)器來擴(kuò)展外部中斷源。若以定時(shí)器 1 擴(kuò)展外部中斷源,則該擴(kuò)展外 中斷的中斷請(qǐng)求輸入端應(yīng)為(T1)引腳,定時(shí)器 1 應(yīng)取工作方式(2),預(yù)置的 計(jì)數(shù)初值應(yīng)為(0FFH),擴(kuò)展外中斷的入口地址應(yīng)為(001BH

35、)。(二)單項(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)無法響應(yīng)2. 80C51 有兩個(gè)定時(shí)器, 下列有關(guān)這兩個(gè)定時(shí)器級(jí)聯(lián)定時(shí)問題的敘述中, 正確的 是( C)(A )可以實(shí)現(xiàn)軟件級(jí)聯(lián)定時(shí),而不能實(shí)現(xiàn)硬件級(jí)聯(lián)定時(shí)(B) 可以實(shí)現(xiàn)硬件級(jí)聯(lián)定時(shí),而不能實(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 的全部

36、 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)生成長調(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)行響應(yīng)的是 (D)(A) 當(dāng)前正在進(jìn)行高優(yōu)先級(jí)中斷處理(B) 當(dāng)前正在執(zhí)行 RETI 指令(C) 當(dāng)前

37、指令是 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ǔ)器讀/寫操作第6章 單片機(jī)并行存儲(chǔ)器擴(kuò)展(一)填空題1. 使用 8KBX8 位的 RAM 芯片,用譯碼法擴(kuò)展 64KBX8 位的外部數(shù)據(jù)存儲(chǔ)器, 需要(

38、 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 單片機(jī)系統(tǒng)中,存儲(chǔ)

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

40、片機(jī)最小系統(tǒng)。若 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)行讀/寫(B) 堆棧在數(shù)據(jù)存儲(chǔ)器中開辟(C) 數(shù)據(jù)存儲(chǔ)器只用于保存臨時(shí)數(shù)據(jù)(

41、D) 專用寄存器也是數(shù)據(jù)存儲(chǔ)器的一部分3. 在單片機(jī)系統(tǒng)中, 1KB 表示的二進(jìn)制位數(shù)是( D)(A) 1000 (B) 8X1000 (C) 1024 (D) 8X10244. 在下列信號(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ī)讀/寫存儲(chǔ)器內(nèi)各存儲(chǔ)單元(C) 隨機(jī)表示既可讀又可寫(D) 隨機(jī)是易失的意思,因?yàn)殡S機(jī)存儲(chǔ)器具有易失的特點(diǎn)6. 若在系統(tǒng)中只擴(kuò)展一片 Intel 2732(4KX8

42、 位),除應(yīng)使用 P0 口的 8 條口線外,20至少還應(yīng)使用 P2 口的口線( A)( A)4 條 (B)5 條 (C)6 條 (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ǔ)器銜接問題所使用的信號(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 種控制方式,即(無條件) 方式、(查詢)方式和(中斷)方式。其中效率較高的是(中斷方式)。3. 簡單輸入口擴(kuò)展是為了實(shí)現(xiàn)輸入數(shù)據(jù)的(緩沖)功能,而輸出口擴(kuò)展是為了 實(shí)現(xiàn)輸出數(shù)據(jù)的(鎖存)功能。-!第8章80C51單片機(jī)串行通信(一)填空題1. 異步串行數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論