單片機(jī)試題及答案_第1頁(yè)
單片機(jī)試題及答案_第2頁(yè)
單片機(jī)試題及答案_第3頁(yè)
單片機(jī)試題及答案_第4頁(yè)
單片機(jī)試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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 一、填空題(25 分,每空 1 分)1. AT89S51 單片機(jī)為 8 位單片機(jī)2. MCS-51 系列單片機(jī)的典型芯片分別為 8031 、 8051 、 8751 。3. AT89S51 的異步通信口為 全雙工 (單工/半雙工/全雙工)4. AT89S51 有 2 級(jí)中斷, 5 個(gè)中斷源5. AT89S51 內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址范圍是 00H7FH ,位地址空間的字節(jié)地址范圍是 20H2FH ,對(duì)應(yīng)的位地址范圍是 00H7FH ,外部數(shù)據(jù)存儲(chǔ)器的最大可擴(kuò)展容量是 64K。6. AT89S51 單片機(jī)指令系統(tǒng)的尋址方式有_寄存器尋址_、直接尋址_、寄存器間接尋址_、_立即尋址_、 基

2、址寄存器加變址寄存器尋址 。7. 如果(A)=34H,(R7)=0ABH,執(zhí)行 XCH A, R7;結(jié)果(A)= 0ABH , (R7)= 34H 。8. 82C55 可以擴(kuò)展3個(gè)并行口,其中8條口線具有位操作功能;9. 當(dāng)單片機(jī)復(fù)位時(shí) PSW00 H,這時(shí)當(dāng)前的工作寄存器區(qū)是 0 區(qū),R4 所對(duì)應(yīng)的存儲(chǔ)單元地址為04 H。10. 若 A 中的內(nèi)容為 67H,那么,P 標(biāo)志位為1。11. 74LS138 是具有 3 個(gè)輸入的譯碼器芯片,其輸出作為片選信號(hào)時(shí),最多可以選中8 片芯片。二、判斷以下指令的正誤:(5 分)(1)MOV 28H,R4;( )(2)INC DPTR;( )(3)DEC D

3、PTR;( )(4)CLR R0;( )(5)MOV T0,#3CF0H; ( )三、簡(jiǎn)答題1、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行下列指令后:POPDPH;POPDPL;POPSP;則:(DPH)= _3CH_;(DPL)=_5FH_;(SP)=_50H_; 2、采用 6MHz 的晶振,定時(shí) 1ms,用定時(shí)器方式 0 時(shí)的初值應(yīng)為多少?(請(qǐng)給出計(jì)算過(guò)程) (6 分)解:采用 6MHZ 晶振機(jī)器周期為 2us(213-X)210-6=110-3X=7692(D)=1E0CH=1 1110 0000 1100(B) ,

4、化成方式 0 要求格式為 1111 0000 1100 B,即 0F00CH綜上可知:TLX=0CH, THX=0F0H3. 分析下列程序的功能(5 分)PUSH ACCPUSH BPOP ACCPOP B解: 該程序的功能是通過(guò)累加器 ACC 與寄存器 B 數(shù)據(jù)交換。五、簡(jiǎn)述 MCS-51 系列單片機(jī)主從結(jié)構(gòu)多機(jī)通信原理,設(shè)有一臺(tái)主機(jī)與三臺(tái)從機(jī)通信,其中一臺(tái)從機(jī)通信地址號(hào)為 01H,請(qǐng)敘述主機(jī)呼叫從機(jī)并向其傳送一個(gè)字節(jié)數(shù)據(jù)的過(guò)程。(請(qǐng)給出原理圖) (10 分) 解:原理圖如上圖所示,假設(shè)主機(jī)呼叫 01H 從機(jī),首先呼叫:主機(jī)發(fā)送地址幀 0000 00011(TB8)此時(shí)各從機(jī)的 SM2 位置

5、 1,且收到的 RB8=1,故激活 RI。各從機(jī)將接收到的地址與地機(jī)地址比較,結(jié)果 1#機(jī)被選中,則其 SM2 清零;0#、2#機(jī)不變。接著傳數(shù);主機(jī)發(fā)送數(shù)據(jù)幀, 0 ,此時(shí) 1#機(jī) SM2=0, RB8=0 則激活 RI,而 0#,2#機(jī) SM2=1,RB8=0 則不激活 RI,然后數(shù)據(jù)進(jìn)入 1#機(jī)的緩沖區(qū)。六、簡(jiǎn)述一種多外部中斷源系統(tǒng)的設(shè)計(jì)方法。(給出圖和程序)(10 分)答:原理電路如圖所示:程序如下:INT:PUSH PSW PUSHJNB P1.0, IR0 ;掃描中斷請(qǐng)求JNB P1.1 , IR1JNB P1.2, IR2JNB P1.3, IR3INTIR:POP;返回POPS

6、WIR0: 中斷服務(wù)子程序 ;中斷服務(wù) AJMP INTIRIR1: 中斷服務(wù)子程序 AJMP INTIRIR2: 中斷服務(wù)子程序 AJMP INTIRIR3: 中斷服務(wù)子程序 AJMP INTIP七、簡(jiǎn)述行列式掃描鍵盤(pán)的工作原理。(8 分)TXDRXD8031主機(jī)TXD RXD 00HTXD RXD01HTXD RXD 02HTXD RXD 03H從機(jī) 從機(jī) 從機(jī) 從機(jī) 答: 掃描鍵盤(pán)工作原理(1) 首先 X0X3,始終接高電平,Y0Y3 給低電平,掃描 P1.0P1.3 若全為高電平,則沒(méi)有鍵按下,若有低電平,則有鍵按下。(2) 接著 Y0 輸出低電平,Y1Y3 輸出高平,掃描 P1.0P

