《單片機原理及應(yīng)用》復(fù)習(xí)試題整理版_第1頁
《單片機原理及應(yīng)用》復(fù)習(xí)試題整理版_第2頁
《單片機原理及應(yīng)用》復(fù)習(xí)試題整理版_第3頁
《單片機原理及應(yīng)用》復(fù)習(xí)試題整理版_第4頁
《單片機原理及應(yīng)用》復(fù)習(xí)試題整理版_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

長江大學(xué)《單片機原理及應(yīng)用》試題庫一、填空題※001、單片機片內(nèi)程序存儲器按編程方式可分為ROM型(掩模型)OTP型(一次性編程)EPROM(紫外線擦除編程)EEPROM(電擦除編程)FLASH(閃速編程)。002、MCS-51的物理地址空間由片內(nèi)數(shù)據(jù)存儲區(qū)片外數(shù)據(jù)存儲區(qū)片內(nèi)程序存儲區(qū)片外程序存儲區(qū)四個存儲器組成。003、MCS-51系列單片機的存儲器,是由三個彼此獨立的地址空間來組織的,它們分別為片內(nèi)數(shù)據(jù)存儲區(qū)片外數(shù)據(jù)存儲區(qū)程序存儲區(qū)。004、單片機復(fù)位時,PC=0000H,ACC=00H,PSW=00H,SP=07H,P0-P3=0FFH。005、MCS-51系列單片機的地址總線是16位,數(shù)據(jù)總線是8位。006、MCS-51系統(tǒng)單片機的數(shù)據(jù)總線由P0提供,低八位地址總線由P0提供,高八位地址總線由P2提供。007、MCS-51系列單片機的一個機器周期包含12個時鐘周期;設(shè)晶振頻率為6MHz,則時鐘周期為0.167微秒,機器周期為2微秒。008、8051型號單片機內(nèi)部有21個特殊功能寄存器,它們可以分為4組。009、堆棧在片內(nèi)數(shù)據(jù)存儲區(qū),程序存放在程序存儲區(qū),外部IO接口設(shè)置片外數(shù)據(jù)存儲區(qū),中斷服務(wù)程序存入在程序存儲區(qū)。010、指令MOVCA,@A+DPTR屬于變址尋址方式,指令MOVA,R3屬于寄存器尋址方式,指令MOVC,04H屬于直接尋址方式,MOV30H,#24H屬于直接尋址方式。011、8051型號的單片機內(nèi)部有11個用戶可位尋址單元。012、8031單片機有32個IO線。013、執(zhí)行下列程序后,CY=1、OV=0、A=94H。MOVA,#56HADDA,#74HADDA,A014、設(shè)內(nèi)部RAM中(59H)=50H,執(zhí)行一列程序段后,A=25H、(50H)=0、(51H)=25H、(52H)=70H。MOVA,59HMOVR0,AMOVA,#00HMOV@R0,AMOVA,#25HMOV51H,AMOV52H,#70H015、執(zhí)行下列程序段后,A=0A7H、R0=7AH、(R0)=0A7H。MOVR0,#0A7HXCHA,R0SWAPAXCHA,R0MOV@R0,A016、執(zhí)行下列程序段后,A=6EH、(30H)=0EEH、(R0)=0EEH。MOV30H,#0A4HMOVA,#0D6HMOVR0,#30HMOVR2,#47HANLA,R2ORLA,@R0SWAPACPLAXRLA,#0FFHORL30H,A017、下述程序執(zhí)行后,SP=42H、A=30H、B=30H。ORG2000HMOVSP,#40HMOVA,#30HLCALL2500HADDA,#10HMOVB,AL1:SJMPL1ORG2500HMOVDPTR,#2009HPUSHDPLPUSHDPHRET018、若指令CJNE@R1,#7AH,10H的地址為1800H,則其轉(zhuǎn)移地址為1813H。019、已知:A=0C9H,B=8DH,CY=1,則指令A(yù)DDCA,B執(zhí)行之后,A=57H、B=8DH。020、已知:A=0C9H,B=8DH,CY=1,則指令SUBBA,B執(zhí)行之后,A=3BH、B=8DH。021、已知:A=0C9H,B=8DH,CY=1,則指令A(yù)DDA,B執(zhí)行之后,A=56H、B=8DH。022、已知:A=0C9H,B=8DH,CY=1,則指令SUBA,B執(zhí)行之后,A=題錯、B=題錯。023、下述程序段執(zhí)行之后,A=64H、(50H)=00H。CLRAMOV50H,#64HL1:INCADJNZ50H,L1※024、執(zhí)行下列程序段后,內(nèi)部RAM中的(90H)=30H、(0A0H)=0CFH。MOVP1,#30HMOVA,90HCPLAMOVP2,A025、在程序存儲器中,數(shù)據(jù)表格為:1010H:02H1011H:04H1012H:06H1013H:08H執(zhí)行下列程序之后,A=02H、R0=02H、PC=1004H。1000H:MOVA,#0DH1002H:MOVCA,@A+PC1003H:MOVR0,A026、在程序存儲器中,數(shù)據(jù)表格為:7010H:02H7011H:04H7012H:06H7013H:08H執(zhí)行下列程序段之后,A=02H、DPH=70H、PC=1009H。1004H:MOVA,#10H1006H:MOVDPTR,#7000H1008H:MOVCA,@A+DPTR027、已知A中內(nèi)容為34H,執(zhí)行下列程序之后,A=34H、R6=92H。MOVR6,#29HXCHA,R6SWAPAXCHA,R6028、設(shè)SP=60H,內(nèi)部RAM的(30H)=24H,(31H)=10H,在下列程序段注釋下畫線下填寫執(zhí)行結(jié)果。PUSH30HPUSH31HPOPDPL;SP=61H、(SP)=24H。;SP=62H、(SP)=10H。;SP=61H、DPL=10H。;SP=60H、DPH=24H。POPDPHMOVA,#00HMOVX@DPTR,A029、執(zhí)行下列程序段后,內(nèi)部RAM的(20H)=0B0H、A=90H。MOV20H,#0A4HMOVA,#0D6HMOVR0,#20HMOVR2,#57HANLA,R2ORLA,@R0SWAPACPLAORL20H,ACLR01HCLR02H※030、執(zhí)行下列程序段后,A=77H、PC=1004H。1000H:MOVA,#02H1002H:MOVCA,@A+PC1003H:RET1004H:66H,77H,88H,99H031、子程序返回指令是RET,中斷服務(wù)程序返回指令是RETI。032、已知內(nèi)部RAM的(40H)=20H,(41H)=10H,執(zhí)行下列程序段后,A=30H、PC=1020H。1020H:PUSH40H1022H:PUSH41H1024H:MOVA,#30HRET033、已知A=55H,CY=1,執(zhí)行下列程序段后,A=55H、CY=1。MOVR2,#04HLOOP:RRADJNZR2,LOOP034、已知A=55H,CY=1,執(zhí)行下列程序段后,A=5AH、CY=1。MOVR2,#04HLOOP:RRCADJNZR2,LOOP035、已知A=55H,CY=1,執(zhí)行下列程序段后,A=55H、CY=1。MOVR2,#04HCLRCLOOP:RRCADJNZR2,LOOP036、MCS-51系列單片機訪問內(nèi)部RAM數(shù)據(jù)存儲器時用MOV指令,訪問外部數(shù)據(jù)存儲器時用MOVX指令,訪問程序存儲器時用MOVC指令。037、MOVX@DPTR,A指令作用是對片外數(shù)據(jù)存儲器或片外IO口寫操作。038、MOVXA,@DPTR指令作用是對片外數(shù)據(jù)存儲器或片外IO口讀操作。039、MCS-51系列單片機中對SFR(特殊功能寄存器)采用直接尋址方式。040、8051單片機內(nèi)部有2個可編程定時計數(shù)器。041、8051單片機的定時計數(shù)器T0由TH0和TL0專用寄存器組成。042、8051單片機的定時計數(shù)器T1由TH1和TL1專用寄存器組成。043、MCS-51系列單片機的定時計數(shù)器作為計數(shù)時,最高計數(shù)頻率為振蕩頻率的1/24倍,當(dāng)晶振頻率為12MHz時,則其最高計數(shù)頻率為0.5MHz。044、MCS-51系列單片機的定時計數(shù)器作為定時時,計數(shù)頻率為時鐘頻率的1/12,設(shè)時鐘頻率為12MHz,則其最高計數(shù)頻率為1.0MHz。045、設(shè)單片機的定時計數(shù)器0選方式2作為計數(shù)功能,定時計數(shù)器1選方式1作為定時,初始化方式寄存器為MOVTMOD,#16H。046、指令MOVTMOD,#22H的功能是定時計數(shù)器0和定時計數(shù)器1都是以方式2作為定時功能。047、設(shè)晶振頻率為6MHz,定時器處于不同的工作方式時,最大定時范圍分別是512us16384us131072us。048、設(shè)晶振頻率為6MHz,用定時器1產(chǎn)生100ms的定時,則計數(shù)初值應(yīng)為3CB0H。049、設(shè)晶振頻率為6MHz,用定時器1產(chǎn)生100us的定時,則計數(shù)初值應(yīng)為FF78H。050、單片機的發(fā)展大致可分為2個階段。051、單片機與普通計算機不同之處在于其將CPU、存儲器和I/O三部分集成于一塊芯片之上。052、單片機的存儲設(shè)計采用哈佛結(jié)構(gòu),它的特點是將程序存儲空間和數(shù)據(jù)存儲空間在物理上分開。053、CPU主要由運算器和控制器組成。CPU中的布爾處理器用來處理位操作。054、第四代計算機所采用的主要器件是中大規(guī)模以上集成電路。055、MCS-51系列單片機中,片內(nèi)元ROM的機型是8031,有4KBROM的機型是8051,而有4KBEPROM的機型是8751。056、-32的補碼是11100000B,補碼11011010B代表的真值是-38D。057、原碼數(shù)BFH=-63D,原碼數(shù)6EH=110D。058、100的補碼=64H,-100的補碼=9CH。059、在8031單片內(nèi)部,其RAM高端128個字節(jié)的地址空間稱為特殊功能寄存器區(qū)或SFR區(qū),但其中僅有個字節(jié)有實際意義。060、通常單片機復(fù)位時,PC=0000H,SP=07H,通用寄存器則采用第0組,這一組寄存器的地址范圍是從00H到07H。061、若PSW=18H,則選取的是第3組通用寄存器。062、8031單片機復(fù)位后,R4所對應(yīng)的存儲單元地址為04HH,因上電時PSW=00HH。063、若A中的數(shù)據(jù)為63H,那么PSW的最低位(即奇偶位P)為0。064、在微機系統(tǒng)中,CPU是按照程序計數(shù)器PC來確定程序的執(zhí)行順序的。065、堆棧遵循先進后出(或后進先出)的數(shù)據(jù)存儲原則,針對堆棧的兩種操作是PUSH和POP。066、在8031單片機中,使用P2、P0口傳送地址信號,且使用了P0口來傳送數(shù)據(jù)信號,這里采用的是總線復(fù)用技術(shù)。067、使用8031單片機時需將EA引腳接低電平,因為其片內(nèi)無程序存儲器,8031片外可直接尋址的存儲空間達128KB。068、8位機中的補碼數(shù)80H和7FH的真值分別為-128和127。069、配合實現(xiàn)“程序存儲自動執(zhí)行”的寄存器是PC,以其操作的一個特別之處是每取完一字節(jié)指令后PC自動加1。070、MCS-51單片機的PC的長度為16位,SP的長度為8位,數(shù)據(jù)指針DPTR的長度為16位。071、指令格式由操作碼和操作數(shù)或操作數(shù)地址這兩部分組成。072、尋址方式分為對指令的尋址和對數(shù)據(jù)的尋址兩大類。073、訪問8031片外數(shù)據(jù)存儲器采用的是寄存器間接尋址方式。074、設(shè)A=55H,R5=AAH,則執(zhí)行ANLA,R5指令后的結(jié)果是A=00H,R5=AAH。075、計算機對輸入輸出設(shè)備的控制方式主要有三種,其中,程序查詢方式硬件設(shè)計最簡單,但要占用不少CPU的運行時間;直接存儲器訪問方式的硬件線路最復(fù)雜,但可大大提高數(shù)據(jù)傳送效率,而程序中斷方式則介于上述兩者之間。076、IO端口與外部設(shè)備之間傳送的信息可分為3類。077、MCS-51單片機系列有5個中斷源,上電復(fù)位時,同級中斷的優(yōu)先級別從高至低為外部中斷0定時計數(shù)器0外部中斷1定時計數(shù)器1和串行口中斷,若IP=00010100B,則優(yōu)先級別最高者為外部中斷1、最低者為定時計數(shù)器1。078、在MCS-51單片機系統(tǒng)中,當(dāng)某個中斷源發(fā)出中斷請求,單片機予以響應(yīng)時,它必須處于源允許和總允許兩級開中斷狀態(tài)。079、中斷請求信號有電平觸發(fā)和邊沿觸發(fā)兩種觸發(fā)方式。080、若系統(tǒng)晶振頻率為12MHz,則T0工作于定時和計數(shù)方式時的最高(計數(shù))信號頻率分別為1000KHz和500KHz。081、要對300W個外部事件計數(shù),可以選用定時計數(shù)器T1的模式0或模式1。082、MCS-51單片機8031中有2個16位的定時計數(shù)器,可以被設(shè)定的工作方式有4種。083、在串行通信中采用偶校驗,若傳送的數(shù)據(jù)為0A5H,則其奇偶位應(yīng)為0(用“0”,“1”表示)。084、在異步通信中若每個字符由11位組成,串行口每秒傳送250個字符,則對應(yīng)波特率為2750。085、CPU尋址外設(shè)端口地址的方法有統(tǒng)一編址和獨立編址兩種。086、當(dāng)8051的RST端上保持兩個機器周期以上的低電平時,8051即發(fā)生復(fù)位。087、若系統(tǒng)晶振頻率為6MHz,則時鐘周期為0.33us,機器周期為2us,最短和最長的指令周期分別2us和8us。088、若系統(tǒng)晶振頻率為8M,則執(zhí)行一條MULAB指令所需時間為6us。089、當(dāng)單片機的型號為8031/8032時,其芯片引線EA一定要接低電平。090、CPU與內(nèi)存或IO接口相連的系統(tǒng)總線通常由地址數(shù)據(jù)控制等三種信號組成。091、MCS-51機中擴展IO口占用片外數(shù)據(jù)存儲器的地址空間。092、MCS-51單片機訪問片外存儲器利用ALE信號鎖存來自P0口的低八位地址信號。093、12根地址線可選4096個存儲單元,32KB存儲單元需要15根地址線。094、若LED為共陽極接法(即負邏輯控制),則提示符P的七段代碼值應(yīng)當(dāng)為0CH或8CH。095、用并行口擴展一個有32只按鍵的行列式鍵盤,最少需要12根IO線。096、若增加8KBX8位的RAM區(qū),請問選用Intel2114(1KBX4位)需購16片;若改用6116(2KBX8)需購4片;若改用6264(8KBX8)需購1片。097、三態(tài)緩沖寄存器的“三態(tài)”是指低電平態(tài),高電平態(tài)和高阻態(tài)。098、74LS138是具有3個輸入的譯碼器芯片,其輸出作為片選信號時,最多可以選中8塊芯片。099、74LS273通常用來作簡單輸出接口擴展,而74LS244則常用來作簡單輸入接口擴展。100、存儲器的主要功能是存儲指令和數(shù)據(jù)。101、半導(dǎo)體存儲器的最重要的兩個指標(biāo)是存儲容量和存取速度。102、若你正在編輯某個文件,突然斷電,則計算機中RAM類型存儲中的信息全部丟失,且通電后也不能自動恢復(fù)。103、MCS-51單片機的外部存儲器分為程序和數(shù)據(jù)兩部分,要將這兩部分合二為一使用時,需用RD和PSEN兩個控制信號相與后產(chǎn)生的信號對存儲器進行選通。104、32KBRAM的首地址若為2000H,則末地址為9FFFH。105、一個8路數(shù)據(jù)選擇器有3個選擇輸入端。106、起址范圍為0000H-3FFFH的存儲器容量為16KB。107、已知RAM芯片6116(2KBX8)的內(nèi)部存儲單元排列為128行X16列,請問所采用的內(nèi)部雙譯碼行輸入地址線為7根,列輸入地址線為4根,該片共占用11根地址線。108、已知RAM芯片6116(2KBX8)有24條外引腳,請問應(yīng)分配11個引腳給地址線,分配8個引腳給數(shù)據(jù)線,再分配2個引腳給電源和地線外,剩余的3個引腳應(yīng)該分配給CEOEWE。109、一個2輸入二進制譯碼器,共有4個輸出。110、8255可編程芯片通常作為并行接口擴展之用。111、8253可編程芯片通常作為定時計數(shù)器擴展之用。112、8155可編程芯片通常作為并行接口,計數(shù)器,存儲器擴展之用。113、8279可編程芯片通常作為鍵盤、顯示控制器擴展之用。114、若用8255或8155來擴展一個有36只按鍵的行列式鍵盤,最少需要12根IO線。115、MCS-51單片機的51子系列含有2個16位的定時器,52子系列含有3個16位的定時器。116、用一處8279芯片最多可擴展64只按鍵和16只長段顯示器。117、8279芯片中的16字節(jié)顯示緩沖區(qū),其數(shù)據(jù)應(yīng)該送待顯字符的七段代碼碼。118、A/D轉(zhuǎn)換器的作用是將模擬量轉(zhuǎn)為數(shù)字量;D/A轉(zhuǎn)換器的作用是將數(shù)字量轉(zhuǎn)為模擬量。119、A/D轉(zhuǎn)換器的兩個最重要指標(biāo)是轉(zhuǎn)換速度和轉(zhuǎn)換精度。120、不帶輸入數(shù)據(jù)鎖存器的D/A轉(zhuǎn)換器,應(yīng)當(dāng)通過鎖存件與CPU傳送數(shù)據(jù)。121、無三態(tài)輸出功能的A/D轉(zhuǎn)換器,應(yīng)當(dāng)通過三態(tài)器件與CPU傳送數(shù)據(jù)。122、從輸入模擬量到輸出穩(wěn)定的數(shù)字量的時間間隔是A/D轉(zhuǎn)換器的技術(shù)指標(biāo)之一,稱為轉(zhuǎn)換速度。123、若有8位D/A轉(zhuǎn)換器的輸出滿刻度電壓為+5V,則該D/A轉(zhuǎn)換器的分辨率為0.0196V。二、選擇題※001、有下述程序段,LOOP:MOVA,P1CJNEA,#55H,LOOP其中MOVA,P1是2字節(jié)指令,CJNE是3字節(jié)指令,則CJNE指令的偏移量是()。①、05H②、06H③、0FCH④、0FBH002、已知PSW=10H,通用寄存器R0-R7的地址是()。①、00H-07H②、08H-0FH③、10H-17H④、18H-1FH003、已知8031單片機的晶振頻率為12MHz,2字節(jié)指令周期是()。①、1us②、2us③、3us④、4us004、8051單片機復(fù)位后,第一個被壓入棧的數(shù)據(jù)被寫入()單元中。①、06H②、07H③、08H④、09H005、要使8051單片機正??煽繌?fù)位,則RESET復(fù)位信號至少保持()。①、0.5個機器周期②、1個機器周期③、2個機器周期④、10個機器周期006、單片機執(zhí)行MOV90H,#00H指令之后,對()SFR(特殊功能寄存器)有影響。①、TMOD②、P0③、P1④、P2007、當(dāng)8051CPU訪問SFR(特殊功能寄存器)時,采用()尋址方式。①、直接尋址②、立即尋址③、間接尋址④、寄存器尋址008、8051單片機堆棧操作遵循()原則。①、先加后壓、先彈后減②、先壓后加、先彈后減③、先加后壓、先減后彈④、先壓后加、先減后彈※009、已知子程序調(diào)用指令A(yù)CALL在程序存儲器中的首地址為0100H,子程序入口地址為0250H。該指令的機器碼是()。①、5100H②、5120H③、5140H④、5150H010、已知絕對轉(zhuǎn)移指令A(yù)JMP在程序存儲器中的首地址為2500H,要求轉(zhuǎn)移到2250H地址處執(zhí)行程序,該指令的機器碼是()。①、4120H②、4130H③、4140H④、4150H011、執(zhí)行下列程序段后,A=()MOV23H,#0AHCLRALOOP:ADDA,23HDJNZ23H,LOOPSJMP$①、45②、55③、56④、46012、設(shè)晶振頻率為6MHz,下述子程序DELAY的延時時間為()。DELAY:MOVR2,#0FAHL1:MOVR3,#0FAHL2:DJNZR3,L2DJNZR2,L1RET①、251506us②、251504us③、250006us④、250004us013、設(shè)晶振頻率為6MHz,下述子程序NOPA的延時時間為()。NOPA:MOVR2,#0FAHLOOP:NOPDJNZR2,LOOPRET①、1500us②、1502us③、1504us④、1506us014、下面四種指令中,哪一條指令屬于變址尋址方式()。①、MOVA,R0②、MOVCA,@A+DPTR③、MOVTMOD,#20H④、MOVDPTR,#2000H015、下面哪條指令不屬于直接尋址方式()。①、MOVA,3AH②、MOVTCON,A③、SETB20H④、MOVTMOD,#20H016、下面哪條指令屬于寄存間接尋址方式()。①、ORLA,#20H③、MOVA,@R0②、ANL30H,#40H④、MOVTMOD,#00H017、下面哪條指令是錯誤的()。①、INC30H③、DEC30H②、INCDPTR④、DECDPTR018、要把外部RAM的20H單元的內(nèi)容傳送到R0;以下哪種選項正確()。①、MOVR1,#20HMOVA,@R1②、MOVR1,#20HMOVXA,@R1MOVR0,AMOVR0,A③、MOVDPTR,#0020HMOVX@DPTR,A④、MOVR1,20HMOVXA,@R1MOVR0,AMOVR0,A019、要把外部RAM的1060H中的內(nèi)容送到片內(nèi)RAM的54H單元中,以下哪種程序段是錯誤的()。①、MOVR0,#60HMOVXA,@R0MOVR0,#54HMOV@R0,A②、MOVDPH,#10HMOVDPL,#60HMOVXA,@DPTRMOV54H,A③、MOVR1,#60HMOVP2,#10HMOVXA,@R1MOV54H,A④、MOVDPL,#60HMOVDPH,#10HMOVXA,@DPTRMOVR0,#54HMOV@R0,A020、要實現(xiàn)寄存器R7內(nèi)容傳送到R1中去,以下哪種程序段不正確()。①、MOVA,R7MOV@R1,A②、MOV30H,R7MOV@R1,30H④、MOVB,R7③、MOV@R1,R7MOV@R1,B021、電子計算機技術(shù)在半個世紀中雖有很大進步,但至今其運行仍遵循著一位科學(xué)家提出的基本原理。這位科學(xué)家是()。①、牛頓②、愛因斯坦③、愛迪生④、馮。諾伊曼022、用晶體管作為電子器件制成的計算機屬于()。(1)、第一代(2)、第二代(3)、第三代(4)、第四代023、通常所說的主機是指()。(1)、運算器和控制器(2)、CPU和磁盤存儲器(3)、CPU和主存(4)、硬件和軟件024、計算機能直接識別的語言是()。(1)、匯編語言(2)、自然語言(3)、機器語言(4)、高級語言025、在CPU中,控制器的功能是()。(1)、進行邏輯運算(2)、進行算術(shù)運算(3)、分析指令并發(fā)出相應(yīng)的控制信號(4)、只控制CPU的工作026、所謂“祼機”是指()。(1)、單片機(2)、單板機(3)、只裝備操作系統(tǒng)的計算機(4)、不裝備任何軟件的計算機027、下列數(shù)據(jù)中有可能是八進制數(shù)的是()。(1)、764(2)、238(3)、396(4)、789028、下列4種不則進制的無符號數(shù)中最小的數(shù)是()。(1)、11011001B(2)、37O(3)、75(4)、2AH029、PC是()。(1)、一根硬件信號線(2)、一個可由用戶直接讀寫的8位RAM寄存器(3)、一個不可尋址的特殊功能寄存器(4)、一個能自動1計數(shù)的ROM存儲單元。030、在CPU內(nèi)部,反映程序運行狀態(tài)或反映運算結(jié)果的一些特征寄存器是()。(1)、PC(2)、PSW(3)、ACC(4)、SP031、外部中斷1固定對應(yīng)的中斷入口地址為()。(1)、0003H(2)、000BH(3)、0013H(4)、001BH032、各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在MCS-51系統(tǒng)中的()。(1)、TMOD(2)、TCON/SCON(3)、IE(4)、IP033、MCS-51的并行IO口信息有兩種讀取方法,一種是讀引腳,還有一種是()。(1)、讀鎖存(2)、讀數(shù)據(jù)(3)、讀A累加器(4)、讀CPU034、MCS-51的并行IO口讀-改-寫操作,是針對該口的()。(1)、引腳(2)、片選信號(3)、地址線(4)、內(nèi)部鎖存器035、以下指令中,屬于單純讀引腳的指令是()。(1)、MOVP1,A(2)、ORLP,#0FH(2)、MOVC,P1.5(4)、DJNZP1,short-lable036、以下哪種情況不屬于微型機引入中斷技術(shù)后的好處()。(1)、分時操作(2)、實時處理(3)、故障處理(4)、高速傳送數(shù)據(jù)037、下面哪種情況并不是單片機系統(tǒng)響應(yīng)中斷的必要條件()。(1)、TCON或SCON寄存器內(nèi)的有關(guān)中斷標(biāo)志位為1。(2)、IE中斷允許寄存器內(nèi)的有關(guān)中斷允許位置1。(3)、IP中斷優(yōu)先級寄存器內(nèi)的有關(guān)位置1。(4)、當(dāng)前一條指令執(zhí)行完。038、CPU尋址外設(shè)端口地址的方法有兩種,一種是統(tǒng)一編址,另一種是()。(1)、混合編址(2)動態(tài)編址(3)獨立編址(4)變址編址039、訪問片外數(shù)據(jù)存儲器時,不起作用的信號是()。(1)、RD(2)、WR(3)PSEN(4)ALE040、下列四條敘述中,有錯誤的一條是()。(1)、16根地址線的尋址空間可達1MB。(2)、內(nèi)存儲器的存儲單元是按字節(jié)編址的。(3)、CPU中用于存放地址的寄存器稱為地址寄存器。(4)、地址總線上傳送的只能是地址信息。041、20根地址線的尋址范圍可達()。(1)、512KB(2)、1024KB(3)、640KB(5)、4096KB042、主存儲器系統(tǒng)中使用Cache的目的是()。(1)、增加主存容量(2)、存放常用的系統(tǒng)程序(3)、存放固化的軟件(4)、提高CPU存取主存的速度043、MCS-51系列單片機外擴存儲器芯片時,4個IO口中用作數(shù)據(jù)總線的是()。(1)、P0和P2口(2)、P0口(3)、P2和P3口(4)、P2口044、計算機工作時,能寫入也能讀出的半導(dǎo)體存儲器是()。(1)、RAM(2)、ROM(3)、磁盤(4)、磁帶045、區(qū)分片外程序存儲器還是數(shù)據(jù)存儲器的最可靠方法是()。(1)、看其芯片型號是RAM還是ROM(2)、看其位于地址范圍的低端還是高端(3)、看其離MCS-51芯片的遠近(4)、看其是被RD信號連接還是被PSEN信號連接046、指令A(yù)JMP的跳轉(zhuǎn)范圍是()。(1)、256(2)、1KB(3)、2KB(4)、64K三、編程題001、編寫程序?qū)崿F(xiàn)兩個4位BCD數(shù)相加,設(shè)被加數(shù)存放在內(nèi)部RAM40H和41H單元,加數(shù)存放在45H和46H單元,和數(shù)存入50H和51H單元,并設(shè)最高位不產(chǎn)生進位。解:程序如下:MOVA,41HADDA,46HDAAMOV51H,AMOVA,40HADDCA,45HDAAMOV50H,ASJMP$002、編寫程序,將1字節(jié)的壓縮BCD數(shù)轉(zhuǎn)換為二進制數(shù),并存入內(nèi)部RAM30H單元中。解:程序如下:MOVA,40HSWAPAANLA,#0FHMOVB,#10MULABANL40H,#0FHADDA,40HMOV30H,ASJMP$003、編寫程序,將一個字節(jié)的二進制數(shù)轉(zhuǎn)換為BCD數(shù)(0-255),并存入內(nèi)部RAM31H和32H單元中。解:程序如下:MOVA,30HMOVB,#10DIVABMOV32H,BMOVB,#10DIVABXCHA,BSWAPAORL32H,AMOV31H,BSJMP$004、試編寫一個程序,將內(nèi)部RAM中45H單元的高4位清0,低4位置1。解:程序如下:MOVA,#0FHXCHA,45H005、設(shè)有字無符號數(shù)X、Y存放在內(nèi)部RAM30H、31H和32H、33H,試編寫求|X-Y|的程序。解:程序如下:CLRCMOVA,31HSUBBA,33HMOV35H,AMOVA,30HSUBBA,32HJNCNNCPLAMOV34H,AMOVA,35HCPLAADDA,#1MOV35H,AMOVA,34HADDCA,#0NN:MOV34H,ASJMP$006、設(shè)平面上一點P的直角坐標(biāo)為(X,Y),X、Y為字節(jié)符號數(shù),試編寫若P落在第I象限內(nèi),則令K=I;若P落在坐標(biāo)軸上,則令K=0的程序。解:程序如下:XDATA30HYDATA31HKDATA33HMOVA,YJZK0MOVA,XJZK0JNBACC。7,K14MOVA,YJNBACC。7,K2MOVK,#3SJMP$K2:MOVK,#2SJMP$K0:MOVK,#0SJMP$K14:MOVA,YJNBACC。7,K1MOVK,#4SJMP$K1:MOVK,#1SJMP$007、編寫程序把起始地址為1000H的100個連續(xù)單元中的內(nèi)容送到以2000H開始的單元中。解:程序如下:MOVDPTR,#1000HAG1:MOVXA,@DPTRXRLDPH,#30HMOVX@DPTR,AXRLDPH,#30HINCDPTRMOVA,DPLCJNEA,#04H,AG1SJMP$008、編程求內(nèi)部RAM中40H-49H10個單元中的內(nèi)容的平均值,并放入4AH單元中。解:程序如下:MOVR0,#40HCLRAMOV4AH,AAG1:ADDA,@R0JNCNINCINC4AHNINC:INCR0CJNER0,#4AH,AG1XCHDA,@R0SWAPAMOVB,#10DIVABXCHA,@R0XCHA,BSWAPAORLA,BMOVB,#10DIVABSWAPAORLA,@R0SWAPAMOV@R0,ASJMP$009、從2000H地址單元開始,連續(xù)存有200W個字節(jié)補碼數(shù),編寫程序?qū)⑺鼈兏淖優(yōu)楦髯缘慕^對值。解:程序如下:MOVDPTR,#2000HAG1:MOVXA,@DPTRJNBACC。7,NNCPLAINCAMOVX@DPTR,ANN:INCDPLMOVA,DPLCJNEA,#200,AG1SJMP$010、編寫程序把內(nèi)部RAM20H-23H單元的內(nèi)容分別送到2000H、2004H、2008H和200CH單元中。解:程序如下:MOVDPTR,#2000HMOVR0,#20HAG1:MOVA,@R0MOVX@DPTR,AINCR0MOVA,DPLADDA,#4MOVDPL,ACJNER0,#24H,AG1SJMP$011、編寫程序求放在3000H單元開始的5個字無符號數(shù)的和,并將和存放在3100H開始的單元中。解:程序如下:MOVDPTR,#3000HMOV40H,#0MOV41H,#0MOV42H,#0MOVR7,#5AG1:MOVXA,@DPTRMOV4AH,AINCDPLMOVXA,@DPTRADDA,42HMOV42H,AMOVA,41HADDCA,4AHMOV41H,AJNCNIINC40HNI:INCDPLDJNZR7,AG1MOVR0,#40HMOVDPTR,#3100HAGI1:MOVA,@R0MOVX@DPTR,AINCDPLINCR0CJNER0,#43H,AGI1SJMP$012、從內(nèi)部RAM的DATA單元開始,存有H個數(shù)。請設(shè)計一個程序,將其中正數(shù),零及負數(shù)分選出來,將數(shù)據(jù)塊中的正數(shù)和零傳送到自ZHEN單元開始的存貯區(qū),而把其中的負數(shù)送到FUSH單元開始的存貯區(qū)。解:程序如下:ORG300HSTART:MOVR1,#HMOV20H,#ZHENMOV21H,#FUSHMOVR0,#DATALOOP:MOVA,@R0JBACC。7,NEGMOVVR1,#20HMOV@R1,AINC20HSJMPHEDNEG:MOVR1,21HMOV@R1,AHED:INCR0DJNZR2,LOOPSJMP$013、從20H單元開始存一組帶符號數(shù),數(shù)組長度存于1FH單元,要求統(tǒng)計出其中大于零、等于零和小于零的數(shù)的數(shù)目,并把統(tǒng)計結(jié)果分別存入ONE,TWO,THREE三個單元。解:程序如下:START:MOVR0,#20HMOVR2,#1FHCLRAMOVONE,AMOVTWO,AMOVTHREE,ALOOP:MOVA,@R0JZZEROJBACC。7,NEGINCONESJMPNEXTZERO:INCTWONEXT:INCR0DJNZR2,LOOPSJMP$014、從2000H單元開始的外部RAM中存有100個數(shù),要求把它傳送到自2500H單元開始的存貯區(qū)中去,但在傳遞過程中要檢查數(shù)的值,遇到第一個零就停止傳送,編制完成此功能的程序。解:程序如下:START:MOVR7,#64HMOVR2,#00HMOVR3,#20HMOVR4,#00HMOVR5,#25HLOOP:MOVDPL,R2MOVDPH,R3MOVXA,@DPTRJZSTOPMOVDPL,R4MOVDPH,R5MOVX@DPTR,AINCR2INCR4DJNZR7,LOOPSTOP:SJMPSTOP015、設(shè)有一個巡回檢測報警裝置,需對16路輸入值進行比較,當(dāng)每一路輸入值超過該路的報警值時,實現(xiàn)報警,下面根據(jù)這一要求,編制一個查表程序,X為路數(shù),查表時X按0、1、2、…15(n=15)取ii數(shù),Yi為最大值,二字節(jié)數(shù),依Xi順序列成表格放在TABi中,進入查表程序前,路數(shù)Xi放在R2中,查表后的最大值放在R3,R4中。解:程序如下:TB1:MOVA,R2ADDA,R2MOVR3,AADDA,#TABMOVCA,@A+PCMOVR4,ASJMP$TAB:DW05F0H,0E89H,0A695H,1EAAHDW0D9BH,7F93H,0373H,26D7HDW2710,9E3FH,1A66H,22E3HDW1174H,16EFH,33E4H,6CA0H016、從DATA單元開始,有10個8位無符號數(shù),編寫求這10個數(shù)和的程序,其和放到SUM和SUM+1單元中(低位先存)解:程序如下:START:MOVR0,#DATAMOVR2,#0AHMOVR3,#00HMOVR4,#00HLOOP:MOVA,R3ADDA,@R0MOVR3,AMOVA,R4ADDCA,#00HMOVR4,AINCR0DJNZR2,LOOPMOVSUM,R3MOVSUM+1,R4SJMP$017、自內(nèi)部RAM的BUFF單元開始,放有一個數(shù)據(jù)塊,BUFF單元中放的是數(shù)據(jù)塊的長度,從BUFF+1開始存放的是以ASCII碼表示的10進制數(shù)碼,把它們轉(zhuǎn)換為BCD碼,且把兩個相鄰單元的數(shù)碼并成一個單元(地址高的放高四位),放到從BUFF+1開始的存貯區(qū)中。解:程序如下:START:MOVR2,BUFFMOVR0,#BUFF+1MOVR1,#BUFF+1LOOP:MOVA,@R0MOV@R1,AINCR0MOVA,@R0SWAPAXCHDA,@R1MOV@R1,AINCR0INCR1DJNZR2,LOOPSJMP$018、從內(nèi)部RAM的BLOCK地址開始有一個無符號數(shù)據(jù)塊,長度存于LEN單元,求出數(shù)據(jù)塊中的最小元素,并將其存入MINI單元。解:程序如下:MINIDATA20HLENDATA21HBLOCKDATA22HMOVR0,#BLOCKMOVR1,LENMOVMINI,#0FFHMOVA,R1JZFINILOOP:MOVA,@R0INCR0CJNEA,MINI,NEXTJNCNEXTMOVMINI,ANEXT:DJNZR1,LOOPFINI:SJMP$019、在內(nèi)部RAM的BLOCK單元開始的數(shù)據(jù)內(nèi)存放著若干帶符號數(shù),數(shù)據(jù)塊長度存于LEN單元。要求對數(shù)據(jù)塊內(nèi)的正數(shù)和負數(shù)分別相加,相加的結(jié)果分別存入SUM1和SUM2單元。設(shè)相加的結(jié)果不超過8位二進制數(shù)。解:程序如下:SUM1DATA20HSUM2DATA21HLENDATA22HBLOCKDATA23HMOVR0,#BLOCKMOVR1,LENMOVSUM1,#00HMOVSUM2,#00HMOVA,R1JZFINILOOP:MOVA,@R0INCR0JBACC。7,NEXT1ADDA,SUM1MOVSUM1,ASJMPNEXT2NEXT1:ADDA,SUM2MOVSUM2,ANEXT2:DJNZR1,LOOPFINI:SJMP$020、求內(nèi)部RAM的50H-5AH中的最大值并放入5AH單元。解:程序如下:MOVR0,#50HMOVR2,#10MOVA,@R0LOOP:INCR0MOVB,@R0CJNEA,B,$+3JNCNEXTMOVA,@R0NEXT:DJNZR2,LOOPMOV@R0,ASJMP$四、問答題001、MCS-51引腳中有多少IO線?它們和單片機對外的地址總線和數(shù)據(jù)有什么關(guān)系?地址總線和數(shù)據(jù)總線各是幾位?答:MCS-51芯片的引腳中有32條IO線,因為有4個8位并行口共32條,51系列單片機沒有獨立的數(shù)據(jù)總線和地址總線,而是和一部分IO線復(fù)用。具體來說,P0口的8條線從那時起用作地址總線低8位和8位數(shù)據(jù)總線,而P2口8位線用作地址總線高位。所以是16位地址總線和8位數(shù)據(jù)總線。002、什么叫堆棧?堆棧指示器SP的作用是什么?8051單片機堆棧的容量不能超過多少字節(jié)?答:堆棧是數(shù)據(jù)存貯器的一部分,這一部分數(shù)據(jù)的存取是按照先入后出,后入先出的原則進行的。堆棧指針SP在啟用堆棧之前是用來決定堆棧的位置。如在8051芯片復(fù)位后,SP的值為07H,則RAM的其它部分。在堆棧啟用之后,SP指向堆棧的頂部,好由SP來決定數(shù)據(jù)讀出和存入堆棧的地十。8051單片機內(nèi)部用作數(shù)據(jù)區(qū)的RAM的容量為128字節(jié),前8個字節(jié)要用來作為工作寄存器R0-R7。堆棧可以從08H開邕設(shè)直到7FH,共120個節(jié)。但這只是最大可能的容量。一般情況下,內(nèi)部RAM還要分出一部分用作一般的數(shù)據(jù)區(qū),或者還要用其中的位尋址區(qū)來用于位操作,等等。所以8051的堆棧區(qū)是比較小的,使用時要注意到這個限制。003、8051單片機的內(nèi)部數(shù)據(jù)存貯器可以分為幾個不同區(qū)域?各有什么特點?答:8051單片機的內(nèi)部數(shù)據(jù)存貯器的容量為256字節(jié)(地址為00H-FFH)。它可以分為兩大部分,各占128個字節(jié)。前128字節(jié)為讀寫數(shù)據(jù)區(qū),地址為00H-7FH。后128個字節(jié)為特殊功能寄存器區(qū),21個特殊功能寄存分散地分布在這人區(qū)域,各有自己特定的地址。而這個區(qū)域中,沒有被特殊功能寄存器占用的單元也不能當(dāng)作一般的RAM單元使用。00H-7FH的RAM單元,都可按它們的直接地址來讀寫數(shù)據(jù)。而其中的前32個單元。即00H-1FH單元又稱為工作寄存器區(qū),安排了4組工作寄存器,每組8個,都用R0-R7表示,并通過PSW寄存器中RS1和RS0來選組。通過工作寄存器R0---R7來對這部分數(shù)據(jù)單元讀寫數(shù)據(jù)不僅速度快而且指令字節(jié)數(shù)也少。另一個區(qū)域為位尋制區(qū)。占用20H-2FH共16個單元,這16個單元的每一位都可以獨立進行操作,共用128個可單獨操作的位。而30H-7FH這80個單元只能接它們的直接地址來操作。004、MCS-51單片機的尋址范圍是多少?8051單片機可以配置的存貯器最大容量是多少?而用戶可以使用的最大容量又是多少?答:MCS-51單片機的指令存貯器尋址范圍為64KB,數(shù)據(jù)存貯器也有64KB尋址范圍,地址都是從0000H-FFFFH,總共有2*64KB的尋址范圍。8051可以配置的外部存貯器就是2*64KB容量。但8051片內(nèi)還配有存貯器,包括4KB容量的只讀存貯器和256字節(jié)的數(shù)據(jù)存貯器,總共容量為132,25KB。但用戶可以使用的容量只有2*64KB再加上256字節(jié)的數(shù)據(jù)存貯器。005、8051單片機對外有幾條專用控制線?其功能是什么?答:一般的說法是8051單片機有4條專用控制線。它們是復(fù)位信號線RST,高電位有效,當(dāng)有復(fù)位信號從此線輸入時,使單片機復(fù)位。訪問外部存貯器控制信號EA,低電平有效,當(dāng)此控制線為低電平時,單片機全部使用外部指令存貯器,而當(dāng)此控制線為高電平時,先使用片內(nèi)的4KB指令存貯器(0000H-0FFFH),在4KB范圍之外,才使用外部指令存貯器(地址為1000H-FFFFH)。另有兩條輸出控制線,外部程序存貯器的讀選通信號PSEN和外部地址鎖存器允許信號ALE。前者是低電平有效,在讀外部程序存貯器時使用。后者是高電平有效,在鎖存P0口輸出的低8位地址時使用。006、什么叫指令周期?什么叫機器周期?MCS-51的一個機器周期包括多少時鐘周期?答:完成一條指令的執(zhí)行所需的時間叫做指令周期。對不同的指令,指令周期的長短是不一定相同的。機器周期則是指計算機完成某種基本操作所需的時間,一個指令周期由一個或幾個機器周期組成,一個機器周期則包括若干個時鐘周期。MCS-51單片機的一個機器周期包括12個時鐘周期。但對有些微處理器來說,不同的機器周期所包含的時鐘周期可能是不相同的。007、為什么要了解CPU的時序?答:了解CPU時序就是了解在執(zhí)行不同類型指令時CPU發(fā)出的控制信號有什么不同。了解CPU的時序至少有兩個目的,其一是掌握不同的指令或操作使用不同的控制信號后,便于CPU對外部設(shè)備的連接而不致于發(fā)生錯誤。其二是知道不同指令需要不同的機器周期后,可以選用功能相同而機器周期較少的指令,以減少程序的執(zhí)行時間。當(dāng)然,也可以有一些其它的作008、在讀外部程序存貯器時,P0口上一個指令周期中出現(xiàn)的數(shù)據(jù)序列是什么?在讀外部數(shù)據(jù)存貯器時,P0口上出現(xiàn)的數(shù)據(jù)序列是什么?答:讀外部程序存貯器(ROM)時,有兩種情況,一種是單純地取指令,這時P0口上先送出指令所在地址低8位,然后從ROM中取回指令碼。按照指令字節(jié)數(shù)的不同,這人數(shù)據(jù)序列可能重復(fù)若干次。另一種情況,則是執(zhí)行從外部ROM中讀取固有數(shù)據(jù)的指令,這時,P0口上先送出指令地址低8位,再從ROM中取回指令碼,然后開始執(zhí)行指令,接著從P0口上送出ROM數(shù)據(jù)單元地址低8位,再讀回ROM中的數(shù)據(jù)。而在讀外部數(shù)據(jù)存貯器(RAM)時,P0口上先送出指令地址低8位,然后讀回指令碼,再送出數(shù)據(jù)存貯單元地址低8位,再讀回數(shù)據(jù)單元的內(nèi)容009、為什么外擴存貯器時,P0口要外接地址鎖存器,而P2口卻不接?答:這是因為在讀寫外部存貯器時,P0口上先送的低8位地址只維持很短的時間,然后P0口就要當(dāng)作數(shù)據(jù)總線用。為了使對外在整個讀寫外部存貯器期間,都存在有效的低8位地址信號,P0口就要外接一個地址鎖存器,再從這個鎖存器對外送同低8位地址。而P2口只用作高8位地址線,并在整個讀寫期間不變,所以不必外接地址鎖存器。010、在使用外部程序存貯器時,MCS-51單片機還有多少條IO線可用?在使用外部數(shù)據(jù)存貯器時,還有多少條IO線可用?答:使用外部程序存貯器時,原則上說,P0口和P2口要用作數(shù)據(jù)總線和地址總線,所以只有P1口和P3口可用作IO口,共16條IO線。在使用外部數(shù)據(jù)存貯器時,除了占用P0和P2口之外,還需用WR和RD控制線,而這兩條線就是P3口中的兩條:P3。6和P3.7,所以這時只有14條IO線可以用了,當(dāng)然取于所配置的外部程序存貯器或數(shù)據(jù)存貯器的容量,P2口的8條線并一定全部占用,有時還有幾條沒有用,但即使如此,這幾條線也不能再用作IO線,而只能留作系統(tǒng)擴展時再用011、程序存貯器和數(shù)據(jù)存貯器的擴展有何相同點及不同點?試將8031芯片外一片2716EPROM和一片2128RAM組成一人擴展后的系統(tǒng),畫出擴展后的連接圖。答:兩者的相同點是,都借用P0口和P2作為數(shù)據(jù)總線和地址總線,也就是說,地址線和數(shù)據(jù)線的連接方法是相同的,地址范圍都是在0000H-FFFFH之間。兩者的不同點是,所用的讀寫選通信號不同,擴展程序存貯器時用控制線PSEN,而擴展數(shù)據(jù)存貯器時使用讀寫控制線RD和WR。當(dāng)然每塊芯片具體需要幾條地址線,是由芯片的容量來決定的,容量大的芯片需要借用P2的IO線的數(shù)量多。而數(shù)據(jù)線則都是8條。2716是2K*8的EPROM,2128是2K*8的RAM,兩者都只需11條地址線。由于題目中沒有規(guī)定地址范圍,幫可按最簡單的方式來連接,即只用PSEN來控制EPROM的讀出,用RD和WR控制RAM的讀寫,兩塊芯片的片選端都固定接地,連接圖如圖所示。這種連接方式可以省去地址譯碼器,但它有一個缺點,那就是系統(tǒng)的擴充能力很差,因此,在實用時還是考慮使用譯碼器為好。012、8051芯片需要

溫馨提示

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

評論

0/150

提交評論