單片機期末試題(張毅剛版)_第1頁
單片機期末試題(張毅剛版)_第2頁
單片機期末試題(張毅剛版)_第3頁
單片機期末試題(張毅剛版)_第4頁
單片機期末試題(張毅剛版)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

試題試題 1 1 參考答案參考答案 一、填空題(25 分,每空 1 分) 1. AT89S51 單片機為 8 位單片機 2. MCS-51 系列單片機的典型芯片分別為 80318031 、 80518051 、 87518751 。 3. AT89S51 的異步通信口為 全雙工全雙工 (單工/半雙工/全雙工) 4. AT89S51 有 2 級中斷, 5 個中斷源 5. AT89S51 內(nèi)部數(shù)據(jù)存儲器的地址范圍是 00H7FH ,位地址空間的字節(jié)地址范圍 是 20H2FH ,對應(yīng)的位地址范圍是 00H7FH ,外部數(shù)據(jù)存儲器的最大可擴展容量是 64K。 6. AT89S51 單片機指令系統(tǒng)的尋址方式有_寄存器尋址寄存器尋址_、_直接尋址直接尋址_、_寄存寄存 器間接尋址器間接尋址_、_立即尋址立即尋址_、 基址寄存器加變址寄存器尋址基址寄存器加變址寄存器尋址 。 7. 如果(A)=34H,(R7)=0ABH,執(zhí)行 XCH A, R7;結(jié)果(A)= 0ABH , (R7)= 34H 。 8. 82C55 可以擴展3個并行口,其中8條口線具有位操作功能; 9. 當(dāng)單片機復(fù)位時 PSW00 H,這時當(dāng)前的工作寄存器區(qū)是 0 區(qū),R4 所對應(yīng)的存儲單 元地址為04 H。 10. 若 A 中的內(nèi)容為 67H,那么,P 標志位為1。 11. 74LS138 是具有 3 個輸入的譯碼器芯片,其輸出作為片選信號時,最多可以選中 8 片芯 片。 二、判斷以下指令的正誤:(5 分) (1)MOV 28H,R4;( ) (2)INC DPTR;( ) (3)DEC DPTR;( ) (4)CLR R0;( ) (5)MOV T0,#3CF0H; ( ) 三、簡答題 1、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行下列 指令后: POPDPH; POPDPL; POPSP; 則:(DPH)= _3CH_;(DPL)=_5FH_;(SP)=_50H_;(6 分) 2、采用 6MHz 的晶振,定時 1ms,用定時器方式 0 時的初值應(yīng)為多少?(請給出計算過程) (6 分) 解:解:采用 6MHZ 晶振 機器周期為 2us (213-X)210-6=110-3 X=7692(D)=1E0CH=1 1110 0000 1100(B) , 化成方式 0 要求格式為 1111 0000 1100 B 即 0F00CH 綜上可知:TLX=0CH, THX=0F0H 3. 分析下列程序的功能(5 分) PUSH ACC PUSH B POP ACC POP B 解解: 該程序的功能是通過累加器 ACC 與寄存器 B 數(shù)據(jù)交換。 四、圖為 8 段共陰數(shù)碼管,請寫出如下數(shù)值的段碼。 0_ 3FH_1_06H_2_5BH 3_ 4FH_4_ 66H_ 5 6DH_ P_73H_ 7_03H_ 8 _7FH_ C_39H_ 五、簡述 MCS-51 系列單片機主從結(jié)構(gòu)多機通信原理,設(shè)有一臺主機與三臺從機通信,其中 一臺從機通信地址號為 01H,請敘述主機呼叫從機并向其傳送一個字節(jié)數(shù)據(jù)的過程。(請給 出原理圖) (10 分) a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 b a c d e f g h 答:答: 原理圖如上圖所示,假設(shè)主機呼叫 01H 從機,首先呼叫:主機發(fā)送地址幀 0000 00011(TB8)此時各從機的 SM2 位置 1,且收到的 RB8=1,故激活 RI。各從機將接收到的 地址與地機地址比較,結(jié)果 1#機被選中,則其 SM2 清零;0#、2#機不變。接著傳數(shù);主機 發(fā)送數(shù)據(jù)幀, 0 ,此時 1#機 SM2=0, RB8=0 則激活 RI,而 0#,2#機 SM2=1,RB8=0 則不激活 RI,然后數(shù)據(jù)進入 1#機的緩沖區(qū)。 六、簡述一種多外部中斷源系統(tǒng)的設(shè)計方法。(給出圖和程序)(10 分) 答:答:原理電路如圖所示 程序如下: INT: PUSH PSW PUSH JNB P1.0, IR0 ;掃描中斷請求 JNB P1.1 , IR1 JNB P1.2, IR2 JNB P1.3, IR3 INTIR:POP ;返回 POP SW IR0: 中斷服務(wù)子程序 ;中斷服務(wù) AJMP INTIR IR1: 中斷服務(wù)子程序 TXD RXD 8031 主機 TXD RXD 00H TXD RXD 01H TXD RXD 02H TXD RXD 03H 從機 從機 從機 從機 AJMP INTIR IR2: 中斷服務(wù)子程序 AJMP INTIR IR3: 中斷服務(wù)子程序 AJMP INTIP 七、簡述行列式掃描鍵盤的工作原理。(8 分) 答答: : 掃描鍵盤工作原理 (1) 首先 X0X3,始終接高電平,Y0Y3 給低電平,掃描 P1.0P1.3 若全為高電平,則沒有鍵 按下,若有低電平,則有鍵按下。 (2) 接著 Y0 輸出低電平,Y1Y3 輸出高平,掃描 P1.0P1.3,若全為高電平,則沒有鍵按下, 若有低電平,則找出相位,得到所按的鍵。 (3) 再 Y1 輸出低電平,Y0,Y2,Y3 輸出高電平,重復(fù)第 2 步驟作. (4) 再 Y2 輸出低電平,Y0,Y1,Y3 輸出高電平掃描 (5) 再 Y3 輸出低電平,Y0,Y1,Y2 輸出高電平掃描 根據(jù)據(jù)以上掃描,確定以上各鍵是否按下。 八、請回答:(共 20 分) 1、下圖中外部擴展的數(shù)據(jù)存儲器容量是多少?(2 分) 2、三片 6264 的地址范圍分別是多少?(地址線未用到的位填 1) (6 分,) 3、若外部程序存儲器已擴展(未畫出) ,請編寫程序,要求: (1) 將 30H3FH 中的內(nèi)容送入 6264 1# 的前 16 個單元中;(6 分) (2) 將 6264 2# 的前 32 個單元的內(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.外部擴展的數(shù)據(jù)存儲器為 3 片 8K 的 RAM,外擴容量為 24 K 2. 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. ;初始化 R0 LOOP: MOV A,R0 MOVX DPTR, A INC R0 INC DPTR CJNE R0,#40H,LOOP NOP RET (1) 程序如下: ORG 0000H RESET: AJMPMAIN ;轉(zhuǎn)主程序 ORG0100H MAIN: MOVDPL#00H ;初始化 DPTR MOVDPH,#0A0H MOVR0,#40H ;初始化 R0 LOOP2: MOVXA,DPTR MOVR0,A INC DPTR INC R0 CJNE R0,#60H,LOOP2 NOP RET 試題試題 2 2 參考答案參考答案 一、填空題(一、填空題(2424 分,每空分,每空 1 1 分)分) 1AT89S51 單片機是( 8 8 )位的單片機。 2AT89S51 單片機有( 5 5 )個中斷源, ( 2 2 )級優(yōu)先級中斷。 3串行口方式 3 發(fā)送的第 9 位數(shù)據(jù)要事先寫入( SCONSCON )寄存器的( TB8TB8 )位。 4串行口的方式 0 的波特率為 ( f fOSC OSC/12 /12 )。 5AT89S51 內(nèi)部數(shù)據(jù)存儲器的地址范圍是(0000- -7FH7FH ) ,位地址空間的字節(jié)地址范圍是 (20-2FH20-2FH ) ,對應(yīng)的位地址范圍是(00-7FH00-7FH)外部數(shù)據(jù)存儲器的最大可擴展容量是(64KB64KB ) 。 6在內(nèi)部 RAM 中可位尋址區(qū)中,位地址為 40H 的位,該位所在字節(jié)的字節(jié)地址為( 28H28H ) 。 7如果(A)=58H,(R1)= 49H,(49H)= 79H,執(zhí)行指令 XCH A, R1 后;結(jié)果(A)=( 4949 H H ) ,(49H)=( 58H58H )。 8利用 81C55 可以擴展( 3 3 )個并行口, (256256)個 RAM 單元。 9當(dāng)單片機復(fù)位時 PSW ( 0000 )H,SP=( 07H07H ) ,P0P3 口均為( 高高 )電平。 10若 A 中的內(nèi)容為 88H,那么,P 標志位為( 0 0 ) 。 11當(dāng) AT89S51 執(zhí)行 MOVC A,A+ DPTR 指令時,伴隨著( PSEN*PSEN* )控制信號有效。 12AT89S51 訪問片外存儲器時,利用( ALEALE )信號鎖存來自( P0P0 口口 )發(fā)出的低 8 位地址信號。 13已知 fosc=12MHz, T0 作為定時器使用時,其定時時間間隔為( 1us1us ) 。 14若AT89S51外擴8KB 程序存儲器的首地址若為1000H,則末地址為(2FFF2FFF)H。 二、判斷對錯,如對則在(二、判斷對錯,如對則在( )中寫)中寫“”“” ,如錯則在(,如錯則在( )中寫)中寫“”“” 。 (1010 分)分) 1AT89S51 單片機可執(zhí)行指令:MOV 35H,R3。 ( ) 28031與8751的區(qū)別在于內(nèi)部是否有程序存儲器。 ( ) 3當(dāng)向堆棧壓入一個字節(jié)的數(shù)據(jù)后,SP 中的內(nèi)容減 1。 () 4程序計數(shù)器 PC 中裝的內(nèi)容是當(dāng)前正在執(zhí)行指令的地址。 () 5某特殊功能寄存器的字節(jié)地址為 80H,它即能字節(jié)尋址,也能位尋址。 () 6AT89S51 單片機中的 PC 是不可尋址的。 () 7當(dāng) AT89S51 執(zhí)行 MOVX DPTR,A 指令時,伴隨著 WR*信號有效。 () 8AT89S51 的定時器/計數(shù)器對外部脈沖進行計數(shù)時,要求輸入的計數(shù)脈沖的高電平或低電 平的持續(xù)時間不小于 1 個機器周期。 () 9區(qū)分外部程序存儲器和數(shù)據(jù)存儲器的最可靠的方法是看其是被 WR*還是被 PSEN*信號連 接。 () 10各中斷源發(fā)出的中斷請求信號,都會標記在 AT89S51 的 TCON 寄存器中。 () 三、簡答題三、簡答題 1如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H, 則執(zhí)行下列指令后: POPDPH POPDPL RET 則:(PCH) =_34H_;(PCL)=_12H_;(DPH)=_80H_;(DPL)=_50H_;(4 4 分)分) 2AT89S51 采用 6MHz 的晶振,定時 2ms,如用定時器方式 1 時的初值(16 進制數(shù))應(yīng)為 多少?(寫出計算過程) (6 6 分)分) 答:機器周期 6106=210-6s=2uS 又方式 1 為 16 進制定時器.故 (216X)210-6=210-3=216-X=1000 =X=65536-1000=64536 即初值=FC18H 3AT89S51外擴的程序存儲器和數(shù)據(jù)存儲器可以有相同的地址空間,但不會發(fā)生數(shù)據(jù)沖突, 為什么?(6 6分)分) 答:不發(fā)生數(shù)據(jù)沖突的原因是:AT89S51 中訪問程序存儲器和數(shù)據(jù)存儲器的指令不一樣。 選通信號也就不一樣,前者為 PSEN,后者為 WR 與 RD。 程序存儲器訪問指令為 MOVC A,DPTR;MOVC A,A+pc。 數(shù)據(jù)存儲器訪問指令為:MOVX A,DPTR; MOVX A,Ri; MOVX DPTR,A。 4說明 AT89S51 的外部引腳 EA*的作用?(4 分)分) 答:當(dāng) EA*為高電平時,AT89S51 訪問內(nèi)部程序存儲器,但當(dāng)?shù)刂反笥?0FFF 時,自動轉(zhuǎn)到 外部程序存儲器;當(dāng) EA*為低電平時,AT89S51 只讀取外部程序存儲器。 5寫出 AT89S51 的所有中斷源,并說明說明哪些中斷源在響應(yīng)中斷時,由硬件自動清 除,哪些中斷源必須用軟件清除,為什么?(6 分)分) 答: 外部中斷 INT0* 定時器/計數(shù)器中斷 T0 外部中斷 INT1* 定時器/計數(shù)器中斷 T1 串行口中斷 其中串行口中斷 TI 與 RI 必須用軟件清“0”,因為串口中斷的輸出中斷為 TI,輸入中斷為 RI,故用軟件清“0” 。 四、四、下圖為某 AT89S51 應(yīng)用系統(tǒng)的 3 位 LED 8 段共陽極靜態(tài)顯示器的接口電路, (1)該靜 態(tài)顯示器電路與動態(tài)掃描的顯示器電路相比有哪些優(yōu)缺點?(2)寫出顯示字符“3” 、 “8” 、 “5”的段碼,注意:段碼的最低位為“a” 段,段碼的最高位為“dp” 段(3)已知 8255A 的 PA 口、PB 口和 PC 口的地址分別為 FF7CH、FF7DH、FF7EH,且 8255A 的這 3 個端口均已被編寫完畢的初始化程序初始化為方式 0 輸出,請編寫出使 3 位 LED 共陽極顯 示器從左至右顯示“3.85”的程序段。 (1414 分)分) 解:(1) 優(yōu)點是:亮度高,字符不閃爍,占用 CPU 資源少。 缺點是:占用的 I/O 口太多,當(dāng)需要的 LED 數(shù)目較多時,需要外擴展的 I/0 口。 (2) 3.:B0H 8:80H 5:92H (3) MOV DPTR,#0FF7CH MOV A,#30H a b c d e f g dp 8255A PB PCPA 來自 AT89S51 +5V 82C55 MOVX DPTR,A MOV DPTR,#0FF7DH MOV A ,#80H MOVX DPTR,A MVOX DPTR,#0FF7EH MOV A,#92H MOVX DPTR,A RET 五、五、畫出 AT89S51 系列單片機利用串行口進行 1 臺主機與 4 臺從機多機串行通訊連線圖, 其中 1 臺從機通訊地址號為 02H,請敘述主機向 02H 從機發(fā)送一個字節(jié)數(shù)據(jù)的過程(10 分) 答:主機發(fā)送數(shù)據(jù)過程如下: (1)將從機 0003H 的 REN 置 1,SM2=1,并使它們工作在串行口工作方式 2 或 3。 (2)由主機向 4 個從機發(fā)出一幀地址址信息 02H,第 9 位為 1。從機接到信息后均發(fā)生 中斷,執(zhí)行中斷服務(wù)程序,將 02H 與自身地址做比較。若相同,則清 SM2=0,若不同 則 SM2 不變?nèi)詾?1。 (3)主機發(fā)送一幀數(shù)據(jù)信息,第 9 位為 0,從機接到信息后,只有 SM2=0 的從機發(fā)生 中斷,將數(shù)據(jù)信息收取,其余 SM2=1 的從機不放出中斷,信息丟失,從而實現(xiàn)主機向 02H 從機發(fā)送一個字節(jié)數(shù)據(jù)的功能。 六、六、請回答:(共 16 分) 1下圖中外部擴展的程序存儲器和數(shù)據(jù)存儲器容量各是多少?(2 分) 2兩片存儲器芯片的地址范圍分別是多少?(地址線未用到的位填 1) (6 分,) 3請編寫程序,要求: (1)將內(nèi)部 RAM 30H3FH 中的內(nèi)容送入 1# 6264 的前 16 個單元中;(4 分) (2)將 2# 6264 的前 4 個單元的內(nèi)容送入 40H43 中;(4 分) PSEN CE WR P2.7 P2.6 P2.5 P2.4 P2.0 AT89S51 D0-D7 OED0-D7OE 2764 CE A8-A12A0-A7 OE 74LS373 Q0 Q7 D0 D7 G ALE P0.7 P0.0 8 8 8 8 8 555 8 8 +5V WR 2# 6264 CS CE A8-A12A0-A7 +5V WR CS A8-A12A0-A7 OEOE 1# 6264 RD 5 8 解: 1. 外擴程序存儲器的容量是 8K,外擴數(shù)據(jù)存儲器的容量是 16K 2. 2764 范圍:C000HDFFFH 1#范圍: A000HBFFFH 2#范圍: 6000H7FFFH 3請編寫程序 (1)MOV R1 ,#10H MOV DPTR,0A000H MOV R0,#30H LOOP:MOVA,R0 MOVX DPTR,A INC DPTR INC R0 DJNZ R1,LOOP RET (2)MOV R1,#04H MOV DPTR,#6000H MOV R0 ,#40H LOOP:MOVX A ,DPTR MOV R0 ,A INC DPTR INC R0 DJNZ R1,LOOP RET 試題試題 3 3 參考答案參考答案 一、填空題(31 分,每空 1 分) 1AT89S51 單片機有( 2 2 )級優(yōu)先級中斷。 2串行口方式 2 接收到的第 9 位數(shù)據(jù)送(SCONSCON)寄存器的(RB8RB8)位中保存。 3當(dāng)單片機復(fù)位時 PSW(0000)H,這時當(dāng)前的工作寄存器區(qū)是(0 0)區(qū),R6 所對應(yīng)的存儲 單元地址為(0606)H。 4利用 82C55 可以擴展(3 3)個并行口,其中(8 8)條口線具有位操作功能; 5AT89S51 訪問片外存儲器時,利用(ALEALE)信號鎖存來自( P0P0 口口 )發(fā)出的低 8 位地址信 號。 6若AT89S51外擴32KB 數(shù)據(jù)存儲器的首地址若為4000H,則末地址為(BFFFBFFF)H。 7當(dāng) AT89S51 執(zhí)行 MOVC A,A+PC 指令時,伴隨著(PSEN*PSEN*)控制信號有效。 8若 A 中的內(nèi)容為 67H,那么,P 標志位為(1 1) 。 9AT89S51 單片機的通訊接口有(串行串行)和(并行并行)兩種形式。在串行通訊中,發(fā)送時要 把(并行并行)數(shù)據(jù)轉(zhuǎn)換成(串行串行)數(shù)據(jù)。接收時又需把(串行串行)數(shù)據(jù)轉(zhuǎn)換成(并行并行)數(shù)據(jù)。 10AT89S51 內(nèi)部數(shù)據(jù)存儲器的地址范圍是(00-7FH00-7FH ) ,位地址空間的字節(jié)地址范圍是 (00-2FH00-2FH) ,對應(yīng)的位地址范圍是(00-7FH00-7FH ) ,外部數(shù)據(jù)存儲器的最大可擴展容量是 (64KB64KB) 。 11AT89S51 單片機指令系統(tǒng)的尋址方式有(寄存器尋址方式寄存器尋址方式) 、 (直接尋址方式直接尋址方式) 、 (立即尋立即尋 址方式址方式) 、 (寄存器間接尋址方式寄存器間接尋址方式) 、 (位尋址方式位尋址方式) 、 (基址寄存器加變址寄存器基址寄存器加變址寄存器) 、 (相對尋相對尋 址方式址方式) 。 12AT89S51 內(nèi)部提供(2 2)個可編程的(1616)位定時/計數(shù)器,定時器有(4 4)種工作方式。 二、判斷對錯,如對則在( )中寫“” ,如錯則在( )中寫“” 。 (10 分) 1AT89S51 的定時器/計數(shù)器對外部脈沖進行計數(shù)時,要求輸入的計數(shù)脈沖的高電平或低電 平的持續(xù)時間不小于 1 個機器周期。 () 2判斷指令的正誤:MOVT0,#3CF0H;() 3定時器 T0 中斷可以被外部中斷 0 中斷() 4指令中直接給出的操作數(shù)稱為直接尋址。 () 5內(nèi)部 RAM 的位尋址區(qū),既能位尋址,又可字節(jié)尋址。 () 6特殊功能寄存器 SCON 與定時器/計數(shù)器的控制無關(guān)。 () 7當(dāng) AT89S51 執(zhí)行 MOVX A,R1 指令時,伴隨著 WR*信號有效。 () 8串行口工作方式 1 的波特率是固定的,為 fosc/32。 () 9區(qū)分外部程序存儲器和數(shù)據(jù)存儲器的最可靠的方法是看其是被 RD*還是被 PSEN*信號 連接。 () 10逐次比較型 A/D 轉(zhuǎn)換器與雙積分 A/D 轉(zhuǎn)換器比較,轉(zhuǎn)換速度比較慢。 () 三、簡答題 1AT89S51 采用 12MHz 的晶振,定時 1ms,如用定時器方式 1 時的初值(16 進制數(shù))應(yīng)為 多少?(寫出計算過程) (6 分) 解:采用 12MHZ的晶振,Tcy=1/fosc12=1/1210-612=1us 采用定時器方式 1(為 16 位) 定時 1ms,設(shè)初值為 X,則:(216-X)110-6=110-3 則=X=64536 將其轉(zhuǎn)換成二進的為:1111110000011000 再將其轉(zhuǎn)化為 16 進制數(shù)為:FC18 初值為 TXH=FCH TXL=18H 2中斷服務(wù)子程序返回指令 RETI 和普通子程序返回指令 RET 有什么區(qū)別?(4 分) 答:RETI 除了將壓棧的內(nèi)容出棧外(即現(xiàn)場恢復(fù)) ,還清除在中斷響應(yīng)時被置 1 的 AT89S51 內(nèi)部中斷優(yōu)先級寄存器的優(yōu)先級狀態(tài)。 3AT89S51 外擴的程序存儲器和數(shù)據(jù)存儲器可以有相同的地址空間,但不會發(fā)生數(shù)據(jù)沖突, 為什么?(6 分) 答:AT89S51 外擴的程序存儲器和數(shù)據(jù)存儲器可以有相同的地址空間,但不會發(fā)生數(shù)據(jù)沖突。 這是因為它們的控制信號不同: (1) 外擴程序存儲器是 PSEN*信號為其控制信號 外擴數(shù)據(jù)存儲器是 RD*與 WR*信號為其控制信號 (2) 指令不同,程序存儲器用 MOVC 讀取,數(shù)據(jù)存儲器用 MOVX 存取 4圖為 8 段共陰數(shù)碼管,請寫出如下數(shù)值的段碼。(5 分) 0_1_2_ 3_4_5_ P_7_8_ a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 3FH3FH06H06H5BH5BH 4FH4FH66H66H6DH6DH 73H73H07H07H7FH7FH 39H39H C_ 5LED 的靜態(tài)顯示方式與動態(tài)顯示方式有何區(qū)別?各有什么優(yōu)缺點?(4 分) 答: 靜態(tài):顯示期間,鎖存器輸出的段碼不變;亮度大,各位 LED 的段選分別控制;位數(shù)多硬件電 路復(fù)雜 動態(tài):所有位段碼線并連一起,各位的亮滅靠片選控制端控制,亮度較低,多位控制電路簡 單 四、程序分析:(10 分) 外部 RAM 3000H,3001H 單元的內(nèi)容分別為 55H,0DDH,試分析如下程序,并回答問題。 程序 1: MOV DPTR,#3000H MOV R1,#40H MOVX A ,DPTR MOV R1,A INC R1 INC DPTR MOVX A,DPTR MOV R1,A 問題 1:若執(zhí)行上述程序,則結(jié)束后,DPTR 值為 3001H3001H,R1 的內(nèi)容為 41H41H ,8031 內(nèi)部 RAM41H 單元的內(nèi)容 DDHDDH,40H 單元內(nèi)容為_55H_55H_。 在上程序中,若繼續(xù)執(zhí)行如下程序 程序 2:START:MOV DPTR,#3000H MOV R1 ,#40H MOV A,R1 MOVX DPTR,A 問題 2、START 執(zhí)行結(jié)束后,DPTR 的值為_3000H_3000H_,4000H 單元的內(nèi)容為_55H_55H_,R1 的內(nèi)容為 _40H_40H_。 問題 3:執(zhí)行如下程序,填出 A 寄存器的內(nèi)容。 程序 3、MOV A、#88H MOV R7,#AAH ORL A、R7 :A 的內(nèi)容為:_AAH_AAH_ MOV A,#37H MOV R7,#89H ANL A,R7 A 的內(nèi)容為:_01H_01H _ _ XRL A,R7 A 的內(nèi)容為:_88H_88H _ _ 4000H 3001H 3000H DD 55 RET 五、簡述一種多外部中斷源系統(tǒng)的設(shè)計方法。 (給出圖和程序) (10 分) 答:程序如下: ORG 0013H ;的中斷入口 LJMP INT1 ; INT1: PUSH PSW ;保護現(xiàn)場 PUSH ACC JB P1.0,IR1 ;P1.0 高,IR1 有請求 JB P1.1,IR2 ;P1.1 高,IR2 有請求 JB P1.2,IR3 ;P1.2 腳高,IR1 有請求 JB P1.3,IR4 ;P1.4 腳高,IR4 有請求 INTIR: POP ACC ;恢復(fù)現(xiàn)場 POP PSW RETI ;中斷返回 IR1: IR1 的中斷處理程序 AJMP INTIR ; IR1 中斷處理完畢,跳標號 INTIR 處執(zhí)行 IR2:IR2 的中斷處理程序 AJMP INTIR ;IR2 中斷處理完畢,跳標號 INTIR 處執(zhí)行 IR3: IR3 的中斷處理程序 AJMP INTIR ;IR3 中斷處理完畢,跳標號 INTIR 處執(zhí)行 IR4: IR4 的中斷處理程序 AJMP INTIR ;IR4 中斷處理完畢,跳標號 INTIR 處執(zhí)行 六、請回答:(共 14 分) 1下圖中外部擴展的程序存儲器和數(shù)據(jù)存儲器容量各是多少?(2 分) 2三片存儲器芯片的地址范圍分別是多少?(地址線未用到的位填 1) (4 分,) 3請編寫程序,要求: (1) 將內(nèi)部 RAM 40H-4FH 中的內(nèi)容送入 1# 6264 的前 16 個單元中;(4 分) (2) 將 2# 6264 的前 4 個單元的內(nèi)容送入 50H-53H 中;(4 分) PSEN CE WR P2.7 P2.6 P2.5 P2.4 P2.0 AT89S51 D0-D7 OED0-D7OE 2764 CE A8-A12A0-A7 OE 74LS373 Q0 Q7 D0 D7 G ALE P0.7 P0.0 8 8 8 8 8 555 8 8 +5V WR 2# 6264 CS CE A8-A12A0-A7 +5V WR CS A8-A12A0-A7 OEOE 1# 6264 RD 5 8 答: 1解外部擴展的程序存儲器容量為:8KB 外部擴展的數(shù)據(jù)存儲器容量為:8KB2=16kb 2. 程序存儲器 2764 地址的高 3 位: A15 A14 A13 0 0 0 地址范圍為:0000H-1FFFH 數(shù)據(jù)存儲器 1#6264 地址高 3 位: A15 A14 A13 0 1 1 地址范圍為:6000H-7FFFH 數(shù)據(jù)存儲器 2#6264 地址范圍為: A15 A14 A13 1 0 1 地址范圍為:A000H-BFFFH 3編寫程序 (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ù)指針為 A000H LOOP: MOVX A, DPTR MOVX RO,A ; 將外部數(shù)據(jù)存儲器內(nèi)容送入到片內(nèi)中 INC RO INC DPTR CJNE RO,#54H,LOOP ; 將此子程序循環(huán)執(zhí)行 4 次 RET 試題試題 4 4 參考答案參考答案 一、填空題(37 分) 1. AT89S51 單片機芯片共有 4040 個引腳,MCS-51 系列單片機為 8 8 位單片機。 2. AT89S51 的異步通信口為全雙工全雙工(單工/半雙工/全雙工) , 3. AT89S51 內(nèi)部數(shù)據(jù)存儲器的地址范圍是 00H-7FH00H-7FH,位地址空間的字節(jié)地址范圍是 20H-20H- 2FH2FH,對應(yīng)的位地址范圍是 00H-7FH00H-7FH,外部數(shù)據(jù)存儲器的最大可擴展容量是 64K64K 字節(jié)字節(jié)。 4. 單片機也可稱為微控制器微控制器 或 嵌入式控制器嵌入式控制器。 5當(dāng) MCS-51 執(zhí)行 MOVC A,A+PC 指令時,伴隨著 PSEN*PSEN*控制信號有效。 6. 當(dāng)單片機復(fù)位時 PSW0000 H,這時當(dāng)前的工作寄存器區(qū)是 0 0 區(qū), R4 所對應(yīng)的存儲單元地址為 0404 H。 7. MCS-51 系列單片機指令系統(tǒng)的尋址方式有 寄存器尋址寄存器尋址 、直接尋址、直接尋址、 寄存器間接尋址、寄存器間接尋址、 立即尋址、立即尋址、 基址加變址基址加變址 、 位尋址位尋址 。 (相對尋址也可)(相對尋址也可) 8. 51 系列單片機的典型芯片分別為 AT89S51AT89S51 、80318031 、AT89C51AT89C51 。 9. AT89S51 的 P3P3 口為雙功能口; 10. 由 AT89S51 組成的單片機系統(tǒng)在工作時,EA*EA*引腳應(yīng)該接 地(或地(或 0 0) ; 11. AT89S51 外部程序存儲器的最大可擴展容量是 64K64K ,其地址范圍是 0000H0000H - - FFFFHFFFFH 。ROM 芯片 2764 的容量是 8 8 KBKB,若其首地址為 0000H,則其末地址 1FFFH1FFFH 。 12. AT89S51 的中斷源有 外中斷外中斷 0 0, T0T0 ,外中斷,外中斷 1 1, T1T1,串行口,串行口,有 2 2 個中斷優(yōu)先級。 13. AT89S51 唯一的一條 16 位數(shù)據(jù)傳送指令為 MOVMOV DPTRDPTR,data16data16。 14. LJMP 的跳轉(zhuǎn)范圍是 64K64K,AJMP 的跳轉(zhuǎn)范圍是 2K2K B B,SJMP 的跳轉(zhuǎn)范圍是 128128 B B(或(或 256B256B) 。 15. 若 A 中的內(nèi)容為 68H,那么 P 標志位為 1 1。 二、簡答題(13 分) 1. 采用 6MHz 的晶振,定時 2ms,用定時器方式 1 時的初值應(yīng)為多少?(請給出計算過程) (6 分) 答:答: (1)(1) Ts=2usTs=2us (216(216X)2usX)2us2ms2ms 從而從而 X X6453664536 4 4 分分 (2)(2) 6453664536FC18HFC18H2 2 分分 2. AT89S51外擴的程序存儲器和數(shù)據(jù)存儲器可以有相同的地址空間,但不會發(fā)生數(shù)據(jù)沖突, 為什么?(4分) 答:答: 因為訪問外擴的程序存儲器和數(shù)據(jù)存儲器執(zhí)行的指令不同,所發(fā)出的控制信號也就不因為訪問外擴的程序存儲器和數(shù)據(jù)存儲器執(zhí)行的指令不同,所發(fā)出的控制信號也就不 同。同。 (2 2 分)分) 讀外部數(shù)據(jù)存儲器時,讀外部數(shù)據(jù)存儲器時,RD*RD*信號有效。寫外部數(shù)據(jù)存儲器時,信號有效。寫外部數(shù)據(jù)存儲器時,WR*WR*信號有效。而讀外信號有效。而讀外 部程序存儲器時,部程序存儲器時,PSEN*PSEN*信號有效。由于發(fā)出的控制信號不同,且只能有一種信號有效,信號有效。由于發(fā)出的控制信號不同,且只能有一種信號有效, 因此,即使因此,即使 MCS-51MCS-51 外擴的程序存儲器和數(shù)據(jù)存儲器有相同的地址空間,也不會發(fā)生數(shù)據(jù)外擴的程序存儲器和數(shù)據(jù)存儲器有相同的地址空間,也不會發(fā)生數(shù)據(jù) 沖突。沖突。 (2 2 分)分) 3說明 AT89S51 的外部引腳 EA*的作用?(3 分) 答:答: EA*EA*是內(nèi)外程序存儲器選擇控制信號。是內(nèi)外程序存儲器選擇控制信號。 (1 1 分)分) 當(dāng)當(dāng) EA*EA*0 0 時,只選擇外部程序存儲器。時,只選擇外部程序存儲器。 (1 1 分)分) 當(dāng)當(dāng) EA*EA*1 1 時,當(dāng)時,當(dāng) PCPC 指針指針0FFFH0FFFH 時,只訪問片內(nèi)程序存儲器;當(dāng)時,只訪問片內(nèi)程序存儲器;當(dāng) PCPC 指針指針0FFFH0FFFH 時,則訪問外部程序存儲器(時,則訪問外部程序存儲器(1 1 分)分) 三、編寫程序,將外部數(shù)據(jù)存儲器中的5000H50FFH單元全部清零(10分)。 答答: ORGORG *H*H (1 1分分) MOVMOV DPTRDPTR #5000H#5000H MOVMOV R0,#00HR0,#00H CLRCLR A A (3 3分分) LOOPLOOP : : MOVXMOVX DPTR,ADPTR,A INCINC DPTRDPTR (3 3分分) DJNZDJNZ R0,LOOPR0,LOOP (2 2分分) HERE:HERE: SJMPSJMP HEREHERE (RET(RET 或或 SJMPSJMP $ $ 等等) )(1 1 分)分) 四、簡述 AT89S51 單片機主從結(jié)構(gòu)多機通信原理,設(shè)有一臺主機與三臺從機通信,其中一 臺從機通信地址號為 01H,請敘述主機呼叫從機并向其傳送一個字節(jié)數(shù)據(jù)的過程。(請給出 原理圖) (10 分) 答:答: 1)1) 原理圖原理圖 (2 2 分)分) TXD RXD MCS-51 單片機 RXD TXD 00H RXD TXD 01H RXD TXD 02H RXD TXD 03H 2)2) 將所有從機的將所有從機的 RENREN、SM2SM2 置置 1 1 (1(1 分分) ) 工作在方式工作在方式 2 2 或或 3 3 (1 1 分)分) 3 3)主機發(fā)送一個地址楨)主機發(fā)送一個地址楨 01H01H (1 1 分)分) 第第 9 9 位為位為 1 1 即即 TB8=1TB8=1 (1(1 分分) ) 4)4) 各從機接收到后,都發(fā)生中斷,進入中斷服務(wù)程序,比較自己的地址與各從機接收到后,都發(fā)生中斷,進入中斷服務(wù)程序,比較自己的地址與 01H01H 是否是否 相同,若相同則將本機相同,若相同則將本機 SM2SM2 置置 0 0,否則仍為,否則仍為 1 1 (1(1 分分) ) 5 5)主機發(fā)送數(shù)據(jù)楨,)主機發(fā)送數(shù)據(jù)楨,TB8=0TB8=0 (1(1 分分) ) 各從機接收該數(shù)據(jù)楨,從機中各從機接收該數(shù)據(jù)楨,從機中 SM2SM2 為為 0 0 的產(chǎn)生的產(chǎn)生 中斷,而其它中斷,而其它 SM2SM2 為為 1 1 的從機不產(chǎn)生中斷將信息丟棄,從而實現(xiàn)主機與從機傳遞數(shù)據(jù)的從機不產(chǎn)生中斷將信息丟棄,從而實現(xiàn)主機與從機傳遞數(shù)據(jù) (2(2 分分) ) 五、簡述行列式掃描鍵盤的工作原理。 (10 分) 答:答: 1 1)首先判斷有無鍵按下:)首先判斷有無鍵按下: (3(3 分分) ) 將列線全部置將列線全部置 0 0,讀行線狀態(tài),若,讀行線狀態(tài),若 P1.0P1.3P1.0P1.3 全為全為 1 1,則表明無鍵按下,若出現(xiàn),則表明無鍵按下,若出現(xiàn) 低電平即低電平即 0 0,則有鍵按下,記錄下行號,則有鍵按下,記錄下行號 i i ; ; 2)2) 其次,如有鍵按下,判斷具體鍵號其次,如有鍵按下,判斷具體鍵號 (7(7 分分) ) 方法如下:逐列為低,其它為高,再讀行線狀態(tài),如出現(xiàn)哪一行為低,記錄此時方法如下:逐列為低,其它為高,再讀行線狀態(tài),如出現(xiàn)哪一行為低,記錄此時 的列號的列號 j j , 則證明第則證明第 i i 行第行第 j j 列的按鍵被按下,至此完成鍵盤的行列式掃描。列的按鍵被按下,至此完成鍵盤的行列式掃描。 六、圖為 8 段共陰數(shù)碼管,請寫出如下數(shù)值的段碼。 (5 分) 答案:答案: 0 0 3FH3FH (0.5(0.5 分分) ) 1 1 06H06H (0.5(0.5 分分) ) 2 2 5BH5BH (0.5(0.5 分分) ) 3 3 4FH4FH (0.5(0.5 分分) ) 4 4 66H66H (0.5(0.5 分分) ) 5 5 6DH6DH (0.5(0.5 分分) ) P P 73H73H (0.5(0.5 分分) ) 7 7 07H07H (0.5(0.5 分分) ) 8 8 7FH7FH (0.5(0.5 分分) ) C C 39H39H (0.5(0.5 分分) ) 七、回答下列問題并寫出簡要分析過程(七、回答下列問題并寫出簡要分析過程(1515 分)分) 。 1 1圖 1(a)所示為某微機中存儲器的地址空間分布圖。圖 1(b)為存儲器的地址譯碼電路,為 使地址譯碼電路按圖 1(a)所示的要求進行正確尋址(設(shè) CPU 的地址線為 16 條) ,要求在答要求在答 a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 b a c d e f g h 題紙上畫出:題紙上畫出: (1) A 組跨接端子的內(nèi)部正確連線圖?(4.5 分)并簡要分析(3 分) (2) B 組跨接端子的內(nèi)部正確連線圖?(4.5 分)并簡要分析(3 分) (注:注:74LS139 是 2-4 譯碼器,A 為低端,B 為高端,使能端 G 接地表示譯碼器處于正常譯 碼狀態(tài)) 。 答:連線部分:答:連線部分:A A組跨接端子與組跨接端子與B B組跨接端子的各自連接如圖組跨接端子的各自連接如圖1(b)1(b)所示。連對所示。連對1 1根線給根線給1.51.5 分。分。 注意:連線部分是簡答的前提。注意:連線部分是簡答的前提。 簡答部分:如果圖連線錯誤,則需對簡答酌情扣分,然后再視簡答的邏輯性酌情給分。簡答部分:如果圖連線錯誤,則需對簡答酌情扣分,然后再視簡答的邏輯性酌情給分。 在連對的基礎(chǔ)上,只要分析出連線的邏輯關(guān)系或各芯片的地址范圍或連線邏輯均給分。在連對的基礎(chǔ)上,只要分析出連線的邏輯關(guān)系或各芯片的地址范圍或連線邏輯均給分。 試題試題 5 5 參考答案參考答案 ROM1 ROM2 空 RAM1 RAM2 存儲器地址 0000H 4000H 8000H C000H E000H FFFFH 圖 1(a) 地址空間圖 1(b) 地址譯碼電路 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Y0 Y1 Y2 Y3 G B A A 組 跨接端子 B 組 跨接端子 74LS139 芯片選擇 ROM2 ROM1 RAM2 RAM1 A15 A12 A13 A14 地址譯碼電路地址譯碼電路 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Y0 Y1 Y2 Y3 G B A A 組 跨接端子 B 組 跨接端子 74LS139 芯片選擇 ROM2 ROM1 RAM2 RAM1 A15 A12 A13 A14 一、填空(一、填空(3030 分,每空分,每空 1 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ù)存儲器的位地址空間的字節(jié)地址范圍是 20H-2FH ,對應(yīng)的位地址范 圍是 00H-FFH。 4. 單片機也可稱為 微控制器微控制器 或 嵌入式控制器嵌入式控制器 5. 當(dāng) MCS-51 執(zhí)行 MOVX A,R1 指令時,伴隨著 RD 控制信號有效。 6. 當(dāng)單片機的 PSW01H 時,這時當(dāng)前的工作寄存器區(qū)是 0 區(qū),R4 所對應(yīng)的存儲 單元地址為 04 H 7. AT89S51 的 P0 口為高 8 位地址總線口。 8. 設(shè)計一個以 AT89C51 單片機為核心的系統(tǒng),如果不外擴程序存儲器,使其內(nèi)部 4KB 閃 爍程序存儲器有效,則其 EA* 引腳應(yīng)該接 +5V 9. 在 R7 初值為 00H 的情況下,DJNZ R7,rel 指令將循環(huán)執(zhí)行 256 次。 10. 欲使 P1 口的低 4 位輸出 0,高 4 位不變,應(yīng)執(zhí)行一條 ANL P1, #

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論