7、1.3,若全為高電平,則沒(méi)有鍵按下,若有低電平,則找出相位,得到所按的鍵。(3) 再 Y1 輸出低電平,Y0,Y2,Y3 輸出高電平,重復(fù)第 2 步驟作.(4) 再 Y2 輸出低電平,Y0,Y1,Y3 輸出高電平掃描(5) 再 Y3 輸出低電平,Y0,Y1,Y2 輸出高電平掃描根據(jù)據(jù)以上掃描,確定以上各鍵是否按下。八、請(qǐng)回答:(共 20 分)1、下圖中外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器容量是多少?(2 分)2、三片 6264 的地址范圍分別是多少?(地址線未用到的位填 1) (6 分,)3、若外部程序存儲(chǔ)器已擴(kuò)展(未畫(huà)出) ,請(qǐng)編寫(xiě)程序,要求:(1) 將 30H3FH 中的內(nèi)容送入 6264 1# 的前 1

8、6 個(gè)單元中;(6 分)(2) 將 6264 2# 的前 32 個(gè)單元的內(nèi)容送入 40H5FH 中;(6 分) P2.7 P2.6 P2.5 P2.4 P2.0 ALE 8 80 03 31 1 P0.0 P0.7 RD WR D0 Q0 D7 Q7 G OE A0A7 A8A12 CS 6264 1# CE D0D7 DE WR A0A7 A8A12 CS 6264 2# CE D0D7 DE WR A0A7 A8A12 CS 6264 3# CE D0D7 DE WR 8 5 8 8 8 8 8 373 Vcc Vcc Vcc 解:1.外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器為 3 片 8K 的 RAM,外擴(kuò)

9、容量為 24 K2. A15 A!4 A13 地址范圍 0 1 1 6000H7FFFH 1 0 1 A000HBFFFH 3 (1)程序如下: ORG 0000H RESET:AJMP MAIN ;復(fù)位,轉(zhuǎn)主程序 ORG 0100H MAIN: MOV DPL,#00H ;初始化 DPTR MOV DPH,#60H MOV R0,#30H. ;初始化 R0LOOP: MOV A,R0MOVX DPTR, A INC R0 INC DPTR CJNE R0,#40H,LOOP NOP RET(1)程序如下:ORG 0000HRESET:AJMPMAIN ;轉(zhuǎn)主程序 ORG0100HMAIN:

10、MOVDPL#00H ;初始化 DPTR MOVDPH,#0A0H MOVR0,#40H ;初始化 R0LOOP2: MOVXA,DPTR MOVR0,A INC DPTR INC R0 CJNE R0,#60H,LOOP2 NOP RET 試題 2 一、填空題(24 分,每空 1 分)1AT89S51 單片機(jī)是( 8 )位的單片機(jī)。2AT89S51 單片機(jī)有( 5)個(gè)中斷源, ( 2 )級(jí)優(yōu)先級(jí)中斷。3串行口方式 3 發(fā)送的第 9 位數(shù)據(jù)要事先寫(xiě)入(SCON)寄存器的(TB8)位。4串行口的方式 0 的波特率為 ( fOSC/12 )。5AT89S51 內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址范圍是(00-7F

11、H ) ,位地址空間的字節(jié)地址范圍是(20-2FH ) ,對(duì)應(yīng)的位地址范圍是(00-7FH)外部數(shù)據(jù)存儲(chǔ)器的最大可擴(kuò)展容量是(64KB ) 。6在內(nèi)部 RAM 中可位尋址區(qū)中,位地址為 40H 的位,該位所在字節(jié)的字節(jié)地址為( 28H ) 。7如果(A)=58H,(R1)= 49H,(49H)= 79H,執(zhí)行指令 XCH A, R1 后;結(jié)果(A)=( 79 H ) ,(49H)=( 58H )。8利用 81C55 可以擴(kuò)展( 3 )個(gè)并行口, (256)個(gè) RAM 單元。9當(dāng)單片機(jī)復(fù)位時(shí) PSW(00)H,SP=(07H) ,P0P3 口均為(高)電平。10若 A 中的內(nèi)容為 88H,那么,

12、P 標(biāo)志位為( 0 ) 。11當(dāng) AT89S51 執(zhí)行 MOVC A,A+ DPTR 指令時(shí),伴隨著(PSEN*)控制信號(hào)有效。12AT89S51 訪問(wèn)片外存儲(chǔ)器時(shí),利用(ALE)信號(hào)鎖存來(lái)自(P0 口)發(fā)出的低 8 位地址信號(hào)。13已知 fosc=12MHz, T0 作為定時(shí)器使用時(shí),其定時(shí)時(shí)間間隔為( 1us )14若 AT89S51 外擴(kuò) 8KB 程序存儲(chǔ)器的首地址若為 1000H,則末地址為2FFFH。二、判斷對(duì)錯(cuò),1AT89S51 單片機(jī)可執(zhí)行指令:MOV 35H,R3。 ( )28031與8751的區(qū)別在于內(nèi)部是否有程序存儲(chǔ)器。 ( )3當(dāng)向堆棧壓入一個(gè)字節(jié)的數(shù)據(jù)后,SP 中的內(nèi)容

