單片機原理與應用設計復習資料_第1頁
單片機原理與應用設計復習資料_第2頁
單片機原理與應用設計復習資料_第3頁
單片機原理與應用設計復習資料_第4頁
單片機原理與應用設計復習資料_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、填空題:1、89C51內部有16字節可位尋址的字節單元,共有128個可位尋址位,位地址范圍是從00H~7FH。2、若MSC-51單片機的fosc=6MHz,則其執行一條除法指令的時間為8μs。注:機器周期Tcy=12/fosc=12/6×106=2μs;乘、除法指令占用4個機器周期,固T=2×4μs=8μs。3、復位操作后,89C51程序執行的起始地址是0000H。注:見附6即PC復位后的值4、單片機的定時/計數器作為計數方式時,外部事件的最高計數頻率為晶振頻率的1/24。5、用位尋址方式禁止外部中斷1的中斷使能:CLREX1;允許T0的計數溢出中斷使能:SETBET0;設置外部中斷1中斷為高優先級中斷:SETBPX1;清除串行口輸出中斷標志:CLRES。見附表6、MCS51單片機指令尋址方式有:寄存器尋址、直接尋址、立即尋址、寄存器間接尋址、基址寄存器加變址寄存器尋址、位尋址、相對尋址7種。訪問片外RAM時,采用寄存器間接尋址方式,訪問ROM時,采用的是寄存器尋址方式。7、MCS-51單片機的程序計數器PC是一個16位的計數器,尋址范圍達到64KB。8、計算機中按功能把總線分為數據總線(DB)、控制總線(CB)和地址總線(AB)。9、89C51用于區分內外部程序存儲器的引腳是,使用片內存儲器應將其置為高電平。10、單片機內部數據傳送指令MOV用于單片機內部RAM單元及寄存器之間,單片機與外部數據傳送指令MOVX用于單片機內部與外部RAM或I/O接口之間,MOVC指令用于單片機內部與外部ROM之間的查表。11、編程序時,一般在中斷服務子程序和調用子程序中需用保護和恢復現場,保護現場用PUSH指令,恢復現場用POP指令。12、堆棧指針SP始終指示堆棧的棧頂地址,當有壓入或彈出堆棧操作時,SP的內容將隨之改變。程序計數器PC的內容將始終指示下一條要執行指令地址,所以只要改變PC的內容將改變程序的運行路徑。13、51單片機位尋址區的單元地址是從20H單元到27H單元,若某位地址是09H,它所在單元地址是21H。14、在MCS-51系列單片機中8031型號的單片機需要擴展外部程序存儲器,且管腳必須接低電平。15、單片機定時器的工作方式由TMOD寄存器決定,定時器的啟動溢出由TCON寄存器控制。16、中斷服務程序的返回指令是RETI,子程序的返回指令是RET。17、將89C51片外程序存儲器內的數據傳送給A,可以采用的指令是MOVA,@DPTR。18、變址尋址是以數據指針DPTR或程序計數器PC作為基址寄存器,以累加器A作為變址寄存器,并以兩者的內容相加形式的16位地址操作數地址,以達到訪問數據表格的目的。19、設(R0)=20H,累加器A的內容為36H,內部RAM的20單元內容為75H,注:XCHD為半字節執行指令:XCHDA,@R0執行結果為:(20H)=76H,(A)=75H。交換指令20、通過堆棧操作實現子程序調用,首先要把PC的內容入棧,以進行斷點保護。調用返回時,再進行出棧保護,把保護的斷點送回到PC。21、訪問SFR,只能使用直接尋址方式。22、把累加器的中間4位清“0”的指令為ANLA,#0C3H。23、若(IP)=00010100B,則優先級最高者為,最低者為T1。注:見附1124、在串行口通信中,收發雙方對波特率的設定應該是相等的。25、11條地址線可選2KB個存儲單元,16KB存儲單元需要14條地址線。二、判斷題:1、89C51復位操作后,(SP)=00H。(×)注:見附6(×)注:見附12、89C51P3.1口的第二功能是作為串行口的數據輸入端口。3、指令CLR09H,劃線部分的尋址方式是位尋址。(√)4、定時/計數器T0可以用作設計波特率發生器。(×)注:T1可以(√)注:課本P108(×)5、定時/計數器T0在方式3時,TH0必須用作定時器功能。6、程序計數器PC中裝的內容是當前正在執行指令的地址。7、DPTR是可以訪問的,而PC不能訪問。注:PC沒有地址,不可位尋址,也不能訪問。8、在89C51單片機中,一個機器周期等于1μs。(√)(×)9、定時器0、定時器1、外部中斷0、外部中斷1、串行口中斷的優先級順序是可實現的。(√)注:如果前面兩項調換下順序,定時器1、定時器0······就不可能實現,見附5。10、89C51共有21個特殊功能寄存器,它們的位都是可用軟件設置的,因此,是可以進行位尋址的。(×)注:只有字節地址的末位是0H或8H的才可進行位尋址。三、選擇題:1、89C51復位操作后,(P0)=D。注:見附6A、00H2、若要擴展10KB的ROM,則至少需要C根地址信號線。A、12B、13C、14D、153、安排2764芯片內第一個單元的地址是1000H,則該芯片的最末單元的地址是D。B、0FHC、F0HD、FFHA、1FFFHB、17FFHC、27FFHD、2FFFH注:EPROM的典型芯片是27系列產品,2764(8KB×8)、27128(16KB×8)、27256(32KB×8)27512(64KB×8)。型號名稱“27”后面的數字表示其位存儲容量。如果換算成字節容量,只需將該數字除以8即可。例如,“2764”中的“27”后面的數字為“64”,64÷8=8KB。4、在執行中斷返回指令時,從堆棧彈出的斷點地址被送給D。A、A5、89C51單片機的外部數據總線功能由A實現。注:P0口地址/數據分時復用A、P0口B、P1口C、P2口D、P3口6、下列B執行后,不會影響進位位。A、ADDA,#30HB、INC30HC、SUBBA,#30H注:INC不影響PSW中的任何標志位;DEC只影響P標志位。引腳的電平C。高電平B、CYC、PCD、DPTRD、MULAB7、執行指令MOVXA,@DPTR時,、高電平高電平高電平低電平低電平低電平A、C、B、D、低電平8、89C51單片機中,用于設置串行口工作方式的寄存器為C。注:見附7、8、12A、TOMDB、TCONC、SCOND、PCON(電源控制)9、89C51單片機中,外部中斷1的中斷標志為B。注:見附7A、IE0B、IE1C、TF0D、TF110、下列C指令采用的是相對尋址方式。A、DEC30HB、CPL30HC、SJMP30H11、8031單片機內部集成有A容量的程序存儲器。A、0KBB、2KBC、4KBD、8KBD、CLRA12、89C51P3.0口的第二功能是A。注:見附1A、串行口的數據輸入端口C、外部中斷0輸入端口B、串行口的數據輸出端口D、外部中斷1輸入端口13、89C51單片機中,定時/計數器1的計數溢出中斷標志為D。注:見附7A、IE0B、IE1C、TF0D、TF114、MCS-51單片機的外部中斷0的中斷入口地址為A。注:見附4,這5個中斷入口地址須記住A、0003HB、000BHC、0013HD、001BH15、下列指令中屬于位尋址方式的是B。A、MOVA,30HB、MOVC,30HC、MOV20H,30HD、MOVA,#30H16、MCS-51單片機在訪問外部數據存儲器時,其地址指針可采用A。注:DPTR為數據指針A、DPTRB、PCC、PSWD、SP17、若RS0=0,RS1=1,要想把寄存器R0的內容壓入堆棧,可以使用A指令。注:見附3A、PUSH10HB、PUSH@R0C、PUSHR0D、PUSH08H18、89C51有四個工作寄存器區,由PSW狀態字中的RS1、RS0兩位的狀態來決定,單片機復位后,若執行SETBRS1指令,此時只能使用C區的工作寄存器。注:見附3A、0區B、1區C、2區D、3區19、MCS-51單片機的定時/計數器工作方式1是B。注:見附11A、8位計數器結構B、16位計數器結構C、13位計數器結構D、2個8位計數器結構20、在CPU內部,反映程序運行狀態或反映運算結果一些特征的寄存器是C。A、ACCB、PCC、PSW(8位)D、SP21、讀片外部數據存儲器時,不起作用的信號是C。A、B、C、D、ALE注:引腳為片外程序存儲器的讀選通信號;在訪問外部RAM時,信號無效。22、MSC-51單片機的堆棧區是設置在C中。A、片內ROM區B、片外ROM區C、片內RAM區D、片內RAM區23、下列數據自定義的數表中,B是錯誤的。A、DW“AA”B、DW“A”C、DW“OABC”D、DWOABCH注:B項要用字節定義命令,應改為DB“A”24、單片機的P0、P1口作輸入用途之前必須A。A、在相應端口先置1B、在相應端口先置0C、外接高電平D、外接上拉電阻注:4個8位可編程并行I/O口(P0、P1、P2、P3)作為通用的I/O口使用時,只有P0口需外接上拉電阻,其它并行口內部本身具有上拉電阻,固外部不需再接上拉電阻。25、在進行BCD碼運算時,緊跟加法運算指令后面的指令必須是B指令。A、ADDB、DAAC、ADDCD由實際程序確定注:DA為十進制調整指令26、在MSC-51單片機中,需要外加電路實現中斷撤除的是D。A、定時中斷B、外部串行中斷C、脈沖方式的外部中斷D、電平方式的外部中斷注:外部串行中斷只能使用軟件撤銷,定時中斷和脈沖方式的外部中斷均為自動撤銷。27、調用子程序、中斷響應過程及轉移指令的共同特點是B。A、都能返回B、都通過改變PC實現轉移C、都將返回地址壓入堆棧D、都必須保護現場28、89C51單片機中,用于設置串行口工作方式的寄存器為C。A、TOMD29、通過串行口發送或接收數據時,在程序中應使用C。A、MOVCB、MOVXC、MOVD、XCHD30、串行口工作方式1的波特率是D。注:見附9,只有方式0是固定的,為foscB、TCONC、SCOND、PCON/12A、固定的,為fosc/32/64B、固定的,為fosc/16C、固定的,為foscD、可變的,通過定時器/計數器T1的溢出率設定31、區分89C51單片機片外程序存儲器和片外數據存儲器的最可靠方法是D。A、看其位于地址范圍的低端還是高端B、看其離89C51芯片的遠近C、看其芯片的型號是ROM還是RAMD、看其是與信號連接還是與信號連接四、程序閱讀:1、MOV20H,#0A3HMOVA,#0B6HMOVR0,#20HMOVR2,#7EHORLA,R22、MOVSP,#49HMOV30H,#3FHMOVCLR31H,#48HAPUSHAccANLA,@R0PUSH31HSWAPAPOPAcc30HCPLXRLAPOPA,#0F5HSJMP$ORL20H,A執行后,(A)=48H;(30H)=00H;(31H)=48H;(SP)=50H。SJMP$執行后,(A)=20H;(20H)=A3H。3、設(R0)=7FH,內部RAM的(7EH)=00H,(7FH)=40H,執行下列程序:DEC@R0DECR0DEC@R0執行結果為:(R0)=7EH,(7EH)=0FFH,(7FH)=3FH。4、假定A=38H,(R0)=17H,(17H)=34H,執行以下指令:ANLA,#17HORLXRLCPL17H,AA,@R0A執行結果:(A)=DBH。5、下列程序:MOVR2,#8TOGGLF:CPLP1·7DJNZR2,TOGGLF執行結果:將改變P1·7的值8次,(R2)=0。五、程序補充:1、將片內部30H~60H單元中的內容傳送到以2100為起始地址的存儲區。注:此題可能考整道編程。MOVR0,#30HMOVDPTR,#2100HMOVR7,#31HL1:或MOVR0,#30HMOVR1,#00HMOVR7,#31HCLRAL1:MOVA,@R0MOVA,@R0MOVX@DPTR,AINCR0MOVX@R1,AINCR0INCDPTRDJNZR7,L1DJNZR7,L1INCR12、查表法,求y=x!(x=0~7),x存放在30H中,y存放在40H、41H。MOVA,30HCLRR7MOVR7,AMOVDPTR,,#TABMOVCA,@A+DPTRMOV40H,AMOVA,R7INCAMOVCA,@A+DPTRMOV41H,ASJMP$TAB:DW1,1,2,6,24DW120,720,5040六、簡答題:1、說明89C51單片機的引腳的作用,該引腳接高電平和低電平時各有何種功能?答:當腳為高電平時,單片機讀片內程序存儲器(4KBFlash),但在PC值超過0FFFH(即超出4KB腳為低電平時,對程序存儲器的讀操作只地址范圍)時,將自動轉向讀外部程序存儲器內的程序。當限定在外部程序存儲器,地址為0000H~FFFFH,片內的4KBFlash程序存儲器不起作用。2、如果采用的晶振頻率為3MHZ,定時器/計數器工作方式0、1、2下,其最大定時時間各為多少?答:因為機器周期Tcy=12/fosc=12/3×106=4μs注:見附12所以定時器/計數器工作方式0下,其最大定時時間為TMAX=213×Tcy=213×4×10-6=32.768ms定時器/計數器工作方式1下,其最大定時時間為TMAX=216×Tcy=216×4×10-6=262.144ms定時器/計數器工作方式0下,其最大定時時間為TMAX=28×Tcy=28×4×10-6=1.024ms3、當定時器T0用于方式3時,應該如何控制定時器T1的啟動和關閉?答:由T1(P3.5)口控制定時器T1的啟動和關閉。七、編程題:1、編寫程序,將外部數據存儲器中的4000H~40FFH單元全部清“0”。ORG0000HMAIN:MOVA,#0MOVR0,#0FFHMOVDPTR,#4000H;0給A;設置循環次數;設置數據指針的初值LOOP:MOVX@DPTR,A;當前單元清“0”INCDPTRDJNZR0,LOOPEND;指向下一個單元;是否結束2、設單片機晶振頻率fosc=12MHz,使用定時器T1以工作方式1產生周期為400μs的等寬方波,并在P1.0輸出,用中斷方式實現編程。注:各標志位的設置見附7、12,此題可參考課本P103例6-1(1)計算初值機器周期=12/12MHz=1μs=1×10-6s設需要裝入T1的初值為X,則有(216-X)×1×10-6=400μs/2=2×10-4s→X=6533616進制為FF38H(2)程序設計MOVTMOD,#10H;設置T1為方式1LOOP:MOVTH1,#0FFH;T1置初值或MOVTMOD,#10HMOVTH1,#0FFHMOVTL1,#38H;SETBTR1;接通T1MOVTL1,#38HMOVIE,#88HSETBTR1MOVTH1,#0FFHLOOP1:JNBTF1,LOOP1CLRTR1CPLP1.0MOVTL1,#38HSJMPLOOPRETICLPP1.0七、應用題:常用的存儲器地址空間分配方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法)。①線選法例1、某一系統,需要外擴8KB的EPROM(2片2732),4KB的RAM(2片6116),這些芯片與MCS-51單片機地址分配有關的地址線連線,電路如下圖:2732:4KB程序存儲器,有12根地址線A0~A11,分別與單片機的P0口及P2.0~P2.3口相連。2732(1)的片選端接A15(P2.7),2732(2)的片選端接A14(P2.6)。當要選中某個芯片時,單片機P2口對應的片選信號引腳應為低電平,其它引腳一定要為高電平。6116:2KB數據存儲器,需要11根地址線作為單元的選擇,而剩下的P2口線(P2.4~P2.7)作為片選線。兩片程序存儲器的地址范圍:2732(1)的地址范圍:7000H~7FFFH;2732(2)的地址范圍:B000H~BFFFH;6116(1)的地址范圍:E800H~EFFFH;6116(2)的地址范圍:D800H~DFFFH。②譯碼法例1、要擴8片8KB的RAM6264,如何通過74LS138把64KB空間分配給各個芯片?例2、用74LS138把64K空間全部劃分為每塊4KB,如何劃分?例3、請寫出圖8-18中4片程序存儲器27128各自所占的地址空間。答:圖中采用了譯碼法。4片地址分別為0000H~3FFFH、4000H~7FFFH、8000H~BFFFH、C0000H~FFFFH。附140只引腳雙列直插封裝(DIP)。1)ALE/(30腳):ALE為地址鎖存允許,可驅動8個LS型TTL負載。2)信號。可驅動8個LS型TTL負載。3)(29腳):外部程序存儲器的讀選通為內外程序存儲器選擇控制端。=1,訪問片內程序存儲器=0,單片機則只訪問外部程序存儲器P3口的第二功能定義端口引腳P3.0第二功能RXD(串行輸入口)--輸入TXD(串行輸出口)--輸出(外部中斷0)--輸入P3.1P3.2P3.3(外部中斷1)--輸入P3.4T0(定時器0外部計數輸入)T1(定時器1外部計數輸入)(外部數據存儲器寫選通)--輸出(外部數據存儲器讀選通)--輸出P3.5P3.6P3.7附2(1)Cy(PSW.7)進位標志位(2)Ac(PSW.6)輔助進位標志位,用于BCD碼的十進制調整運算。(3)F0(PSW.5)用戶使用的狀態標志位。(4)OV(PSW.2)溢出標志位如果位6有進位,而位7沒有進位,或者位7有進位,而位6沒有,則溢出標志OV置“1”,否則OV清“0”。溢出標志位OV的狀態,只有在帶符號數加法運算時才有意義。當兩個帶符號數相加時,OV=1,表示加法運算超出了累加器A所能表示的帶符號數的有效范圍。(5)PSW.1位:保留位,未用(6)P(PSW.0)奇偶標志位P=1,A中“1”的個數為奇數P=0,A中“1”的個數為偶數(7)RS1、RS0(PSW.4、PSW.3):4組工作寄存器區選擇控制位1和位0。附3RS1RS0所選的4組寄存器000區(內部RAM地址00H~07H)011區(內部RAM地址08H~0FH)102區(內部RAM地址10H~17H)113區(內部RAM地址18H~1FH)附4附55種中斷源的中斷入口地址中斷源中斷級別外中斷00003H外部中斷0最高定時器T0外中斷1定時器T1串行口000BH0013H001BH0023HT0溢出中斷外部中斷1T1溢出中斷串行口中斷最低附6附7TCON:定時器/計數器的控制寄存器,字節地址為88H1)IT0—選擇外部中斷請求0為跳沿觸發方式還是電平觸發方式:IT0=0,為電平觸發方式。IT0=1,為跳沿觸發方式。可由軟件置“1”或清“0”。2)IE0—外部中斷請求0的中斷請求標志位。IE0=0,無中斷請求。IE0=1,外部中斷0有中斷請求。3)IT1—外部中斷請求1為跳沿觸發方式還是電平觸發方式,意義與IT0類似。4)IE1—外部中斷請求1的中斷請求標志位,意義與IE0類似。5)TF0—T0溢出中斷請求標志位。6)TF1—T1的溢出中斷請求標志位,功能和TF0類似。7)TR1、TR0——計數運行控制位1:啟動定時器/計數器工作0:停止定時器/計數器工作附8SCON為串行口控制寄存器,字節地址為98H(1)SM0、SM1——串行口4種工作方式的選擇位SM0SM1方式功能說明000同步移位寄存器方式(用于擴展I/O口)01101118位異步收發,波特率可變(由定時器控制)2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論