




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、習題與參考答案第 1 章 緒論1-2 什么叫單片機?一個完整的單片機芯片至少有哪些部件?答: 將微處理器(CPU )、存儲器、定時/計數器及輸入輸出接口電路等部件集成在一塊集成電路上, 稱為單片微型計算機,簡稱單片機。 一個完整的單片機芯片至少有中央處理器( CPU )、隨機存儲器( RAM )、只讀存儲器( ROM )、定時/計數器及I/O 接口等部件。1-5 Intel 公司的主要單片機產品分為哪幾大系列?各系列的區別何在?答: Intel 公司的 MCS-48 系列、 MCS-51 系列、 MCS-96 系列產品;48 系列的單片機在片集成4 位 CPU ,片含有多種 I/O 接口,有的
2、根據不同用途還配有許多專用接口,價格便宜,控制功能強。51系列的單片機在片集成8位CPU、片RAM為128字節,ROM為4K字節,4個并行 I/O 口、 2 個 16 位定時/計數器、串行接口、5個中斷源。96 系列單片機CPU 為 16 位,片 RAM 為 232 字節, ROM 為 8K 字節,片帶有高速輸入輸出部件,多通道10 位 A/D 轉換部件,中斷處理為 8 級。1-6 敘述 51 子系列與 52 子系列的區別?答: 51 子系列包含 8031/8051/8751 三種型號,它們的基本組成、基本性能都相同,都具有一個8位CPU、片數據存儲器 RAM128B、2個16位定時/計數器、
3、有 5個中斷源,一個全雙工串行接口,它們之間的區別在于片程序存儲器配置: 8031 片沒有 ROM ,使用時需在片外接 EPROM 。 8051 片含有 4KB 的掩模 ROM , 其中的程序是生產廠家制作芯片時燒制的。8751 片含有 4KB 的 EPROM ,用戶可以先用紫外線擦除器擦除,然后再利用開發機或編程 器寫入新的程序。52 子系列包含 8032/8052/8752 三種型號, 52 子系列 與 51 子系列的區別在于: 片 ROM 和 RAM 的容量比 8051 子系列各增加一倍,另外,增加了一個定時/計數器和一個中斷源。第2章MCS-51系列單片機的結構及原理2-2 MCS-5
4、1 單片機的引腳有何功能?在使用 8031 時如何接法?使用 8751 時如何接法?答: 引腳是片外程序存儲器的選擇信號。 當端保持高電平時, 訪問部程序存儲器, 但在PC (程序計數器)值超過 0FFFH (對于8051/8751/80C51 )或1FFFH (對于8052)時,將自動轉向訪問外部程序存儲器。 當端保持低電平時, 不管是否有部程序存儲器, 則只訪問外部程序存儲器。由于 8031 片沒有程序存儲器,所以在使用 8031 時,引腳必須接低電平。2-4 MCS-51 單片機的部存儲空間是怎樣分配的?答: MCS-51 單片機的部存儲空間分為數據存儲器和程序存儲器。部數據存儲器: 共
5、 256 字節單元, 包括低 128 個單元和高 128 個單元。 低 128 字節又分成3個區域:工作寄存器區(00H1FH ),位尋址區(20H2FH)和用戶 RAM 區(30H7FH )。高 128 字節是供給特殊功能寄存器使用的,因此稱之為特殊功能寄存器區。部程序存儲器:在 8031片無程序存儲器,8051片具有4KB掩卞H ROM, 8751片具有 4KBEPROM 。2-5如何從MCS-51單片機的4個工作寄存器組中選擇當前工作寄存器組?答:MCS-51單片機提供了 4組工作寄存器,對于當前工作寄存器組的選擇,是通過PSW中的RS1和RS0來進行選擇。具體關系如下表:RS1RS0當
6、前寄存器組00第0組工作寄存器01第1組工作寄存器10第2組工作寄存器11第3組工作寄存器2-6部RAM低128個單元是如何劃分的?答:部RAM低128個單元按用途分成 3個區域:工作寄存器區(00H1FH),位尋址 區(20H2FH)和用戶 RAM 區(30H7FH )。2-7 DPTR是什么寄存器?它的作用是什么?它由哪幾個寄存器組成?答:DPTR是數據指針寄存器,是一個16位寄存器,用來存放 16位存儲器的地址,以便對外部數據存儲器 RAM中的數據進行操作。DPTR由高位字節DPH和低位字節DPL組 成。2-8什么是堆棧?堆棧有何作用?為什么在程序初始化時要對SP重新賦值?答:所謂堆棧,
7、顧名思義就是一種以“堆”的方式工作的“棧”。堆棧是在存中專門開 辟出來的按照“先進后出,后進先出”的原則進行存取的RAM區域。堆棧的用途是保護現場和斷點地址。在 8051單片機復位后,堆棧指針 SP總是初始化到部 RAM地址07H。從 08H開始就是8051的堆棧區,這個位置與工作寄存器組1的位置相同。因此,在實際應用中,通常要根據需要在程序初始化時對SP重新賦值,以改變堆棧的位置。2-9試述程序狀態字寄存器 PSW各位的含義。答:程序狀態字寄存器 PSW是8位寄存器,用于存放程序運行的狀態信息。CY (PSW.7):進位標志位。AC (PSW.6):輔助進位標志位。F0 (PSW.5)、F1
8、 (PSW.1):用戶標志位。RS1 (PSW.4)、RS0 (PSW.3):工作寄存器組選擇位。OV (PSW.2):溢出標志位。P (PSW.0):奇偶標志位。2-10 P0、P1、P2、P3 口的結構有何不同?使用時要注意什么?各口都有什么用途?答:P0 口由一個所存器、兩個三態輸入緩沖器、場效應管、控制與門、反相器和轉換 開關組成;作為輸出口時,必須外接上拉電阻才能有高電平輸出,作為輸入口時,必須先向鎖存器寫“ 1” ;作為普通I/O 口使用或低8位地址/數據總線使用。P1 口沒有轉換開關,但有上拉電阻;只用作普通 I/O 口使用。P2 口比P1 口多了一個轉換控制開關;作為普通I/O
9、 口使用或高8位地址線使用。P3 口比P1 口增加了與非門和緩沖器;具有準雙向I/O功能和第二功能。上述4個端口在作為輸入口使用時,應注意必須先向端口寫“1”。2-11請說出指令周期、機器周期、狀態和拍的概念。當晶振頻率為12MHz、8MHz時, 一個機器周期為多少微秒?答:指令周期:執行一條指令所需要的時間。機器周期: CPU 完成一個基本操作所需要的時間。狀態:振蕩脈沖經過二分頻后,得到的單片機的時鐘信號。拍:振蕩脈沖的周期。當晶振頻率為12MHz時,一個機器周期為 1W§當晶振頻率為8MHz時,一個機器周 期為3s2-12 什么是單片機復位?復位后單片機的狀態如何?答: 在時鐘
10、電路工作后,只要在單片機的 RESET 引腳上出現24 個時鐘震蕩脈沖(兩個機器周期)以上的高電平,單片機就能實現復位。復位后, CPU 和系統都處于一個確定的初始狀態,在這種狀態下,所有的專用寄存器都被賦予默認值,除SP=07H , P0P3 口為 FFH 外,其余寄存器均為 0。第 3 章 MCS-51 系列單片機的指令系統3-3 MCS-51 系列單片機有哪幾種尋址方式?各種尋址方式所對應的寄存器或存儲器尋址空間如何?答: MCS-51 系列單片機提供了 7 種尋址方式:( 1)立即尋址:操作數在指令中直接給出,立即數前面有“ #”。( 2)直接尋址:在指令中直接給出操作數地址。對應片低
11、128 個字節單元和特殊功能寄存器。( 3)寄存器尋址:以寄存器的容作為操作數。對應的寄存器有:R0R7 、 A 、 AB 寄存器和數據指針 DPTR 。( 4)寄存器間接尋址:以寄存器的容作為RAM 地址,該地址中的容才是操作數。對應片 RAM 的低 128 個單元采用 R0 、 R1 作為間址寄存器, 片外 RAM 低 256 個單元可用R0、R1 作為間址寄存器,整個64KB 空間可用 DPTR 作為間址寄存器。( 5)變址尋址:以DPTR 或 PC 作為基址寄存器,以累加器A 作為變址寄存器,并以兩者容相加形成的 16 位地址作為操作數地址。對應片、片外的 ROM 空間。( 6)相對尋
12、址:只在相對轉移指令中使用。對應片、片外的ROM 空間。(7) 位尋址: 對可尋址的位單獨進行操作。 對應位尋址區20H2FH 單元的 128位和字節地址能被8 整除的特殊功能寄存器的相應位。3-4 若訪問特殊功能寄存器,可使用那些尋址方式?答: 直接尋址方式。3-5 若訪問外部RAM 單元,可使用那些尋址方式?答: 寄存器間接尋址方式。3-6若訪問部RAM 單元,可使用那些尋址方式?答: 立即尋址方式,直接尋址方式,寄存器尋址方式,寄存器間接尋址方式,位尋址方式。3-7 若訪問外程序存儲器,可使用那些尋址方式?答: 變址尋址方式3-9 外部數據傳送指令有幾條?試比較下面每一組中兩條指令的區別
13、。( 1) MOVX A , R1 , MOVX A , DPTR( 2) MOVX A , DPTR , MOVX DPTR , A( 3) MOV R0 , A , MOVX R0 , A答: 外部數據傳送指令有6 條:MOVXA, DPTRMOVX DPTR,AMOVXA, RiMOVX Ri,AMOVC A, A+DPTR1 ) MOVX A , R1MOVC AMOVX A, A+PC, DPTR4) MOVC A ,A+DPTRMOVX A , DPTR都是訪問片外RAM ,但二者尋址圍不同。前 1 條指令是對片外RAM 低 256 個單元的“讀”操作。后 1 條指令是對片外RAM
14、64KB 空間的“讀”操作。( 2 ) MOVX A , DPTR MOVX DPTR , A訪問空間相同,但數據傳送方向不同。前 1 條指令是對片外RAM64KB 空間的“讀”操作。后 1 條指令是對片外RAM64KB 空間的“寫”操作。( 3 ) MOV R0 , A MOVX R0 , A二者訪問的空間不同。前 1 條指令是對片 RAM 低 128個單元的“寫”操作。后 1 條指令是對片外RAM 低 256 個單元的“寫”操作。( 4 ) MOVC A , A+DPTR MOVX A , DPTR 二者訪問的空間不同,尋址方式不同。( 1 條指令是變址尋址方式,對ROM 操作。( 1 條
15、指令是寄存器間接尋址方式,對片外RAM 操作。3-10 已知( 30H) =40H ,( 40H) =10H ,(10H) =32H ,( P1) =EFH ,試寫出執行以下程序段后有關單元的容。MOV R0,#30HMOV A , R0MOV R1, AMOV B, R1MOV R1, P1MOV P2, P1MOV 10H, #20HMOV 30H, 10H答:R0-30H , ( R0) =30HA ( ( R0) ) , (A) =40HR1 ( A) , ( R1) =40HB ( ( R1 ) ) , ( B) =10H(R1) ( P1) , ( ( R1) ) = (40H)
16、=EFHP2 ( P1) , ( P2) =EFH10H20H , ( 10H ) =20H30H (10H) , ( 30H) =20H結果:( R0) =30H ,( A) =40H ,( R1) =40H ,( B) =10H,( 40H) =EFH ,( P2) =EFH ,(10H) =20H ,( 30H) =20H3-11 試寫出完成以下數據傳送的的指令序列。( 1) R1 的容傳送R0;( 2)片外RAM 60H 單元的容送入 R0 ;( 3)片外RAM 60H 單元的容送入片 RAM 40H 單元;( 4 )片外 RAM 1000H 單元的容送入片外RAM 40H 單元;(
17、5) ROM 2000H 單元的容送入R2;( 6 ) ROM 2000H 單元的容送入片 RAM 40H 單元;( 7) ROM 2000H 單元的容送入片外RAM 0200H 單元。答:( 1) 由于在工作寄存器與工作寄存器之間不能直接傳送數據, 所以需要借助累加器A 。MOV A , R1MOV R0 , A( 2)片外RAM 向片 RAM 傳送數據,不能直接進行,需要借助累加器A 。由于片外RAM 是 60H 單元,地址小于FFH ,所以間址寄存器使用 Ri 即可。MOV R1,#60HMOVX A, R1MOV R0,A( 3) MOVR1,#60HMOVX A, R1MOV 40H
18、, A( 4)片外數據不能直接送入片外單元,需要先將片外數據讀入累加器,然后再送到片外。MOVDPTR, #1000HMOVXA, DPTRMOVR1, #40HMOVXR1,A5) ROM 中的數據需要使用查表指令才能讀出來, 所以此題不能使用一般的傳送指令從 ROM 中讀數據。, #2000H#00HA+DPTR,A, #2000H#00HA+DPTR,A, #2000H#00HA+DPTR, #0200H,AM 1000H 單元中的數據與部RAM 60H 單元中的數據相互交換。MOV DPTRMOV AMOVC AMOV R2( 6) MOV DPTRMOV AMOVC AMOV 40H
19、( 7) MOV DPTRMOV AMOVC AMOV DPTRMOVX DPTR3-12 試編程,將外部R答: 片外 RAM 與片 RAM 之間的數據傳送不能直接進行,需要借助累加器A 。數據交換需要使用數據交換指令XCH 。MOV DPTR, #1000HMOVX ADPTRXCH A, 60HMOVX DPTR, A3-14 已知( A) =5BH ,(R1) =40H ,40H ) =C3H ,(PSW) =81H ,試寫出各條指令的執行結果,并說明程序狀態字的狀態。( 1 ) XCHA , R1( 2) XCHA ,40H( 3) XCHA , R1( 4) XCHDA , R1(
20、5) SWAPA( 6) ADD AR1( 7) ADDA ,40H( 8) ADDA ,#40H( 9) ADDCA ,40H( 10) SUBB A , 40H(11) SUBBA ,#40H答:(1)結果:(A)R1 ),(A) =40H ,( R1) =5BH ,( PSW) =81H(2)結果:(A)40H),(A) =C3H ,( 40H) =5BH ,( PSW) =80H(3)結果:(A)一R1 ),(A) =C3H , (R1)=(40H) =5BH , (PSW)=80H(4)結果:(A) o3<-> ( ( R1) ) o3, (A) =53H, ( ( R1
21、) ) = (40H) =CBH , ( PSW) =80H(5)結果:(A) o3<-> (A) 47, (A) =B5H, ( PSW) =81H(6)結果:A- (A) + (R1) , (A) =9BH, (PSW) =05H(7)結果:A- (A) + (40H) , (A) =1EH, (PSW) =80H(8)結果:A- (A) +40H , (A) =9BH , (PSW) =05H(9)結果:A- (A) + (40H) +CY, (A) =1FH , (PSW) =81H(10)結果:A- (A) - (40H) -CY , (A) =97H , (PSW) =
22、85H(11)結果:A- (A) - 40H - CY , (A)=1AH, ( PSW) =01H3-26 已知( A) =5BH ,( R1) =40H ,( 40H) =C3H ,( PSW) =81H ,試寫出各條指 令的執行結果,并說明程序狀態字的狀態。1)XCHA,R1( 2) XCH A ,40H3)XCHA,R1( 4) XCHD A ,R15)SWAPA( 6) ADD A ,R17)ADDA,40H( 8) ADD A ,#40H9)ADDCA40H( 10) SUBBA , 40H11)SUBBA ,#40H答:指令LJMPaddr16是長轉移指令,指令中提供了16位目的
23、地址,尋址圍是64KB。指令AJMP add1是絕對轉移指令,指令中11位目的地址,其中a7a0在第二字節, a10a8 則占據第一字節的高3 位,尋址圍是與PC 當前值(本指令所在地址+本條指令所占用的字節數2)在同一個2K 的區域。3-27 試分析以下兩段程序中各條指令的作用。程序執行完將轉向何處?( 1) MOV P1, #0CAHMOV A , #56HJB P1.2 , L1JNB ACC.3 , L2L1 :L2:2) MOV A , #43HJB ACC.2 , L1JBC ACC.6 , L2L1 :L2:答:( 1) MOV P1 , #0CAHMOV A, #56HJB P
24、1.2, L1JNB ACC.3, L2L1 :L2 :執行完本段程序后將轉移至L2 ,( 2)MOVA , #43HJB ACC.2, L1JBC ACC.6, L2清零 L1 :L2 :執行完本段程序后將轉移至L2 ,清零。;P1-CAH, P1=CAH=11001010B;A 56H, A=56H=01010110B;若 P1.2=1 ,則轉移至L1;若 ACC.3=0 ,則轉移至L2P1.2=0, ACC.3=0 ,所以轉至L2 。;A 43H, A=43H=01000011B;若 ACC.2=1 ,則轉移至L1; 若 ACC.6=1 , 則轉移至 L2 , 同時將 ACC.6ACC.
25、2=0 , ACC.6=1 , 所以轉至 L2 , 并且將 ACC.6第 4 章 匯編語言程序設計4-3 存放在部 RAM 的 DATA 單元中的變量X 是一個無符號整數, 試編程計算下面函數的函數值并存放到部RAM 的 FUNC 單元中。答:口感心或毆ORG 0300HMOV ACJNE ALOP1 : JC LOP3CJNE ALOP2 : JC LOP4MOV BLJMP LOP5LOP3 : MOV BLJMP LOP5LOP4 : MOV BLOP5: MUL ABMOV FUNCRET,DATA,#20 , LOP1,#50 , LOP2,#1,#2,#5,A4-5某單片機應用系統
26、有 4X4鍵盤,經鍵盤掃描程序得到被按鍵的鍵值(00H0FH)存放在R2中,16個鍵的鍵處理程序入口地址分別為 KEY0、KEY1、KEY2、KEY15。試 編程實現,根據被按鍵的鍵值,轉對應的鍵處理程序。答:ORG 0500HMOV DPTR, #JPTABMOV A, R2RL AJMP A+DPTRJPTAB : AJMP KEY0AJMP KEY1AJMP KEY2AJMP KEY15KEY0:KEY1:KEY2:KEY15:4-6試編程將片 40H60H單元中容傳送到外部 RAM以2000H為首地址的存儲區中。答: ORG 0600HMOV R0, #40HMOV DPTR, #20
27、00HMOV R7, #21HLOOP: MOV A , R0MOVX DPTR, AINC R0INC DPTRDJNZ R7, LOOPRET4-7 試編程將片40H60H單元中容傳送到外部 RAM以2000H為首地址的存儲區中。答: ORG 0700HMOV DPTR, #DATAMOV R7, #10LOOP: MOVX A , DPTRORL A, #80HMOVX DPTR, AINC DPTRDJNZ R7, LOOPRET4-8 編寫程序將外部 開始的區域。RAM 3000H 開始的 13 個單元中的數據隔一個傳送到部RAM 30H答: ORG 0800HMOV DPTRMOV
28、 R0MOV R7LOOP: MOVX AMOV R0INC DPTRINC DPTR, #3000H, #30H, #7DPTR,AINC R0DJNZ R7, LOOPRET4-9 編程將片外RAM地址為1000H1030H的數據塊,全部搬遷到片RAM 30H 60H0。答: ORG 0900HMOV DPTR, #1000HMOVR1,#30HMOVR7,#31HLOOP: MOVX A , DPTRMOVR1,ACLR AMOVX DPTR, AINC DPTRINC R1DJNZ R7, LOOPRET4-10 試編程把長度為10H 的字符串從部RAM 首地址為 DAT1 的存儲器中
29、向外部RAMCR 或整個字符串傳送完畢結束。首地址為 DAT2 的存儲器進行傳送,一直進行到遇見字符答: ORG 0A00HMOV R1MOV DPTRMOV R6LOOP1 : MOV ACJNE ALJMP LOOP3, #DAT1, #DAT2, #10HR1, #0DH , LOOP2LOOP2 : MOVX DPTR , A INC R1INC DPTRDJNZ R6, LOOP1LOOP3 : RET4-18設在外部RAM 2000H2004H單元中,存放有 5個壓縮BCD碼,試編程將它們 轉換成ASCH碼,存放到以 2005H單元為首地址的存儲區中。答: ORG 1200HMOV
30、 DPTR, #2000HMOV R0, #30HMOV R7, #5LOP1 : MOVX A , DPTRANL A, #0FHADD A, #30HMOV R0, AINC R0MOVX A, DPTRANL A, #0F0HSWAP AADDA, #30HMOVR0,AINCR0INCDPTRDJNZ R7, LOP1MOV DPTR, #2005HMOV R0, #30HMOV R7, #10LOP2 : MOV A, R0MOVX DPTRINC R0INC DPTR,ADJNZ R7, LOP2RET4-20已知部RAM 30H和40H單元分別存放著一個數 a、b,試編寫程序計算
31、 a2- b2, 并將結果送入 30H 單元。設a、 b 均是小于 10 的數。ORG 1400HMOVA, 40HMOVB,AMULABMOV31H,AMOVA, 30HMOVB,AMULABCLRCSUBBA, 31HMOV30H,ARET4-21 根據題322 的線路圖(圖3-10),設計燈亮移位程序,要求8個發光二極管每次亮一個,點亮時間為40ms。順次一個一個地循環右移點亮,循環不止。答:ORG 1500HMOV A, #80HLOOP: MOV P1 , ALCALL DELRR ASJMP LOOPDEL : MOV R7 , #100DEL1 : MOV R6 , #198DJ
32、NZ R6, $DJNZ R7, DEL1RETRET第 5 章 定時 / 計數器5-1 51系列單片機的部設有幾個定時 /計數器?有哪幾種工作方式?由哪位選擇?不同方式下,脈沖來源是否一樣?答:51系列單片機的部設有兩個定時 /計數器。分別有兩種工作方式:定時器方式和計 數器方式。由 TMOD (定時器模式控制寄存器)中的控制位進行選擇。定時器方式的脈沖 來自于部時鐘脈沖,每個機器周期是計數器的值增1;計數器方式的脈沖來自于外部輸入引腳 T0 (P3.4)或 T1 (P3.5)。5-2 51系列單片機的定時/計數器有哪幾種工作模式?各有什么特點?答:51系列單片機的定時/計數器有四種工作模式
33、。分別由 TMOD中的M1和M0進行 選擇。特點如下:M1 M0特 點0 0模式0。TLX中低5位與THX中的8位構成13位計數器。計滿溢出時,13位計數器回零。01模式1。TLX與THX構成16位計數器。計滿溢出時,16位計數器回零。1 0模式2。8位自動重裝載的定時/計數器,每當計數器 TLX溢出口THX中的容重新裝載到 TLX中11模式3。對定時器0,分成2個8位計數器,對于定時器1,停止計數。5-3 51系列單片機的T0和T1在模式0中,都使用了計數器的哪些位?答:51系列單片機的T0和T1在模式0中,使用了 TLX中低5位與THX中的8位構 成13位計數器,TLX中的高3位棄之未用。
34、5-4 51系列單片機的 T0和T1在模式3時有何不同?答:對于T1,設置為模式3,將使它停止計數并保持原有的計數值,其作用如同使TR1=0,因此,沒有什么實質意義。對于T0 ,設置為模式3時,16位計數器被分成兩個互相獨立的8位計數器TL0和TH0 ,其中TL0利用了定時/計數器0本身的一些控制位:、 GATE、TR0、和TF0。它既可以按照 計數方式工作,也可以按照定時方式工作。而TH0被規定只可用作定時器方式,借用了T1的控制位 TR1和TF1。5-5 試問當(TMOD ) =27H時,是怎樣定義 T0和T1的?答:(TMOD) =27H=00100111B此時,T1工作于模式2,定時方
35、式(即波特率發生器方式)。T1工作于模式3, TL0和TH0同為計數方式。5-6系統復位后執行下述指令,試問T0的定時時間為多長?MOV TH0 , #06HMOV TL0 , #00H SETB TR0 答:單片機系統復位后(TMOD) =00H,即T0工作在模式0,使用的是TL0的低5位 和TH0構成13位定時/計數器,由于(TH0) =06H, ( TL0 ) =00H ,所以定時的初值為:X=00B=192假設系統晶振頻率為 6MHz,機器周期T=2 s,則定時時間為: 定時值=(M-X) T= (213-192) X 2 W s=16000 科 s=16ms5-7已知51系列單片機的
36、系統晶振頻率為6 MHz,請利用定時器T1和P1.2輸出矩形脈沖。答:ORG 0000HORG 0200HSTART: MOV TMOD , #20HMOV TL1, #231SETB TR1LOOP: SETB P1.2MOV TH1, #81LOP1 : JBC TF1 , LOP2SJMP LOP1LOP2 : CLR P1.2MOV TH1, #231LOP3 : JBC TF1, LOOPSJMP LOP3 END第6章串行接口6. 1并行通信和串行通信各有什么特點?它們分別適用于什么場合?答:計算機與外界信息交換的基本方式可分為并行通信與串行通信:并行通信是數據的各位同時傳送,并行
37、通信的特點是傳送速度快,但不適用長距離傳輸;串行通信是數據的各位依次逐位傳送,串行通信的特點是傳送速度較慢,但傳輸距離較長。并行通信適合近距離的 CPU之間或設備之間快速進行數據交換;串行通信適合長距離的CPU之間或設備之間進行數據交換,或近距離的慢速數據交換。6. 2什么是串行異步通信?它有哪些特點?串行異步通信的數據幀格式是怎樣的? 答:異步通信依靠起始位、停止位、保持通信同步。特點是數據在線路上的傳送不連續,傳送時,字符間隔不固定,各個字符可以是連續傳送,也可以間斷傳送,這完全取決于通信協議或約定。串行異步通信的數據幀格式如圖6-1: 一位起始位“ 0”電平;其后是5位、6位、7位或8位
38、數據位,低位在前,高位在后;后面是1位奇偶校驗位;最后是停止位“1”電平。起始位 D0 D1 D2 D3 D4 D5 D6 D7 奇偶校驗位停止位圖6-1異步通信的數據幀格式6. 3串行通行有哪幾種數據傳送形式,試舉例說明。答:串行通信有3種數據傳送形式單工方式:數據傳送是單向的。半雙工方式:數據傳送是雙向的,在同一時間只能做一個方向的傳送。全雙工方式:數據傳送是雙向的,即可同時發送,又可同時接收。圖6-2串行通信數據傳送 3種形式6. 4何謂波特率?某異步通信,串行每秒傳送250個字符,每個字符由11位組成,其波特率應為多少?答:波特率表示每秒傳輸的二進制數據位數。Fb= 11 X 250
39、= 2750 其波特率應為 2750bps。6 5 MCS-51 單片機串行口有幾種工作模式?如何選擇?簡述其特點,并說明這幾種工作模式各用于什么場合?答: MCS-51 單片機串行口有4 種工作模式,由串行控制寄存器SCON 中的 SM0 、 SM1 兩位組合來確定。模式0是同步位移寄存器方式,用于模式1是8位異步通信方式,楨格式模式2是9位異步通信方式,楨格式模式3是9位異步通信方式,楨格式I/O 口的串、并轉換。10 位,波特率可變,用于雙機通信。11 位,波特率固定,用于多機通信。11 位,波特率可變,用于多機遠距離通信。模式 1、 2、 3 的區別主要表現在楨格式和波特率兩個方面。答
40、:6模式 0 的波特率固定: fosc/12模式2 的波特率固定:fosc/n ( n=64或32)模式1、 3 的波特率可變: T1 溢出率/n( n=32或 16)10 設計一個 MCS-51 單片機的雙機通信系統,并編寫程序將甲機片外RAM 2200H6 6 MCS-51 單片機 4 種工作模式的波特率如何確定?2250H的數據塊通過串行口傳送到乙機的片外RAM1400H1450H單元中。要求串行答:口工作在模式2 ,串行口工作在模式 持一致。甲機發送子程序:2,6 MHz ,傳送時進行奇校驗;若出錯,置F0 標志為 1 。確定 SMOD = 1。未規定波特率,定時器初值任取,但兩機要保
41、TXDA: MOVTMOD,#20H;置 T1 定時器工作方式2MOVTL1 ,#0FDH;置初值MOVTH1 ,#0FDH;置初值SETBTR1;啟動 T1SCON,#90HMOV; 置串口方式2,允許接收,且SM2=0MOVPCON,#80H;置 SMOD=1(SMOK能位操作)CLRES;禁止串行中斷MOVDPTR,#2200H;指發送數據區首地址MOVR2,#51H;指發送數據長度TRSA: MOVXA,DPTR;讀一個數據MOVC,PMOVTB8,C; 置校驗位MOVSBUF,A;發送JNBTI ,$; 等待一楨數據發送完畢CLRTI;清發送中斷標志INCDPTR; 指向下一字節單元
42、DJNZR2,TRSA;判數據發完否?未完繼續RET;乙機接收子程序:RXDB: MOVTMOD,#20H;置 T1 定時器工作方式2MOVTL1 ,#0FDH;置初值MOVTH1 ,#0FDH;置初值SETBTR1;啟動 T1MOVSCON,#90H; 置串行方式2,允許接收,且SM2=0MOVPCON,#80H;置 SMOD=1(SMODF能位操作)CLRES;禁止串行中斷MOVDPTR,#1400H;置接收數據區首地址MOVR2,#51H;置接收數據長度SETBREN; 啟動接收SETB F0;先置出錯標志F0 為 1 。RDSB: JNBRI ,$;等待一楨數據接收完畢CLRRI;清接
43、收中斷標志MOVA,SBUF; 讀接收數據MOVXDPTR,A;存接收數據MOVC,RB8ANLC,PJCRDSB2;都是 1,則正確MOVC,RB8ORLC,PJNCRDSB2;都是 0,則正確LJMPRXDBD;出錯DPTR指向RDSB2: INC下一數據存儲單元DJNZR2 ,RDSB ;判數據接收完否?未完繼續 CLR F0 ;正確接收,則清除出錯標志F0RXDBD: RET第 7 章 中斷系統7 1 MCS-51 系統有幾個中斷源,各中斷標志是如何產生的,又如何清零的? CPU 響 應中斷時,中斷入口地址各是多少?答: MCS-51 系統有 、 T0 、 、 T1 和串行口共五個中斷
44、源;和的中斷標志是IE0 和 IE1 ,在電平方式下,當外部中斷輸入信號是低電平時,由硬件置1;在邊沿方式下,當外部中斷輸入信號是下降沿時,由硬件置1;定時計數器溢出中斷 T0 和 T1 的中斷標志位是TF0 和 TF1 ,當定時/計數器產生溢出時,該位由硬件置1;串行口中斷標志是TI 或 RI ,當單片機接收到或發送完一幀數據后,由硬件置1 。外部中斷和的電平方式, 無法清除, 需采取硬件和軟件相結合的方法來清除; 邊沿方式,在CPU響應中斷后自動清除;定時 /計數器0和1的溢出中斷,在CPUP向應中斷后自動清除;串行口中斷(包括串行接收中斷RI 和串行發送中斷TI ),由軟件清零。 、 T
45、0 、 、 T1 和串行口中斷5 個中斷源分別對應的中斷入口地址是:0003H、 000BH、 0013H、 001BH 、 0023H。7 2 MCS-51 的中斷系統有幾個中斷優先級?中斷優先級是如何控制的?答: MCS-51 的中斷系統有兩個中斷優先級:高優先級和低優先級。中斷優先級的控制方式是:高優先級中斷可以中斷正在響應的低優先級中斷,反之則不能。優先級中斷不能互相中斷。 即某個中斷 (不論是高優先級或低優先級) 一旦得到響應, 與其同級的中斷就不能再中斷它。同一中斷優先級中優先權由高到低的次序是、 T0 、 、 T1 和串行口中斷,若有多個中斷源同時請求中斷, CPU 將先響應優先
46、權高的中斷,后響應優先權低的中斷。通過中斷優先級控制寄存器 IP 可以選擇 5 個中斷源的優先級別8 3 MCS-51 有幾個中斷標志位?它們有什么相同之處,又有什么不同的地方?答: MCS-51 有 IE0、 TF0、 IE1 、 TF1、 TI 和 RI 共 6 個中斷標志位。相同之處是這些中斷標志位都是由硬件自動產生的,不同之處是外部中斷和計數/定時器中斷標志的清零是由硬件自動完成的,而串行口中斷標志( TI、RI)不會自動清除,必 須由用戶在串行中斷服務程序中用指令對TI或RI清0。9 4 試編程實現,將設為高優先級中斷,且為電平觸發方式, T0 溢出中斷設為低優 先級中斷,串行口中斷
47、為高優先級中斷,其余中斷源設為禁止狀態。答:MOV IE, #10010110B; T0、串行口允許中斷MOV IP, #00010100B ;和串行口中斷為高優先級CLR IT1 ;電平觸發方式10 5 如何將定時器中斷擴展為外部中斷源?答:( 1)置定時/計數器為工作模式2,且為計數方式,即8 位的自動裝載方式;( 2)定時/計數器的高8 位和低 8 位初值都預置0FFH ;(3)將定時/計數器的計數輸入端(P3.3、P3.4)作為擴展的外部中斷請求輸入;( 4)在相應的中斷服務程序入口開始存放外中斷服務的中斷服務程序。7 8 試用中斷技術設計一個秒閃電路, 其功能是發光二級管LED 每秒
48、閃亮 400ms。 主機頻率為 6MHz 。答:主機頻率6MHz,定時器最大定時130 ms左右,取100 ms為定時時間單位,高電平包含 6 個單位,低電平包含 4 個單位,共10 個單位。選用定時器 T0 模式 1,初值:P1.7驅動發光二極管,R7作時間單位計數器。電路如圖7-1。電路中7404是反向器,P1.7 輸出高電平,燈不亮。編程:ORG0000H;復位地址LJMPSTAT;轉初始化程序ORG000BH; T0 中斷服務程序LJMPPT0; 轉 T0 中斷服務程序ORG1000H; 初始化程序首地址STAT:CLRP1.7;輸出低電平MOVTMOD,#01H;置T0 定時器方式1
49、MOVTH0 ,#3CH; 置 T0 初值, 定時 100 msMOVTL0 ,#0B0H;置 T0 初值,定時100 msSETBTR0 ,; T0 啟動MOVR7 ,#10;計數器置初值MOVIE ,#10000010B; T0 開中LJMP$;等待中斷PT0:CJNER7, #10,PT02SETBP1.7;計數器值105時,燈滅PT02:CJNER7 , #4,PT04CLRP1.7;計數器值41時,燈亮PT04:DJNZR7,PT0DMOVR7,#10;計數器置初值PT0D:RETI;中斷返回第8章MCS-51單片機的系統擴展8. 1在MCS-51擴展系統中,程序存儲器和數據存儲器共
50、用16位地址線和8位數據線,為什么兩個存儲空間不會發生沖突?答:程序存儲器和數據存儲器雖然共用16位地址線和8位數據線,但數據存儲器的讀和寫由和信號控制,程序存儲器由讀選通信號控制,兩者雖然共處同一地址空間,但由于控制信號不同,故不會發生總線沖突。8. 2 MCS-51單片機的尋址圍是多少?8031單片機可以配置的存儲器最大容量是多少?而用戶可以使用的最大容量又是多少答:MCS-51單片機的尋址圍是 64KB ,既0000HFFFFH ;8031單片機可以配置的存儲器最大容量:程序存儲器64KB;片外數據存儲器 64KB;用戶可以使用的最大容量是:64KB ROM、64KBRAM、128B片R
51、AM 及SFR。8. 3為什么單片機外擴存儲器時,P0 口要外接鎖存器,而 P2 口卻不接?答:單片機外擴存儲器時,P0 口要外接鎖存器,是因為 P0 口是分時提供低8位地址和數據 信息的,為避免低 8位地址信息丟失,所以 P0 口要外接鎖存器;而 P2 口不具備分時、復 用功能,所以不用外接鎖存器。8. 4程序存儲器和數據存儲器的擴展有何相同點及不同點?試將 8031芯片外接一片 2732EPROM和一片6116RAM組成一個擴展系統,畫出連接的邏輯圖。答:程序存儲器和數據存儲器的擴展相同點是:由 P2 口提供高8位地址,P0 口分時提供低8位地址和8位雙向數據線。CPU的和信號控制,地址空間任意選取;程序存儲器讀選信號由CPU的控制,程序空間從 0000H開始。8031與2732、6116連接的電路圖如圖 8-1。圖8-1 8031與2732. «116連接的電路圖程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南稅務高等專科學校《葡萄牙語視聽說(III)》2023-2024學年第二學期期末試卷
- 江蘇省江陰四校2024-2025學年高三3月模擬考生物試題含解析
- 浙江省蒼南縣2024-2025學年初三下學期綜合練習(二)英語試題試卷含答案
- 管理學廣告案例分析
- 私募基金培訓
- 2025勞動合同績效考核
- 2025私人買賣合同協議
- 氣管套管脫管護理流程
- 2025年實習生聘用合同范本
- 2025建筑施工合同范本(方案施工圖) 新手看施工圖紙
- 二襯帶模注漿施工方案
- 煤礦節電降耗管理措施
- 《英語委婉語與忌語》PPT課件.ppt
- 地域文化教學大綱(修訂本)
- 通用航空產業園項目商業計劃書范文參考
- 中國書法演變史
- 工商企業管理畢業論文范文
- 調查問卷設計-課件PPT
- 井下電纜著火應急演練預案
- APP開發合作協議通用版
- 小學數學 五進制
評論
0/150
提交評論