13、減 1。 ()4程序計(jì)數(shù)器 PC 中裝的內(nèi)容是當(dāng)前正在執(zhí)行指令的地址。 ()5某特殊功能寄存器的字節(jié)地址為 80H,它即能字節(jié)尋址,也能位尋址。()6AT89S51 單片機(jī)中的 PC 是不可尋址的。 ()7當(dāng) AT89S51 執(zhí)行 MOVX DPTR,A 指令時(shí),伴隨著 WR*信號(hào)有效。()8AT89S51 的定時(shí)器/計(jì)數(shù)器對(duì)外部脈沖進(jìn)行計(jì)數(shù)時(shí),要求輸入的計(jì)數(shù)脈沖的高電平或低電平的持續(xù)時(shí)間不小于 1 個(gè)機(jī)器周期。 ()9區(qū)分外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的最可靠的方法是看其是被 WR*還是被PSEN*信號(hào)連接。 ()10.各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在 AT89S51 的 TCON 寄存器

14、中。三、簡(jiǎn)答題1 如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H,則執(zhí)行下列指令后:POPDPHPOPDPLRET則:(PCH) =_34H_;(PCL)=_12H_;(DPH)=_80H_;(DPL)=_50H_;2AT89S51 采用 6MHz 的晶振,定時(shí) 2ms,如用定時(shí)器方式 1 時(shí)的初值(16進(jìn)制數(shù))應(yīng)為多少?(寫(xiě)出計(jì)算過(guò)程) (6 分)答:機(jī)器周期 6106=210-6s=2uS又方式 1 為 16 進(jìn)制定時(shí)器.故 (216X)210-6=210-3=216-X=1000=X=65536-1000=

15、64536 即初值=FC18H3AT89S51外擴(kuò)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器可以有相同的地址空間,但不會(huì)發(fā)生數(shù)據(jù)沖突,為什么?(6分)答:不發(fā)生數(shù)據(jù)沖突的原因是:AT89S51 中訪問(wèn)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的指令不一樣。選通信號(hào)也就不一樣,前者為 PSEN,后者為 WR 與 RD。程序存儲(chǔ)器訪問(wèn)指令為 MOVC A,DPTR;MOVC A,A+pc。數(shù)據(jù)存儲(chǔ)器訪問(wèn)指令為:MOVX A,DPTR; MOVX A,Ri; MOVX DPTR,A。4說(shuō)明 AT89S51 的外部引腳 EA*的作用?(4 分)答:當(dāng) EA*為高電平時(shí),AT89S51 訪問(wèn)內(nèi)部程序存儲(chǔ)器,但當(dāng)?shù)刂反笥?0FFF 時(shí),自動(dòng)轉(zhuǎn)

16、到外部程序存儲(chǔ)器;當(dāng) EA*為低電平時(shí),AT89S51 只讀取外部程序存儲(chǔ)器。5寫(xiě)出 AT89S51 的所有中斷源,并說(shuō)明說(shuō)明哪些中斷源在響應(yīng)中斷時(shí),由硬件自動(dòng)清除,哪些中斷源必須用軟件清除,為什么?(6 分)答: 外部中斷 INT0*,定時(shí)器/計(jì)數(shù)器中斷 T0,外部中斷 INT1*,定時(shí)器/計(jì)數(shù)器中斷 T1,串行口中斷 其中串行口中斷 TI 與 RI 必須用軟件清“0”,因?yàn)榇谥袛嗟妮敵鲋袛酁?TI,輸入中斷為 RI,故用軟件清“0” 。四、下圖為某 AT89S51 應(yīng)用系統(tǒng)的 3 位 LED 8 段共陽(yáng)極靜態(tài)顯示器的接口電路,(1)該靜態(tài)顯示器電路與動(dòng)態(tài)掃描的顯示器電路相比有哪些優(yōu)缺點(diǎn)?

17、(2)寫(xiě)出顯示字符“3” 、 “8” 、 “5”的段碼,注意:段碼的最低位為“a” 段,段碼的最高位為“dp” 段(3)已知 8255A 的 PA 口、PB 口和 PC 口的地址分別為FF7CH、FF7DH、FF7EH,且 8255A 的這 3 個(gè)端口均已被編寫(xiě)完畢的初始化程序初始化為方式 0 輸出,請(qǐng)編寫(xiě)出使 3 位 LED 共陽(yáng)極顯示器從左至右顯示“3.85”的程序段。 (14 分)解:(1) 優(yōu)點(diǎn)是:亮度高,字符不閃爍,占用 CPU 資源少。缺點(diǎn)是:占用的 I/O 口太多,當(dāng)需要的 LED 數(shù)目較多時(shí),需要外擴(kuò)展的 I/0 口。(2) 3.:B0H 8:80H 5:92H(3) MOV

18、DPTR,#0FF7CHMOV A,#30HMOVX DPTR,AMOV DPTR,#0FF7DHMOV A ,#80HMOVX DPTR,AMVOX DPTR,#0FF7EHMOV A,#92HMOVX DPTR,ARET五、畫(huà)出 AT89S51 系列單片機(jī)利用串行口進(jìn)行 1 臺(tái)主機(jī)與 4 臺(tái)從機(jī)多機(jī)串行通訊連線圖,其中 1 臺(tái)從機(jī)通訊地址號(hào)為 02H,請(qǐng)敘述主機(jī)向 02H 從機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù)的過(guò)程(10 分)答:主機(jī)發(fā)送數(shù)據(jù)過(guò)程如下:(1)將從機(jī) 0003H 的 REN 置 1,SM2=1,并使它們工作在串行口工作方式 2或 3。(2)由主機(jī)向 4 個(gè)從機(jī)發(fā)出一幀地址址信息 02H,第

