




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
長江大學《單片機原理及應用》試題庫一、填空題※001、單片機片內程序存儲器按編程方式可分為ROM型(掩模型)OTP型(一次性編程)EPROM(紫外線擦除編程)EEPROM(電擦除編程)FLASH(閃速編程)。002、MCS-51的物理地址空間由片內數據存儲區片外數據存儲區片內程序存儲區片外程序存儲區四個存儲器組成。003、MCS-51系列單片機的存儲器,是由三個彼此獨立的地址空間來組織的,它們分別為片內數據存儲區片外數據存儲區程序存儲區。004、單片機復位時,PC=0000H,ACC=00H,PSW=00H,SP=07H,P0-P3=0FFH。005、MCS-51系列單片機的地址總線是16位,數據總線是8位。006、MCS-51系統單片機的數據總線由P0提供,低八位地址總線由P0提供,高八位地址總線由P2提供。007、MCS-51系列單片機的一個機器周期包含12個時鐘周期;設晶振頻率為6MHz,則時鐘周期為0.167微秒,機器周期為2微秒。008、8051型號單片機內部有21個特殊功能寄存器,它們可以分為4組。009、堆棧在片內數據存儲區,程序存放在程序存儲區,外部IO接口設置片外數據存儲區,中斷服務程序存入在程序存儲區。010、指令MOVCA,@A+DPTR屬于變址尋址方式,指令MOVA,R3屬于寄存器尋址方式,指令MOVC,04H屬于直接尋址方式,MOV30H,#24H屬于直接尋址方式。011、8051型號的單片機內部有11個用戶可位尋址單元。012、8031單片機有32個IO線。013、執行下列程序后,CY=1、OV=0、A=94H。MOVA,#56HADDA,#74HADDA,A014、設內部RAM中(59H)=50H,執行一列程序段后,A=25H、(50H)=0、(51H)=25H、(52H)=70H。MOVA,59HMOVR0,AMOVA,#00HMOV@R0,AMOVA,#25HMOV51H,AMOV52H,#70H015、執行下列程序段后,A=0A7H、R0=7AH、(R0)=0A7H。MOVR0,#0A7HXCHA,R0SWAPAXCHA,R0MOV@R0,A016、執行下列程序段后,A=6EH、(30H)=0EEH、(R0)=0EEH。MOV30H,#0A4HMOVA,#0D6HMOVR0,#30HMOVR2,#47HANLA,R2ORLA,@R0SWAPACPLAXRLA,#0FFHORL30H,A017、下述程序執行后,SP=42H、A=30H、B=30H。ORG2000HMOVSP,#40HMOVA,#30HLCALL2500HADDA,#10HMOVB,AL1:SJMPL1ORG2500HMOVDPTR,#2009HPUSHDPLPUSHDPHRET018、若指令CJNE@R1,#7AH,10H的地址為1800H,則其轉移地址為1813H。019、已知:A=0C9H,B=8DH,CY=1,則指令ADDCA,B執行之后,A=57H、B=8DH。020、已知:A=0C9H,B=8DH,CY=1,則指令SUBBA,B執行之后,A=3BH、B=8DH。021、已知:A=0C9H,B=8DH,CY=1,則指令ADDA,B執行之后,A=56H、B=8DH。022、已知:A=0C9H,B=8DH,CY=1,則指令SUBA,B執行之后,A=題錯、B=題錯。023、下述程序段執行之后,A=64H、(50H)=00H。CLRAMOV50H,#64HL1:INCADJNZ50H,L1※024、執行下列程序段后,內部RAM中的(90H)=30H、(0A0H)=0CFH。MOVP1,#30HMOVA,90HCPLAMOVP2,A025、在程序存儲器中,數據表格為:1010H:02H1011H:04H1012H:06H1013H:08H執行下列程序之后,A=02H、R0=02H、PC=1004H。1000H:MOVA,#0DH1002H:MOVCA,@A+PC1003H:MOVR0,A026、在程序存儲器中,數據表格為:7010H:02H7011H:04H7012H:06H7013H:08H執行下列程序段之后,A=02H、DPH=70H、PC=1009H。1004H:MOVA,#10H1006H:MOVDPTR,#7000H1008H:MOVCA,@A+DPTR027、已知A中內容為34H,執行下列程序之后,A=34H、R6=92H。MOVR6,#29HXCHA,R6SWAPAXCHA,R6028、設SP=60H,內部RAM的(30H)=24H,(31H)=10H,在下列程序段注釋下畫線下填寫執行結果。PUSH30HPUSH31HPOPDPL;SP=61H、(SP)=24H。;SP=62H、(SP)=10H。;SP=61H、DPL=10H。;SP=60H、DPH=24H。POPDPHMOVA,#00HMOVX@DPTR,A029、執行下列程序段后,內部RAM的(20H)=0B0H、A=90H。MOV20H,#0A4HMOVA,#0D6HMOVR0,#20HMOVR2,#57HANLA,R2ORLA,@R0SWAPACPLAORL20H,ACLR01HCLR02H※030、執行下列程序段后,A=77H、PC=1004H。1000H:MOVA,#02H1002H:MOVCA,@A+PC1003H:RET1004H:66H,77H,88H,99H031、子程序返回指令是RET,中斷服務程序返回指令是RETI。032、已知內部RAM的(40H)=20H,(41H)=10H,執行下列程序段后,A=30H、PC=1020H。1020H:PUSH40H1022H:PUSH41H1024H:MOVA,#30HRET033、已知A=55H,CY=1,執行下列程序段后,A=55H、CY=1。MOVR2,#04HLOOP:RRADJNZR2,LOOP034、已知A=55H,CY=1,執行下列程序段后,A=5AH、CY=1。MOVR2,#04HLOOP:RRCADJNZR2,LOOP035、已知A=55H,CY=1,執行下列程序段后,A=55H、CY=1。MOVR2,#04HCLRCLOOP:RRCADJNZR2,LOOP036、MCS-51系列單片機訪問內部RAM數據存儲器時用MOV指令,訪問外部數據存儲器時用MOVX指令,訪問程序存儲器時用MOVC指令。037、MOVX@DPTR,A指令作用是對片外數據存儲器或片外IO口寫操作。038、MOVXA,@DPTR指令作用是對片外數據存儲器或片外IO口讀操作。039、MCS-51系列單片機中對SFR(特殊功能寄存器)采用直接尋址方式。040、8051單片機內部有2個可編程定時計數器。041、8051單片機的定時計數器T0由TH0和TL0專用寄存器組成。042、8051單片機的定時計數器T1由TH1和TL1專用寄存器組成。043、MCS-51系列單片機的定時計數器作為計數時,最高計數頻率為振蕩頻率的1/24倍,當晶振頻率為12MHz時,則其最高計數頻率為0.5MHz。044、MCS-51系列單片機的定時計數器作為定時時,計數頻率為時鐘頻率的1/12,設時鐘頻率為12MHz,則其最高計數頻率為1.0MHz。045、設單片機的定時計數器0選方式2作為計數功能,定時計數器1選方式1作為定時,初始化方式寄存器為MOVTMOD,#16H。046、指令MOVTMOD,#22H的功能是定時計數器0和定時計數器1都是以方式2作為定時功能。047、設晶振頻率為6MHz,定時器處于不同的工作方式時,最大定時范圍分別是512us16384us131072us。048、設晶振頻率為6MHz,用定時器1產生100ms的定時,則計數初值應為3CB0H。049、設晶振頻率為6MHz,用定時器1產生100us的定時,則計數初值應為FF78H。050、單片機的發展大致可分為2個階段。051、單片機與普通計算機不同之處在于其將CPU、存儲器和I/O三部分集成于一塊芯片之上。052、單片機的存儲設計采用哈佛結構,它的特點是將程序存儲空間和數據存儲空間在物理上分開。053、CPU主要由運算器和控制器組成。CPU中的布爾處理器用來處理位操作。054、第四代計算機所采用的主要器件是中大規模以上集成電路。055、MCS-51系列單片機中,片內元ROM的機型是8031,有4KBROM的機型是8051,而有4KBEPROM的機型是8751。056、-32的補碼是11100000B,補碼11011010B代表的真值是-38D。057、原碼數BFH=-63D,原碼數6EH=110D。058、100的補碼=64H,-100的補碼=9CH。059、在8031單片內部,其RAM高端128個字節的地址空間稱為特殊功能寄存器區或SFR區,但其中僅有個字節有實際意義。060、通常單片機復位時,PC=0000H,SP=07H,通用寄存器則采用第0組,這一組寄存器的地址范圍是從00H到07H。061、若PSW=18H,則選取的是第3組通用寄存器。062、8031單片機復位后,R4所對應的存儲單元地址為04HH,因上電時PSW=00HH。063、若A中的數據為63H,那么PSW的最低位(即奇偶位P)為0。064、在微機系統中,CPU是按照程序計數器PC來確定程序的執行順序的。065、堆棧遵循先進后出(或后進先出)的數據存儲原則,針對堆棧的兩種操作是PUSH和POP。066、在8031單片機中,使用P2、P0口傳送地址信號,且使用了P0口來傳送數據信號,這里采用的是總線復用技術。067、使用8031單片機時需將EA引腳接低電平,因為其片內無程序存儲器,8031片外可直接尋址的存儲空間達128KB。068、8位機中的補碼數80H和7FH的真值分別為-128和127。069、配合實現“程序存儲自動執行”的寄存器是PC,以其操作的一個特別之處是每取完一字節指令后PC自動加1。070、MCS-51單片機的PC的長度為16位,SP的長度為8位,數據指針DPTR的長度為16位。071、指令格式由操作碼和操作數或操作數地址這兩部分組成。072、尋址方式分為對指令的尋址和對數據的尋址兩大類。073、訪問8031片外數據存儲器采用的是寄存器間接尋址方式。074、設A=55H,R5=AAH,則執行ANLA,R5指令后的結果是A=00H,R5=AAH。075、計算機對輸入輸出設備的控制方式主要有三種,其中,程序查詢方式硬件設計最簡單,但要占用不少CPU的運行時間;直接存儲器訪問方式的硬件線路最復雜,但可大大提高數據傳送效率,而程序中斷方式則介于上述兩者之間。076、IO端口與外部設備之間傳送的信息可分為3類。077、MCS-51單片機系列有5個中斷源,上電復位時,同級中斷的優先級別從高至低為外部中斷0定時計數器0外部中斷1定時計數器1和串行口中斷,若IP=00010100B,則優先級別最高者為外部中斷1、最低者為定時計數器1。078、在MCS-51單片機系統中,當某個中斷源發出中斷請求,單片機予以響應時,它必須處于源允許和總允許兩級開中斷狀態。079、中斷請求信號有電平觸發和邊沿觸發兩種觸發方式。080、若系統晶振頻率為12MHz,則T0工作于定時和計數方式時的最高(計數)信號頻率分別為1000KHz和500KHz。081、要對300W個外部事件計數,可以選用定時計數器T1的模式0或模式1。082、MCS-51單片機8031中有2個16位的定時計數器,可以被設定的工作方式有4種。083、在串行通信中采用偶校驗,若傳送的數據為0A5H,則其奇偶位應為0(用“0”,“1”表示)。084、在異步通信中若每個字符由11位組成,串行口每秒傳送250個字符,則對應波特率為2750。085、CPU尋址外設端口地址的方法有統一編址和獨立編址兩種。086、當8051的RST端上保持兩個機器周期以上的低電平時,8051即發生復位。087、若系統晶振頻率為6MHz,則時鐘周期為0.33us,機器周期為2us,最短和最長的指令周期分別2us和8us。088、若系統晶振頻率為8M,則執行一條MULAB指令所需時間為6us。089、當單片機的型號為8031/8032時,其芯片引線EA一定要接低電平。090、CPU與內存或IO接口相連的系統總線通常由地址數據控制等三種信號組成。091、MCS-51機中擴展IO口占用片外數據存儲器的地址空間。092、MCS-51單片機訪問片外存儲器利用ALE信號鎖存來自P0口的低八位地址信號。093、12根地址線可選4096個存儲單元,32KB存儲單元需要15根地址線。094、若LED為共陽極接法(即負邏輯控制),則提示符P的七段代碼值應當為0CH或8CH。095、用并行口擴展一個有32只按鍵的行列式鍵盤,最少需要12根IO線。096、若增加8KBX8位的RAM區,請問選用Intel2114(1KBX4位)需購16片;若改用6116(2KBX8)需購4片;若改用6264(8KBX8)需購1片。097、三態緩沖寄存器的“三態”是指低電平態,高電平態和高阻態。098、74LS138是具有3個輸入的譯碼器芯片,其輸出作為片選信號時,最多可以選中8塊芯片。099、74LS273通常用來作簡單輸出接口擴展,而74LS244則常用來作簡單輸入接口擴展。100、存儲器的主要功能是存儲指令和數據。101、半導體存儲器的最重要的兩個指標是存儲容量和存取速度。102、若你正在編輯某個文件,突然斷電,則計算機中RAM類型存儲中的信息全部丟失,且通電后也不能自動恢復。103、MCS-51單片機的外部存儲器分為程序和數據兩部分,要將這兩部分合二為一使用時,需用RD和PSEN兩個控制信號相與后產生的信號對存儲器進行選通。104、32KBRAM的首地址若為2000H,則末地址為9FFFH。105、一個8路數據選擇器有3個選擇輸入端。106、起址范圍為0000H-3FFFH的存儲器容量為16KB。107、已知RAM芯片6116(2KBX8)的內部存儲單元排列為128行X16列,請問所采用的內部雙譯碼行輸入地址線為7根,列輸入地址線為4根,該片共占用11根地址線。108、已知RAM芯片6116(2KBX8)有24條外引腳,請問應分配11個引腳給地址線,分配8個引腳給數據線,再分配2個引腳給電源和地線外,剩余的3個引腳應該分配給CEOEWE。109、一個2輸入二進制譯碼器,共有4個輸出。110、8255可編程芯片通常作為并行接口擴展之用。111、8253可編程芯片通常作為定時計數器擴展之用。112、8155可編程芯片通常作為并行接口,計數器,存儲器擴展之用。113、8279可編程芯片通常作為鍵盤、顯示控制器擴展之用。114、若用8255或8155來擴展一個有36只按鍵的行列式鍵盤,最少需要12根IO線。115、MCS-51單片機的51子系列含有2個16位的定時器,52子系列含有3個16位的定時器。116、用一處8279芯片最多可擴展64只按鍵和16只長段顯示器。117、8279芯片中的16字節顯示緩沖區,其數據應該送待顯字符的七段代碼碼。118、A/D轉換器的作用是將模擬量轉為數字量;D/A轉換器的作用是將數字量轉為模擬量。119、A/D轉換器的兩個最重要指標是轉換速度和轉換精度。120、不帶輸入數據鎖存器的D/A轉換器,應當通過鎖存件與CPU傳送數據。121、無三態輸出功能的A/D轉換器,應當通過三態器件與CPU傳送數據。122、從輸入模擬量到輸出穩定的數字量的時間間隔是A/D轉換器的技術指標之一,稱為轉換速度。123、若有8位D/A轉換器的輸出滿刻度電壓為+5V,則該D/A轉換器的分辨率為0.0196V。二、選擇題※001、有下述程序段,LOOP:MOVA,P1CJNEA,#55H,LOOP其中MOVA,P1是2字節指令,CJNE是3字節指令,則CJNE指令的偏移量是()。①、05H②、06H③、0FCH④、0FBH002、已知PSW=10H,通用寄存器R0-R7的地址是()。①、00H-07H②、08H-0FH③、10H-17H④、18H-1FH003、已知8031單片機的晶振頻率為12MHz,2字節指令周期是()。①、1us②、2us③、3us④、4us004、8051單片機復位后,第一個被壓入棧的數據被寫入()單元中。①、06H②、07H③、08H④、09H005、要使8051單片機正常可靠復位,則RESET復位信號至少保持()。①、0.5個機器周期②、1個機器周期③、2個機器周期④、10個機器周期006、單片機執行MOV90H,#00H指令之后,對()SFR(特殊功能寄存器)有影響。①、TMOD②、P0③、P1④、P2007、當8051CPU訪問SFR(特殊功能寄存器)時,采用()尋址方式。①、直接尋址②、立即尋址③、間接尋址④、寄存器尋址008、8051單片機堆棧操作遵循()原則。①、先加后壓、先彈后減②、先壓后加、先彈后減③、先加后壓、先減后彈④、先壓后加、先減后彈※009、已知子程序調用指令ACALL在程序存儲器中的首地址為0100H,子程序入口地址為0250H。該指令的機器碼是()。①、5100H②、5120H③、5140H④、5150H010、已知絕對轉移指令AJMP在程序存儲器中的首地址為2500H,要求轉移到2250H地址處執行程序,該指令的機器碼是()。①、4120H②、4130H③、4140H④、4150H011、執行下列程序段后,A=()MOV23H,#0AHCLRALOOP:ADDA,23HDJNZ23H,LOOPSJMP$①、45②、55③、56④、46012、設晶振頻率為6MHz,下述子程序DELAY的延時時間為()。DELAY:MOVR2,#0FAHL1:MOVR3,#0FAHL2:DJNZR3,L2DJNZR2,L1RET①、251506us②、251504us③、250006us④、250004us013、設晶振頻率為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單元的內容傳送到R0;以下哪種選項正確()。①、MOVR1,#20HMOVA,@R1②、MOVR1,#20HMOVXA,@R1MOVR0,AMOVR0,A③、MOVDPTR,#0020HMOVX@DPTR,A④、MOVR1,20HMOVXA,@R1MOVR0,AMOVR0,A019、要把外部RAM的1060H中的內容送到片內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、要實現寄存器R7內容傳送到R1中去,以下哪種程序段不正確()。①、MOVA,R7MOV@R1,A②、MOV30H,R7MOV@R1,30H④、MOVB,R7③、MOV@R1,R7MOV@R1,B021、電子計算機技術在半個世紀中雖有很大進步,但至今其運行仍遵循著一位科學家提出的基本原理。這位科學家是()。①、牛頓②、愛因斯坦③、愛迪生④、馮。諾伊曼022、用晶體管作為電子器件制成的計算機屬于()。(1)、第一代(2)、第二代(3)、第三代(4)、第四代023、通常所說的主機是指()。(1)、運算器和控制器(2)、CPU和磁盤存儲器(3)、CPU和主存(4)、硬件和軟件024、計算機能直接識別的語言是()。(1)、匯編語言(2)、自然語言(3)、機器語言(4)、高級語言025、在CPU中,控制器的功能是()。(1)、進行邏輯運算(2)、進行算術運算(3)、分析指令并發出相應的控制信號(4)、只控制CPU的工作026、所謂“祼機”是指()。(1)、單片機(2)、單板機(3)、只裝備操作系統的計算機(4)、不裝備任何軟件的計算機027、下列數據中有可能是八進制數的是()。(1)、764(2)、238(3)、396(4)、789028、下列4種不則進制的無符號數中最小的數是()。(1)、11011001B(2)、37O(3)、75(4)、2AH029、PC是()。(1)、一根硬件信號線(2)、一個可由用戶直接讀寫的8位RAM寄存器(3)、一個不可尋址的特殊功能寄存器(4)、一個能自動1計數的ROM存儲單元。030、在CPU內部,反映程序運行狀態或反映運算結果的一些特征寄存器是()。(1)、PC(2)、PSW(3)、ACC(4)、SP031、外部中斷1固定對應的中斷入口地址為()。(1)、0003H(2)、000BH(3)、0013H(4)、001BH032、各中斷源發出的中斷請求信號,都會標記在MCS-51系統中的()。(1)、TMOD(2)、TCON/SCON(3)、IE(4)、IP033、MCS-51的并行IO口信息有兩種讀取方法,一種是讀引腳,還有一種是()。(1)、讀鎖存(2)、讀數據(3)、讀A累加器(4)、讀CPU034、MCS-51的并行IO口讀-改-寫操作,是針對該口的()。(1)、引腳(2)、片選信號(3)、地址線(4)、內部鎖存器035、以下指令中,屬于單純讀引腳的指令是()。(1)、MOVP1,A(2)、ORLP,#0FH(2)、MOVC,P1.5(4)、DJNZP1,short-lable036、以下哪種情況不屬于微型機引入中斷技術后的好處()。(1)、分時操作(2)、實時處理(3)、故障處理(4)、高速傳送數據037、下面哪種情況并不是單片機系統響應中斷的必要條件()。(1)、TCON或SCON寄存器內的有關中斷標志位為1。(2)、IE中斷允許寄存器內的有關中斷允許位置1。(3)、IP中斷優先級寄存器內的有關位置1。(4)、當前一條指令執行完。038、CPU尋址外設端口地址的方法有兩種,一種是統一編址,另一種是()。(1)、混合編址(2)動態編址(3)獨立編址(4)變址編址039、訪問片外數據存儲器時,不起作用的信號是()。(1)、RD(2)、WR(3)PSEN(4)ALE040、下列四條敘述中,有錯誤的一條是()。(1)、16根地址線的尋址空間可達1MB。(2)、內存儲器的存儲單元是按字節編址的。(3)、CPU中用于存放地址的寄存器稱為地址寄存器。(4)、地址總線上傳送的只能是地址信息。041、20根地址線的尋址范圍可達()。(1)、512KB(2)、1024KB(3)、640KB(5)、4096KB042、主存儲器系統中使用Cache的目的是()。(1)、增加主存容量(2)、存放常用的系統程序(3)、存放固化的軟件(4)、提高CPU存取主存的速度043、MCS-51系列單片機外擴存儲器芯片時,4個IO口中用作數據總線的是()。(1)、P0和P2口(2)、P0口(3)、P2和P3口(4)、P2口044、計算機工作時,能寫入也能讀出的半導體存儲器是()。(1)、RAM(2)、ROM(3)、磁盤(4)、磁帶045、區分片外程序存儲器還是數據存儲器的最可靠方法是()。(1)、看其芯片型號是RAM還是ROM(2)、看其位于地址范圍的低端還是高端(3)、看其離MCS-51芯片的遠近(4)、看其是被RD信號連接還是被PSEN信號連接046、指令AJMP的跳轉范圍是()。(1)、256(2)、1KB(3)、2KB(4)、64K三、編程題001、編寫程序實現兩個4位BCD數相加,設被加數存放在內部RAM40H和41H單元,加數存放在45H和46H單元,和數存入50H和51H單元,并設最高位不產生進位。解:程序如下:MOVA,41HADDA,46HDAAMOV51H,AMOVA,40HADDCA,45HDAAMOV50H,ASJMP$002、編寫程序,將1字節的壓縮BCD數轉換為二進制數,并存入內部RAM30H單元中。解:程序如下:MOVA,40HSWAPAANLA,#0FHMOVB,#10MULABANL40H,#0FHADDA,40HMOV30H,ASJMP$003、編寫程序,將一個字節的二進制數轉換為BCD數(0-255),并存入內部RAM31H和32H單元中。解:程序如下:MOVA,30HMOVB,#10DIVABMOV32H,BMOVB,#10DIVABXCHA,BSWAPAORL32H,AMOV31H,BSJMP$004、試編寫一個程序,將內部RAM中45H單元的高4位清0,低4位置1。解:程序如下:MOVA,#0FHXCHA,45H005、設有字無符號數X、Y存放在內部RAM30H、31H和32H、33H,試編寫求|X-Y|的程序。解:程序如下:CLRCMOVA,31HSUBBA,33HMOV35H,AMOVA,30HSUBBA,32HJNCNNCPLAMOV34H,AMOVA,35HCPLAADDA,#1MOV35H,AMOVA,34HADDCA,#0NN:MOV34H,ASJMP$006、設平面上一點P的直角坐標為(X,Y),X、Y為字節符號數,試編寫若P落在第I象限內,則令K=I;若P落在坐標軸上,則令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個連續單元中的內容送到以2000H開始的單元中。解:程序如下:MOVDPTR,#1000HAG1:MOVXA,@DPTRXRLDPH,#30HMOVX@DPTR,AXRLDPH,#30HINCDPTRMOVA,DPLCJNEA,#04H,AG1SJMP$008、編程求內部RAM中40H-49H10個單元中的內容的平均值,并放入4AH單元中。解:程序如下:MOVR0,#40HCLRAMOV4AH,AAG1:ADDA,@R0JNCNINCINC4AHNINC:INCR0CJNER0,#4AH,AG1XCHDA,@R0SWAPAMOVB,#10DIVABXCHA,@R0XCHA,BSWAPAORLA,BMOVB,#10DIVABSWAPAORLA,@R0SWAPAMOV@R0,ASJMP$009、從2000H地址單元開始,連續存有200W個字節補碼數,編寫程序將它們改變為各自的絕對值。解:程序如下:MOVDPTR,#2000HAG1:MOVXA,@DPTRJNBACC。7,NNCPLAINCAMOVX@DPTR,ANN:INCDPLMOVA,DPLCJNEA,#200,AG1SJMP$010、編寫程序把內部RAM20H-23H單元的內容分別送到2000H、2004H、2008H和200CH單元中。解:程序如下:MOVDPTR,#2000HMOVR0,#20HAG1:MOVA,@R0MOVX@DPTR,AINCR0MOVA,DPLADDA,#4MOVDPL,ACJNER0,#24H,AG1SJMP$011、編寫程序求放在3000H單元開始的5個字無符號數的和,并將和存放在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、從內部RAM的DATA單元開始,存有H個數。請設計一個程序,將其中正數,零及負數分選出來,將數據塊中的正數和零傳送到自ZHEN單元開始的存貯區,而把其中的負數送到FUSH單元開始的存貯區。解:程序如下:ORG300HSTART:MOVR1,#HMOV20H,#ZHENMOV21H,#FUSHMOVR0,#DATALOOP:MOVA,@R0JBACC。7,NEGMOVVR1,#20HMOV@R1,AINC20HSJMPHEDNEG:MOVR1,21HMOV@R1,AHED:INCR0DJNZR2,LOOPSJMP$013、從20H單元開始存一組帶符號數,數組長度存于1FH單元,要求統計出其中大于零、等于零和小于零的數的數目,并把統計結果分別存入ONE,TWO,THREE三個單元。解:程序如下:START:MOVR0,#20HMOVR2,#1FHCLRAMOVONE,AMOVTWO,AMOVTHREE,ALOOP:MOVA,@R0JZZEROJBACC。7,NEGINCONESJMPNEXTZERO:INCTWONEXT:INCR0DJNZR2,LOOPSJMP$014、從2000H單元開始的外部RAM中存有100個數,要求把它傳送到自2500H單元開始的存貯區中去,但在傳遞過程中要檢查數的值,遇到第一個零就停止傳送,編制完成此功能的程序。解:程序如下:START:MOVR7,#64HMOVR2,#00HMOVR3,#20HMOVR4,#00HMOVR5,#25HLOOP:MOVDPL,R2MOVDPH,R3MOVXA,@DPTRJZSTOPMOVDPL,R4MOVDPH,R5MOVX@DPTR,AINCR2INCR4DJNZR7,LOOPSTOP:SJMPSTOP015、設有一個巡回檢測報警裝置,需對16路輸入值進行比較,當每一路輸入值超過該路的報警值時,實現報警,下面根據這一要求,編制一個查表程序,X為路數,查表時X按0、1、2、…15(n=15)取ii數,Yi為最大值,二字節數,依Xi順序列成表格放在TABi中,進入查表程序前,路數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位無符號數,編寫求這10個數和的程序,其和放到SUM和SUM+1單元中(低位先存)解:程序如下:START:MOVR0,#DATAMOVR2,#0AHMOVR3,#00HMOVR4,#00HLOOP:MOVA,R3ADDA,@R0MOVR3,AMOVA,R4ADDCA,#00HMOVR4,AINCR0DJNZR2,LOOPMOVSUM,R3MOVSUM+1,R4SJMP$017、自內部RAM的BUFF單元開始,放有一個數據塊,BUFF單元中放的是數據塊的長度,從BUFF+1開始存放的是以ASCII碼表示的10進制數碼,把它們轉換為BCD碼,且把兩個相鄰單元的數碼并成一個單元(地址高的放高四位),放到從BUFF+1開始的存貯區中。解:程序如下:START:MOVR2,BUFFMOVR0,#BUFF+1MOVR1,#BUFF+1LOOP:MOVA,@R0MOV@R1,AINCR0MOVA,@R0SWAPAXCHDA,@R1MOV@R1,AINCR0INCR1DJNZR2,LOOPSJMP$018、從內部RAM的BLOCK地址開始有一個無符號數據塊,長度存于LEN單元,求出數據塊中的最小元素,并將其存入MINI單元。解:程序如下:MINIDATA20HLENDATA21HBLOCKDATA22HMOVR0,#BLOCKMOVR1,LENMOVMINI,#0FFHMOVA,R1JZFINILOOP:MOVA,@R0INCR0CJNEA,MINI,NEXTJNCNEXTMOVMINI,ANEXT:DJNZR1,LOOPFINI:SJMP$019、在內部RAM的BLOCK單元開始的數據內存放著若干帶符號數,數據塊長度存于LEN單元。要求對數據塊內的正數和負數分別相加,相加的結果分別存入SUM1和SUM2單元。設相加的結果不超過8位二進制數。解:程序如下:SUM1DATA20HSUM2DATA21HLENDATA22HBLOCKDATA23HMOVR0,#BLOCKMOVR1,LENMOVSUM1,#00HMOVSUM2,#00HMOVA,R1JZFINILOOP:MOVA,@R0INCR0JBACC。7,NEXT1ADDA,SUM1MOVSUM1,ASJMPNEXT2NEXT1:ADDA,SUM2MOVSUM2,ANEXT2:DJNZR1,LOOPFINI:SJMP$020、求內部RAM的50H-5AH中的最大值并放入5AH單元。解:程序如下:MOVR0,#50HMOVR2,#10MOVA,@R0LOOP:INCR0MOVB,@R0CJNEA,B,$+3JNCNEXTMOVA,@R0NEXT:DJNZR2,LOOPMOV@R0,ASJMP$四、問答題001、MCS-51引腳中有多少IO線?它們和單片機對外的地址總線和數據有什么關系?地址總線和數據總線各是幾位?答:MCS-51芯片的引腳中有32條IO線,因為有4個8位并行口共32條,51系列單片機沒有獨立的數據總線和地址總線,而是和一部分IO線復用。具體來說,P0口的8條線從那時起用作地址總線低8位和8位數據總線,而P2口8位線用作地址總線高位。所以是16位地址總線和8位數據總線。002、什么叫堆棧?堆棧指示器SP的作用是什么?8051單片機堆棧的容量不能超過多少字節?答:堆棧是數據存貯器的一部分,這一部分數據的存取是按照先入后出,后入先出的原則進行的。堆棧指針SP在啟用堆棧之前是用來決定堆棧的位置。如在8051芯片復位后,SP的值為07H,則RAM的其它部分。在堆棧啟用之后,SP指向堆棧的頂部,好由SP來決定數據讀出和存入堆棧的地十。8051單片機內部用作數據區的RAM的容量為128字節,前8個字節要用來作為工作寄存器R0-R7。堆棧可以從08H開邕設直到7FH,共120個節。但這只是最大可能的容量。一般情況下,內部RAM還要分出一部分用作一般的數據區,或者還要用其中的位尋址區來用于位操作,等等。所以8051的堆棧區是比較小的,使用時要注意到這個限制。003、8051單片機的內部數據存貯器可以分為幾個不同區域?各有什么特點?答:8051單片機的內部數據存貯器的容量為256字節(地址為00H-FFH)。它可以分為兩大部分,各占128個字節。前128字節為讀寫數據區,地址為00H-7FH。后128個字節為特殊功能寄存器區,21個特殊功能寄存分散地分布在這人區域,各有自己特定的地址。而這個區域中,沒有被特殊功能寄存器占用的單元也不能當作一般的RAM單元使用。00H-7FH的RAM單元,都可按它們的直接地址來讀寫數據。而其中的前32個單元。即00H-1FH單元又稱為工作寄存器區,安排了4組工作寄存器,每組8個,都用R0-R7表示,并通過PSW寄存器中RS1和RS0來選組。通過工作寄存器R0---R7來對這部分數據單元讀寫數據不僅速度快而且指令字節數也少。另一個區域為位尋制區。占用20H-2FH共16個單元,這16個單元的每一位都可以獨立進行操作,共用128個可單獨操作的位。而30H-7FH這80個單元只能接它們的直接地址來操作。004、MCS-51單片機的尋址范圍是多少?8051單片機可以配置的存貯器最大容量是多少?而用戶可以使用的最大容量又是多少?答:MCS-51單片機的指令存貯器尋址范圍為64KB,數據存貯器也有64KB尋址范圍,地址都是從0000H-FFFFH,總共有2*64KB的尋址范圍。8051可以配置的外部存貯器就是2*64KB容量。但8051片內還配有存貯器,包括4KB容量的只讀存貯器和256字節的數據存貯器,總共容量為132,25KB。但用戶可以使用的容量只有2*64KB再加上256字節的數據存貯器。005、8051單片機對外有幾條專用控制線?其功能是什么?答:一般的說法是8051單片機有4條專用控制線。它們是復位信號線RST,高電位有效,當有復位信號從此線輸入時,使單片機復位。訪問外部存貯器控制信號EA,低電平有效,當此控制線為低電平時,單片機全部使用外部指令存貯器,而當此控制線為高電平時,先使用片內的4KB指令存貯器(0000H-0FFFH),在4KB范圍之外,才使用外部指令存貯器(地址為1000H-FFFFH)。另有兩條輸出控制線,外部程序存貯器的讀選通信號PSEN和外部地址鎖存器允許信號ALE。前者是低電平有效,在讀外部程序存貯器時使用。后者是高電平有效,在鎖存P0口輸出的低8位地址時使用。006、什么叫指令周期?什么叫機器周期?MCS-51的一個機器周期包括多少時鐘周期?答:完成一條指令的執行所需的時間叫做指令周期。對不同的指令,指令周期的長短是不一定相同的。機器周期則是指計算機完成某種基本操作所需的時間,一個指令周期由一個或幾個機器周期組成,一個機器周期則包括若干個時鐘周期。MCS-51單片機的一個機器周期包括12個時鐘周期。但對有些微處理器來說,不同的機器周期所包含的時鐘周期可能是不相同的。007、為什么要了解CPU的時序?答:了解CPU時序就是了解在執行不同類型指令時CPU發出的控制信號有什么不同。了解CPU的時序至少有兩個目的,其一是掌握不同的指令或操作使用不同的控制信號后,便于CPU對外部設備的連接而不致于發生錯誤。其二是知道不同指令需要不同的機器周期后,可以選用功能相同而機器周期較少的指令,以減少程序的執行時間。當然,也可以有一些其它的作008、在讀外部程序存貯器時,P0口上一個指令周期中出現的數據序列是什么?在讀外部數據存貯器時,P0口上出現的數據序列是什么?答:讀外部程序存貯器(ROM)時,有兩種情況,一種是單純地取指令,這時P0口上先送出指令所在地址低8位,然后從ROM中取回指令碼。按照指令字節數的不同,這人數據序列可能重復若干次。另一種情況,則是執行從外部ROM中讀取固有數據的指令,這時,P0口上先送出指令地址低8位,再從ROM中取回指令碼,然后開始執行指令,接著從P0口上送出ROM數據單元地址低8位,再讀回ROM中的數據。而在讀外部數據存貯器(RAM)時,P0口上先送出指令地址低8位,然后讀回指令碼,再送出數據存貯單元地址低8位,再讀回數據單元的內容009、為什么外擴存貯器時,P0口要外接地址鎖存器,而P2口卻不接?答:這是因為在讀寫外部存貯器時,P0口上先送的低8位地址只維持很短的時間,然后P0口就要當作數據總線用。為了使對外在整個讀寫外部存貯器期間,都存在有效的低8位地址信號,P0口就要外接一個地址鎖存器,再從這個鎖存器對外送同低8位地址。而P2口只用作高8位地址線,并在整個讀寫期間不變,所以不必外接地址鎖存器。010、在使用外部程序存貯器時,MCS-51單片機還有多少條IO線可用?在使用外部數據存貯器時,還有多少條IO線可用?答:使用外部程序存貯器時,原則上說,P0口和P2口要用作數據總線和地址總線,所以只有P1口和P3口可用作IO口,共16條IO線。在使用外部數據存貯器時,除了占用P0和P2口之外,還需用WR和RD控制線,而這兩條線就是P3口中的兩條:P3。6和P3.7,所以這時只有14條IO線可以用了,當然取于所配置的外部程序存貯器或數據存貯器的容量,P2口的8條線并一定全部占用,有時還有幾條沒有用,但即使如此,這幾條線也不能再用作IO線,而只能留作系統擴展時再用011、程序存貯器和數據存貯器的擴展有何相同點及不同點?試將8031芯片外一片2716EPROM和一片2128RAM組成一人擴展后的系統,畫出擴展后的連接圖。答:兩者的相同點是,都借用P0口和P2作為數據總線和地址總線,也就是說,地址線和數據線的連接方法是相同的,地址范圍都是在0000H-FFFFH之間。兩者的不同點是,所用的讀寫選通信號不同,擴展程序存貯器時用控制線PSEN,而擴展數據存貯器時使用讀寫控制線RD和WR。當然每塊芯片具體需要幾條地址線,是由芯片的容量來決定的,容量大的芯片需要借用P2的IO線的數量多。而數據線則都是8條。2716是2K*8的EPROM,2128是2K*8的RAM,兩者都只需11條地址線。由于題目中沒有規定地址范圍,幫可按最簡單的方式來連接,即只用PSEN來控制EPROM的讀出,用RD和WR控制RAM的讀寫,兩塊芯片的片選端都固定接地,連接圖如圖所示。這種連接方式可以省去地址譯碼器,但它有一個缺點,那就是系統的擴充能力很差,因此,在實用時還是考慮使用譯碼器為好。012、8051芯片需要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023三年級英語下冊 Unit 2 I'm in Class One Grade Three Lesson 7教學設計 人教精通版(三起)
- 薪酬管理教學
- 4 安全標識(教學設計)-2023-2024學年浙美版(2012)美術四年級下冊
- Unit5 The colorful world(教學設計)三年級英語上冊同步備課系列(人教PEP版·2024秋)
- 7 《我在這里長大》第二課時(教學設計)2023-2024學年統編版道德與法治三年級下冊
- 2024-2025學年高中英語下學期第3周 模塊1 課文語言知識點教學設計
- 2024七年級英語下冊 Unit 2 It's Show Time Lesson 12 A Blog about the Silk Road教學設計(新版)冀教版
- Unit 2 第五課時:integration 英文版教學設計2024-2025學年譯林版(2024)七年級英語上冊
- Unit2 Reading plus教學設計2024-2025學年人教版英語七年級下冊
- 2024年一年級品生下冊《奇妙的作品》教學設計 遼師大版
- 2025年湖南省長沙市初中學業水平考試模擬(一)歷史試題(原卷版+解析版)
- 2025年上半年綿竹市九綿產業投資限公司招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 幼兒園獲獎公開課:小班科學活動《誰的腳印》課件
- 2025年中考道德與法治全真模擬卷1(含答案解析)
- 浙江省溫州市2024年九年級學生學科素養檢測中考一模數學試卷(含答案)
- 人教版新教材英語七年級下冊Unit5課文原文翻譯
- 湖南省2024年普通高中學業水平選擇性考試物理試題含答案
- 江蘇南通歷年中考語文古詩欣賞試題匯編(2003-2024)
- 2025年河南省高職單招《英語》高頻必練考試題庫400題(含答案)
- 土方工程投標方案(技術標)
- 2025年硅湖職業技術學院高職單招職業適應性測試近5年常考版參考題庫含答案解析
評論
0/150
提交評論