19、9 位為 1。從機(jī)接到信息后均發(fā)生中斷,執(zhí)行中斷服務(wù)程序,將 02H 與自身地址做比較。若相同,則清SM2=0,若不同則 SM2 不變?nèi)詾?1。(3)主機(jī)發(fā)送一幀數(shù)據(jù)信息,第 9 位為 0,從機(jī)接到信息后,只有 SM2=0 的從機(jī)發(fā)生中斷,將數(shù)據(jù)信息收取,其余 SM2=1 的從機(jī)不放出中斷,信息丟失,從而實(shí)現(xiàn)主機(jī)向 02H 從機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù)的功能。abcdefgdp8255APBPCPA來(lái)自AT89S51+5V82C55六、請(qǐng)回答:(共 16 分)1下圖中外部擴(kuò)展的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器容量各是多少?(2 分)2兩片存儲(chǔ)器芯片的地址范圍分別是多少?(地址線未用到的位填 1) (6 分,)3

20、請(qǐng)編寫(xiě)程序,要求:(1)將內(nèi)部 RAM 30H3FH 中的內(nèi)容送入 1# 6264 的前 16 個(gè)單元中;(4 分)(2)將 2# 6264 的前 4 個(gè)單元的內(nèi)容送入 40H43 中;(4 分)解: 1. 外擴(kuò)程序存儲(chǔ)器的容量是 8K,外擴(kuò)數(shù)據(jù)存儲(chǔ)器的容量是 16K2. 2764 范圍:C000HDFFFH1#范圍: A000HBFFFH2#范圍: 6000H7FFFH3請(qǐng)編寫(xiě)程序(1)MOV R1 ,#10H MOV DPTR, #0A000H MOV R0,#30H LOOP:MOVA,R0 MOVX DPTR,AINC DPTR INC R0 DJNZ R1,LOOPRET(2)MOV

21、 R1,#04H MOV DPTR,#6000H MOV R0 ,#40HLOOP:MOVX A ,DPTRPSENCEWRP2.7P2.6P2.5P2.4P2.0AT89S51D0-D7OED0-D7OE2764 CEA8-A12A0-A7OE74LS373Q0Q7D0D7GALEP0.7P0.08888855588+5VWR2# 6264 CSCEA8-A12A0-A7+5VWRCSA8-A12A0-A7OEOE1# 6264 RD58 MOV R0 ,A INC DPTR INC R0 DJNZ R1,LOOP RET試題 3 參考答案一、填空題(31 分,每空 1 分)1AT89S51

22、 單片機(jī)有( 2 )級(jí)優(yōu)先級(jí)中斷。2串行口方式 2 接收到的第 9 位數(shù)據(jù)送 SCON 寄存器的 RB8 位中保存。3當(dāng)單片機(jī)復(fù)位時(shí) PSW(00)H,這時(shí)當(dāng)前的工作寄存器區(qū)是(0)區(qū),R6 所對(duì)應(yīng)的存儲(chǔ)單元地址為(06)H。4利用 82C55 可以擴(kuò)展(3)個(gè)并行口,其中(8)條口線具有位操作功能;5AT89S51 訪問(wèn)片外存儲(chǔ)器時(shí),利用(ALE)信號(hào)鎖存來(lái)自( P0 口 )發(fā)出的低 8 位地址信號(hào)。6若AT89S51外擴(kuò)32KB 數(shù)據(jù)存儲(chǔ)器的首地址若為4000H,則末地址為BFFFH。7當(dāng) AT89S51 執(zhí)行 MOVC A,A+PC 指令時(shí),伴隨著(PSEN*)控制信號(hào)有效。8若 A 中

23、的內(nèi)容為 67H,那么,P 標(biāo)志位為(1) 。9AT89S51 單片機(jī)的通訊接口有(串行)和(并行)兩種形式。在串行通訊中,發(fā)送時(shí)要把(并行)數(shù)據(jù)轉(zhuǎn)換成(串行)數(shù)據(jù)。接收時(shí)又需把(串行)數(shù)據(jù)轉(zhuǎn)換成(并行)數(shù)據(jù)。10AT89S51 內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址范圍是(00-7FH ) ,位地址空間的字節(jié)地址范圍是(00-2FH) ,對(duì)應(yīng)的位地址范圍是(00-7FH ) ,外部數(shù)據(jù)存儲(chǔ)器的最大可擴(kuò)展容量是(64KB) 。11AT89S51 單片機(jī)指令系統(tǒng)的尋址方式有(寄存器尋址方式) 、 (直接尋址方式) 、 (立即尋址方式) 、 (寄存器間接尋址方式) 、 (位尋址方式) 、 (基址寄存器加變址寄存器)

24、 、 (相對(duì)尋址方式) 。12AT89S51 內(nèi)部提供(2)個(gè)可編程的(16)位定時(shí)/計(jì)數(shù)器,定時(shí)器有(4)種工作方式。二、判斷對(duì)錯(cuò)1AT89S51 的定時(shí)器/計(jì)數(shù)器對(duì)外部脈沖進(jìn)行計(jì)數(shù)時(shí),要求輸入的計(jì)數(shù)脈沖的高電平或低電平的持續(xù)時(shí)間不小于 1 個(gè)機(jī)器周期。 ()2判斷指令的正誤:MOVT0,#3CF0H;()3定時(shí)器 T0 中斷可以被外部中斷 0 中斷()4指令中直接給出的操作數(shù)稱(chēng)為直接尋址。 ()5內(nèi)部 RAM 的位尋址區(qū),既能位尋址,又可字節(jié)尋址。 ()6特殊功能寄存器 SCON 與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。 ()7當(dāng) AT89S51 執(zhí)行 MOVX A,R1 指令時(shí),伴隨著 WR*信號(hào)有

25、效。 ()8串行口工作方式 1 的波特率是固定的,為 fosc/32。 ()9區(qū)分外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的最可靠的方法是看其是被 RD*還是被 PSEN*信號(hào)連接。 ()10逐次比較型 A/D 轉(zhuǎn)換器與雙積分 A/D 轉(zhuǎn)換器比較,轉(zhuǎn)換速度比較慢。()三、簡(jiǎn)答題1AT89S51 采用 12MHz 的晶振,定時(shí) 1ms,如用定時(shí)器方式 1 時(shí)的初值(16 進(jìn)制數(shù))應(yīng)為多少?(寫(xiě)出計(jì)算過(guò)程) (6 分)解:采用 12MHZ的晶振,Tcy=1/fosc12=1/1210-612=1us采用定時(shí)器方式 1(為 16 位)定時(shí) 1ms,設(shè)初值為 X,則:(216-X)110-6=110-3則=X=64

26、536 將其轉(zhuǎn)換成二進(jìn)的為:1111110000011000再將其轉(zhuǎn)化為 16 進(jìn)制數(shù)為:FC18初值為 TXH=FCH TXL=18H2中斷服務(wù)子程序返回指令 RETI 和普通子程序返回指令 RET 有什么區(qū)別?答:RETI 除了將壓棧的內(nèi)容出棧外(即現(xiàn)場(chǎng)恢復(fù)) ,還清除在中斷響應(yīng)時(shí)被置 1 的AT89S51 內(nèi)部中斷優(yōu)先級(jí)寄存器的優(yōu)先級(jí)狀態(tài)。3AT89S51 外擴(kuò)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器可以有相同的地址空間,但不會(huì)發(fā)生數(shù)據(jù)沖突,為什么?(6 分)答:AT89S51 外擴(kuò)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器可以有相同的地址空間,但不會(huì)發(fā)生數(shù)據(jù)沖突。這是因?yàn)樗鼈兊目刂菩盘?hào)不同:(1) 外擴(kuò)程序存儲(chǔ)器是 P

27、SEN*信號(hào)為其控制信號(hào),外擴(kuò)數(shù)據(jù)存儲(chǔ)器是 RD*與 WR*信號(hào)為其控制信號(hào)(2) 指令不同,程序存儲(chǔ)器用 MOVC 讀取,數(shù)據(jù)存儲(chǔ)器用 MOVX 存取5LED 的靜態(tài)顯示方式與動(dòng)態(tài)顯示方式有何區(qū)別?各有什么優(yōu)缺點(diǎn)?(4 分)答:靜態(tài):顯示期間,鎖存器輸出的段碼不變;亮度大,各位 LED 的段選分別控制;位數(shù)多硬件電路復(fù)雜動(dòng)態(tài):所有位段碼線并連一起,各位的亮滅靠片選控制端控制,亮度較低,多位控制電路簡(jiǎn)單四、程序分析:(10 分)外部 RAM 3000H,3001H 單元的內(nèi)容分別為 55H,0DDH,試分析如下程序,并回答問(wèn)題。程序 1: MOV DPTR,#3000H MOV R1,#40H

28、 MOVX A ,DPTR MOV R1,AINC R1INC DPTRMOVX A,DPTR MOV R1,A問(wèn)題 1:若執(zhí)行上述程序,則結(jié)束后,DPTR 值為 3001H,R1 的內(nèi)容為 41H ,8031 內(nèi)部 RAM41H 單元的內(nèi)容 DDH,40H 單元內(nèi)容為_(kāi)55H_。在上程序中,若繼續(xù)執(zhí)行如下程序程序 2:START:MOV DPTR,#3000H MOV R1 ,#40H MOV A,R1 MOVX DPTR,A問(wèn)題 2、START 執(zhí)行結(jié)束后,DPTR 的值為_(kāi)3000H_,3000H 單元的內(nèi)容為_(kāi)55H_,R1 的內(nèi)容為_(kāi)40H_。問(wèn)題 3:執(zhí)行如下程序,填出 A 寄存器

29、的內(nèi)容。4000H3001H3000HDD55程序 3、MOV A、#88HMOV R7,#AAHORL A、R7 :A 的內(nèi)容為:_AAH_MOV A,#37HMOV R7,#89HANL A,R7 A 的內(nèi)容為:_01H _XRL A,R7 A 的內(nèi)容為:_88H _RET五、簡(jiǎn)述一種多外部中斷源系統(tǒng)的設(shè)計(jì)方法。 (給出圖和程序) (10 分)答:程序如下:ORG 0013H ;的中斷入口 LJMP INT1 ; INT1: PUSH PSW ;保護(hù)現(xiàn)場(chǎng) PUSH ACC JB P1.0,IR1 ;P1.0 高,IR1 有請(qǐng)求 JB P1.1,IR2 ;P1.1 高,IR2 有請(qǐng)求 JB

30、P1.2,IR3 ;P1.2 腳高,IR1 有請(qǐng)求 JB P1.3,IR4 ;P1.4 腳高,IR4 有請(qǐng)求INTIR: POP ACC ;恢復(fù)現(xiàn)場(chǎng) POP PSW RETI ;中斷返回IR1: IR1 的中斷處理程序 AJMP INTIR ; IR1 中斷處理完畢,跳標(biāo)號(hào) INTIR 處執(zhí)行 IR2:IR2 的中斷處理程序 AJMP INTIR ;IR2 中斷處理完畢,跳標(biāo)號(hào) INTIR 處執(zhí)行IR3: IR3 的中斷處理程序 AJMP INTIR ;IR3 中斷處理完畢,跳標(biāo)號(hào) INTIR 處執(zhí)行 IR4: IR4 的中斷處理程序AJMP INTIR ;IR4 中斷處理完畢,跳標(biāo)號(hào) INT

31、IR 處執(zhí)行六、請(qǐng)回答:(共 14 分)1下圖中外部擴(kuò)展的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器容量各是多少?(2 分)2三片存儲(chǔ)器芯片的地址范圍分別是多少?(地址線未用到的位填 1) 3請(qǐng)編寫(xiě)程序,要求:將內(nèi)部 RAM 40H-4FH 中的內(nèi)容送入 1# 6264 的前 16 個(gè)單元中;將 2# 6264 的前 4 個(gè)單元的內(nèi)容送入 50H-53H 中;解:1解外部擴(kuò)展的程序存儲(chǔ)器容量為:8KB 外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器容量為:8KB2=16kb2. 程序存儲(chǔ)器 2764 地址的高 3 位:A15 A14 A130 0 0地址范圍為:0000H-1FFFH 數(shù)據(jù)存儲(chǔ)器 1#6264 地址高 3 位:A15 A1

32、4 A130 1 1地址范圍為:6000H-7FFFH 數(shù)據(jù)存儲(chǔ)器 2#6264 地址范圍為:A15 A14 A13 1 0 1地址范圍為:A000H-BFFFH3編寫(xiě)程序(1) MOV RO, #40H MOV DPTR, #6000H ;設(shè)置數(shù)據(jù)指針為 6000H LOOP:MOV A, RO ; 將片內(nèi) RAM(40-4FH)中的內(nèi)容送入 A 中 MOVX DPTR,A ; 將 ADPTR 中 INC RO INC DPTR CJNE RO,#50H,LOOP ; 將此子程序循環(huán)執(zhí)行 16 次 RET(2) MOV RO, #50H MOV DPTR, #0A000H ; 設(shè)置數(shù)據(jù)指針為

33、 A000H LOOP: MOVX A, DPTR MOVX RO,A ; 將外部數(shù)據(jù)存儲(chǔ)器內(nèi)容送入到片內(nèi)中 INC RO INC DPTR CJNE RO,#54H,LOOP ; 將此子程序循環(huán)執(zhí)行 4 次 RET試題 4 參考答案一、填空題(37 分)1. AT89S51 單片機(jī)芯片共有 40 個(gè)引腳,MCS-51 系列單片機(jī)為 8 位單片機(jī)。2. AT89S51 的異步通信口為全雙工(單工/半雙工/全雙工) ,3. AT89S51 內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址范圍是 00H-7FH,位地址空間的字節(jié)地址范圍是 20H-2FH,對(duì)應(yīng)的位地址范圍是 00H-7FH,外部數(shù)據(jù)存儲(chǔ)器的最大可擴(kuò)展容量是

34、64K 字節(jié)。4. 單片機(jī)也可稱(chēng)為微控制器 或 嵌入式控制器。PSENCEWRP2.7P2.6P2.5P2.4 P2.0AT89S51D0-D7OED0-D7OE2764 CEA8-A12A0-A7OEQ0Q7D0D7GALEP0.7P0.08888855588+5VWR2# 6264 CSCEA8-A12A0-A7+5VWRCSA8-A12A0-A7OEOE1# 6264 RD585當(dāng) MCS-51 執(zhí)行 MOVC A,A+PC 指令時(shí),伴隨著 PSEN*控制信號(hào)有效。6. 當(dāng)單片機(jī)復(fù)位時(shí) PSW00 H,這時(shí)當(dāng)前的工作寄存器區(qū)是 0 區(qū),R4 所對(duì)應(yīng)的存儲(chǔ)單元地址為 04 H。7. MCS

35、-51 系列單片機(jī)指令系統(tǒng)的尋址方式有 寄存器尋址 、直接尋址、 寄存器間接尋址、立即尋址、 基址加變址 、 位尋址 。 (相對(duì)尋址也可)8. 51 系列單片機(jī)的典型芯片分別為 AT89S51 、8031 、AT89C51 。9. AT89S51 的 P3 口為雙功能口;10. 由 AT89S51 組成的單片機(jī)系統(tǒng)在工作時(shí),EA*引腳應(yīng)該接 地(或 0) ;11. AT89S51 外部程序存儲(chǔ)器的最大可擴(kuò)展容量是 64K ,其地址范圍是 0000H - FFFFH 。ROM 芯片 2764 的容量是 8 KB,若其首地址為 0000H,則其末地址 1FFFH 。12. AT89S51 的中斷源

36、有 外中斷 0, T0 ,外中斷 1, T1,串行口,有 2個(gè)中斷優(yōu)先級(jí)。13. AT89S51 唯一的一條 16 位數(shù)據(jù)傳送指令為 MOV DPTR,data16。14. LJMP 的跳轉(zhuǎn)范圍是 64K,AJMP 的跳轉(zhuǎn)范圍是 2K B,SJMP 的跳轉(zhuǎn)范圍是 128 B(或 256B) 。15. 若 A 中的內(nèi)容為 68H,那么 P 標(biāo)志位為 1。二、簡(jiǎn)答題(13 分)1. 采用 6MHz 的晶振,定時(shí) 2ms,用定時(shí)器方式 1 時(shí)的初值應(yīng)為多少?(請(qǐng)給出計(jì)算過(guò)程) (6 分)答:(1) Ts=2us (216X)2us2ms 從而 X64536(2) 64536FC18H2. AT89S

37、51外擴(kuò)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器可以有相同的地址空間,但不會(huì)發(fā)生數(shù)據(jù)沖突,為什么?(4分)答:因?yàn)樵L問(wèn)外擴(kuò)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器執(zhí)行的指令不同,所發(fā)出的控制信號(hào)也就不同。 (2分)讀外部數(shù)據(jù)存儲(chǔ)器時(shí),RD*信號(hào)有效。寫(xiě)外部數(shù)據(jù)存儲(chǔ)器時(shí),WR*信號(hào)有效。而讀外部程序存儲(chǔ)器時(shí),PSEN*信號(hào)有效。由于發(fā)出的控制信號(hào)不同,且只能有一種信號(hào)有效,因此,即使MCS-51外擴(kuò)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器有相同的地址空間,也不會(huì)發(fā)生數(shù)據(jù)沖突。 (2分)3說(shuō)明 AT89S51 的外部引腳 EA*的作用?(3 分)答: EA*是內(nèi)外程序存儲(chǔ)器選擇控制信號(hào)。 (1 分)當(dāng) EA*0 時(shí),只選擇外部程序存儲(chǔ)器。 (1

38、 分)當(dāng) EA*1 時(shí),當(dāng) PC 指針0FFFH 時(shí),只訪問(wèn)片內(nèi)程序存儲(chǔ)器;當(dāng) PC 指針0FFFH 時(shí),則訪問(wèn)外部程序存儲(chǔ)器(1 分)三、編寫(xiě)程序,將外部數(shù)據(jù)存儲(chǔ)器中的5000H50FFH單元全部清零(10分)。 答: ORG *H (1分) MOV DPTR #5000HMOV R0,#00HCLR A (3分) LOOP : MOVX DPTR,A INC DPTR (3分) DJNZ R0,LOOP (2分)HERE: SJMP HERE (RET 或 SJMP $ 等)(1 分)四、簡(jiǎn)述 AT89S51 單片機(jī)主從結(jié)構(gòu)多機(jī)通信原理,設(shè)有一臺(tái)主機(jī)與三臺(tái)從機(jī)通信,其中一臺(tái)從機(jī)通信地址號(hào)為

39、 01H,請(qǐng)敘述主機(jī)呼叫從機(jī)并向其傳送一個(gè)字節(jié)數(shù)據(jù)的過(guò)程。(請(qǐng)給出原理圖) (10 分)答: 1) 原理圖 (2 分)2) 將所有從機(jī)的 REN、SM2 置 1 (1 分) 工作在方式 2 或 3 (1 分)3)主機(jī)發(fā)送一個(gè)地址楨 01H (1 分) 第 9 位為 1 即 TB8=1 (1 分)4) 各從機(jī)接收到后,都發(fā)生中斷,進(jìn)入中斷服務(wù)程序,比較自己的地址與01H 是否相同,若相同則將本機(jī) SM2 置 0,否則仍為 1 (1 分)5)主機(jī)發(fā)送數(shù)據(jù)楨,TB8=0 (1 分) 各從機(jī)接收該數(shù)據(jù)楨,從機(jī)中 SM2 為0 的產(chǎn)生中斷,而其它 SM2 為 1 的從機(jī)不產(chǎn)生中斷將信息丟棄,從而實(shí)現(xiàn)主機(jī)

40、與從機(jī)傳遞數(shù)據(jù) (2 分)五、簡(jiǎn)述行列式掃描鍵盤(pán)的工作原理。 (10 分)答:1)首先判斷有無(wú)鍵按下: (3 分)將列線全部置 0,讀行線狀態(tài),若 P1.0P1.3 全為 1,則表明無(wú)鍵按下,若出現(xiàn)低電平即 0,則有鍵按下,記錄下行號(hào) i ;2) 其次,如有鍵按下,判斷具體鍵號(hào) (7 分)方法如下:逐列為低,其它為高,再讀行線狀態(tài),如出現(xiàn)哪一行為低,記錄此時(shí)的列號(hào) j , 則證明第 i 行第 j 列的按鍵被按下,至此完成鍵盤(pán)的行列式掃描。七、回答下列問(wèn)題并寫(xiě)出簡(jiǎn)要分析過(guò)程(15 分) 。 TXD RXDMCS-51單片機(jī)RXD TXD 00HRXD TXD 01HRXD TXD 02HRXD

41、TXD 03H1圖 1(a)所示為某微機(jī)中存儲(chǔ)器的地址空間分布圖。圖 1(b)為存儲(chǔ)器的地址譯碼電路,為使地址譯碼電路按圖 1(a)所示的要求進(jìn)行正確尋址(設(shè) CPU 的地址線為 16 條) ,要求在答題紙上畫(huà)出:(1) A 組跨接端子的內(nèi)部正確連線圖?(4.5 分)并簡(jiǎn)要分析(3 分)(2) B 組跨接端子的內(nèi)部正確連線圖?(4.5 分)并簡(jiǎn)要分析(3 分)(注:74LS139 是 2-4 譯碼器,A 為低端,B 為高端,使能端 G 接地表示譯碼器處于正常譯碼狀態(tài)) 。答:連線部分:A組跨接端子與B組跨接端子的各自連接如圖1(b)所示。連對(duì)1根線給1.5分。注意:連線部分是簡(jiǎn)答的前提。試題

42、5 參考答案一、填空(30 分,每空 1 分)1. 如果(A)=45H,(R1)=20H,(20H)=12H,執(zhí)行 XCHD A, R1;結(jié)果(A)= 42H ,(20H)= 15H 2. AT89S51 的異步通信口為 全雙工 (單工/半雙工/全雙工) ,若傳送速率為每秒 120 幀,每幀 10 位,則波特率為 1200 bit/s 3. AT89S51 內(nèi)部數(shù)據(jù)存儲(chǔ)器的位地址空間的字節(jié)地址范圍是 20H-2FH ,對(duì)應(yīng)的位地址范圍是 00H-FFH。4. 單片機(jī)也可稱(chēng)為 微控制器 或 嵌入式控制器 5. 當(dāng) MCS-51 執(zhí)行 MOVX A,R1 指令時(shí),伴隨著 RD 控制信號(hào)有效。6.

43、當(dāng)單片機(jī)的 PSW01H 時(shí),這時(shí)當(dāng)前的工作寄存器區(qū)是 0 區(qū),R4 所對(duì)應(yīng)的存儲(chǔ)單元地址為 04 H7. AT89S51 的 P0 口為高 8 位地址總線口。8. 設(shè)計(jì)一個(gè)以 AT89C51 單片機(jī)為核心的系統(tǒng),如果不外擴(kuò)程序存儲(chǔ)器,使其內(nèi)部 4KB 閃爍程序存儲(chǔ)器有效,則其 EA* 引腳應(yīng)該接 +5V 9. 在 R7 初值為 00H 的情況下,DJNZ R7,rel 指令將循環(huán)執(zhí)行 256 ROM1ROM2空RAM1RAM2存儲(chǔ)器地址0000H4000H8000HC000HE000HFFFFH圖 1(a) 地址空間圖 1(b) 地址譯碼電路12345678910111213141516Y0

44、Y1Y2Y3GBAA 組跨接端子B 組跨接端子74LS139芯片選擇ROM2ROM1RAM2RAM1A15A12A13A14地址譯碼電路地址譯碼電路12345678910111213141516Y0Y1Y2Y3GBAA 組跨接端子B 組跨接端子74LS139芯片選擇ROM2ROM1RAM2RAM1A15A12A13A14次。10. 欲使 P1 口的低 4 位輸出 0,高 4 位不變,應(yīng)執(zhí)行一條 ANL P1, #0F0H 命令。11. 單片機(jī)外部三大總線分別為 數(shù)據(jù)總線、地址總線和控制總線。12. 數(shù)據(jù)指針 DPTR 有 16 位,程序計(jì)數(shù)器 PC 有 16 位13. 74LS138 是具有

45、3 個(gè)輸入的譯碼器芯片,用其輸出作片選信號(hào),最多可在 8 塊芯片中選中其中任一塊。MCS51 指令系統(tǒng)中,ADD 與 ADDC 指令的區(qū)別是 進(jìn)位位 Cy 是否參與加法運(yùn)算 特殊功能寄存器中,單元地址低位為 0 或 8 的特殊功能寄存器,可以位尋址。開(kāi)機(jī)復(fù)位后,CPU 使用的是寄存器第 0 組,地址范圍是 00H-07H 14. 若某存儲(chǔ)器芯片地址線為 12 根,那么它的存儲(chǔ)容量為 4kB 15. 關(guān)于定時(shí)器,若振蕩頻率為 12MHz,在方式 0 下最大定時(shí)時(shí)間為 8.192ms AT89S51 復(fù)位后,PC 與 SP 的值為分別為 0000H 和 07H 20. LJMP 跳轉(zhuǎn)空間最大可達(dá)到

46、 64K 21. 執(zhí)行如下三條指令后,30H 單元的內(nèi)容是 #0EH M O V R 1,30H M O V 40H,0 E H M O V R 1,40H 二、判斷題(10 分,每題 1 分)1.當(dāng) EA 腳接高電平時(shí),對(duì) ROM 的讀操作只訪問(wèn)片外程序存儲(chǔ)器。 (X )2.必須有中斷源發(fā)出中斷請(qǐng)求,并且 CPU 開(kāi)中斷,CPU 才可能響應(yīng)中斷。(X )3.8155 是一種 8 位單片機(jī)。 (X )4.51 單片機(jī)只能做控制用,不能完成算術(shù)運(yùn)算。 (X )5.單片機(jī)內(nèi)部 RAM 和外部 RAM 是統(tǒng)一編址的,它們的訪問(wèn)指令相同。 (X )6.指令 AJMP 的跳轉(zhuǎn)范圍是 2KB。 ( )7.擴(kuò)展 I/O 口占用片外數(shù)據(jù)存儲(chǔ)器的地址資源。 ( )8.8051 單片機(jī),程序存儲(chǔ)器數(shù)和數(shù)據(jù)存儲(chǔ)器擴(kuò)展的最大范圍都是一樣的。( ) 9.單片機(jī)系統(tǒng)擴(kuò)展時(shí)使用的鎖存器,是用于鎖存低 8 位地址( ) 10.在 A/D 變換時(shí),轉(zhuǎn)換頻率越高越好。 (X ) 三、簡(jiǎn)答題(18 分)1、采用 6MHz 的晶振,定時(shí) 5ms,用定時(shí)器方式 1 時(shí)的初值應(yīng)為多少?2、答:(1) (216X)2us5ms 65536 2500 = 63036 從而 X63036(2)

溫馨提示

  • 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)論