單片微型計算機原理和應用參考答案與解析_第1頁
單片微型計算機原理和應用參考答案與解析_第2頁
單片微型計算機原理和應用參考答案與解析_第3頁
單片微型計算機原理和應用參考答案與解析_第4頁
單片微型計算機原理和應用參考答案與解析_第5頁
已閱讀5頁,還剩35頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

《單片微型計算機原理及應用》習題參考答案

姜志海劉連鑫王蕾編著

電子工業出版社

目錄

第1章微型計算機根基1

第2章半導體存儲器及I/O接口根基3

第3章MCS-51系列單片機硬件構造9

第4章MCS-51系列單片機指令系統14

第5章MCS-51系列單片機匯編語言程序設計17

第6章MCS-51系列單片機中斷系統與定時器/計數器22

第7章MCS-51系列單片機的串行口28

第8章MCS-51系列單片機系統擴展技術30

第9章MCS-51系列單片機鍵盤/顯示器接口技術31

第10章MCS-51系列單片機模擬量接口技術34

第11章單片機應用系統設計37

第1章微型計算機根基

1.簡述微型計算機的構造及各局部的作用

微型計算機在硬件上由運算器、控制器、存儲器、輸入設備及輸出設備五大局部組成。

運算器是計算機處理信息的主要局部;控制器控制計算機各部件自動地、協調一致地工

作;存儲器是存放數據與程序的部件;輸入設備用來輸入數據與程序;輸出設備將計算機的

處理結果用數字、圖形等形式表示出來。

通常把運算器、控制器、存儲器這三局部稱為計算機的主機,而輸入、輸出設備則稱為

計算機的外部設備(簡稱外設)。由于運算器、控制器是計算機處理信息的關鍵部件,所以

常將它們合稱為中央處理單元CPU(CentralProcessUnit)。

2.微處理器、微型計算機、微型計算機系統有什么聯系與區別

微處理器是利用微電子技術將計算機的核心部件(運算器和控制器)集中做在?塊集成

電路上的一個獨立芯片。它具有解釋指令、執行指令和與外界交換數據的能力。其內部包括

三局部:運算器、控制器、內部存放器陣列(工作存放器組)。

微型計算機由CPU、存儲器、輸入/輸出(I/O)接口電路構成,各局部芯片之間通過

總線(Bus)連接。

以微型計算機為主體,配上外部輸入/輸出設備、電源、系統軟件一起構成應用系統,

稱為微型計算機系統。

3.微型計算機是以CPU為核心,配上存儲器、輸入/輸出接口和系統總線組成的計算

機。

4.在計算機內部,一切信息的存取、處理和傳遞的形式是(C)。

A.ASCII:碼B.BCD碼C.二進制D.十六進制

5.。?9的ASC工工碼是(C)。

A.0—9B.30?39C.30H?39HD.40H?49H

6.在微型計算機中,一般具有哪三類總線試說出各自的特征(包括傳輸的信息類型、

單向傳輸還是雙向傳輸)。

所謂總線,就是在微型計算機各芯片之間或芯片內部各部件之間傳輸信息的一組公共通

信線。計算機元件級總線包括地址總線AB(AddressBus)、數據總線DB(DataBus)、

控制總線CB(COULLUIBUS)三種。

(1)地址總線:地址總線是CPU用來向存儲器或工/o接口傳送地址信息的,是三態單

向總線。地址總線的寬度決定了CPU可直接尋址的內存容量。通過地址總線確定要操作的

存儲單元或工/。接口的地址。

(2)數據總線:數據總線是CPU與存儲器及外設交換數據的通路,是三態雙向總線。

(3)控制總線:控制總線是用來傳輸控制信號的,傳送方向依據具體控制信號而定,

如CPU向存儲器或工/。接口電路輸出讀信號、寫信號、地址有效信號,而工/。接口部件向

CPU輸入復位信號、中斷請求信號等。

7.將以下二進制數轉換為十進制數。

111101.101B100101.11B1100110.011B

111101.101B=29.625100101.11B=37.751100110.011B=102.375

8.將以下十進制數轉換為二進制數、BCD碼數。

126.635317.12587.0735

126.635=1111110.101B=(000100100110.011000110101)BCD

317.125=100111131.001B=(001100010111.000100100101)BCD

87.0735=1010111.0001B=(10000111.0000011100110101)BCD

9.設機器數為8位,寫出以下用真值表示的二進制數的原碼、補碼和反碼。

+0010101B-0010101B+1000000B-1000000B

+0010101B-0010101B+1000000B-1000000B

原碼00010101B10010101B01000000B11000000B

反碼00010101B11101010B01000000B10111111B

補碼00010101B11101011B01000000B11000000B

10.將以下BCD碼表示成十進制數和二進制數。

01111001010101111000001110011001

(01111001)BCD=79=1001111B(01010111)BCD=57=111001B

(10000011)BCD=83=101001IB(10011001)BCD=99=110001IB

11.設以下數據為8位補碼表示的十六進制數,計算a+b和a-b,并且判斷有

無溢出。

aba+b是否溢出a-b是否溢出

37H97HOCEHNOAOHY

0B7H0D7H8EHYOEOHY

0F7H0D7HOCEHY20HN

037H0C7HOFEHN70HY

12.計算機某字節存儲單元的內容為10000111,假設解釋為無符號數,則真值為

(135);假設解釋為有符號數,則真值為(-121);假設解釋為BCD碼,則真值為(87);

假設用十六進制數表示,則為(87)Ho

第2章半導體存儲器及I/O接口根基

1.半導體存儲器分兩大類:易失性存儲器RAM和非易失性存儲器ROM。閃速存儲器

屬于非易失性存儲器ROM。

2.SRAM6264芯片的地址線為A12?A0,其存儲容量為8K地址空間。

3.可用紫外線擦除后改寫的存儲器EPROM經擦除后,各單元的內容應為0FFH。

4.8x8KB的SRAM存儲器芯片需要13根地址線和8根數據線。

5.半導體存儲器有哪幾種類型各自有什么特點半導體存儲器的兩個重要指標是什么

半導體存儲器通常分為隨機存取存儲器(RAM,RandomAccessMemory)和只讀存

儲器(ROM,ReadOnlyMemory)兩類。

(1)RAM:

RAM又稱讀寫存儲器,它的數據讀取、存入時間都很短,因此計算機運行時,既可以從

RAM中讀數據,又可以將數據寫入RAM。但掉電后RAM中存放的信息將喪失。RAM適宜存

放輸入數據、中間結果及最后的運算結果,因此又被稱為數據存儲器。

隨機存儲器有靜態RAM和動態RAM兩種。靜態RAM用觸發器存儲信息,只要不斷電,

信息就不會喪失。動態RAM依靠電容存儲信息,充電后為、'1",放電后為''0"。為了保存

信息,每隔1?2ms必須對高電平的電容重新充電,這稱為動態RAM的定時刷新。動態RAM

的集成度高;靜態RAM的集成度低、功耗大,優點是省去了刷新電路。在設計專用的微型

計算機系統時,一般只用靜態RAM就可以滿足要求。

(2)ROM:

ROM稱為只讀存儲器。讀出一個數據的時間為數百納秒,有時也可改寫,但寫入一個數

據的時間長達數十亳秒。因此在計算機運行時只能執行“讀”操作。掉電后ROM中存放的

數據不會喪失。ROM適宜存放程序、常數、表格等,因此又稱為程序存儲器。只讀存儲器有

以下五類:

掩模ROM:在半導體工廠生產時,已經用掩模技術將程序做入芯片,用戶只能讀出內容

而不能改寫。掩模ROM只能應用于有固定程序且批量很大的產品中。

一次可編程只讀存儲器(PROM,ProgrammableROM):用戶可將程序寫入PROM,

但程序一經寫入就不能改寫。

紫外線擦除可編程只讀存儲器(EPROM,ErasablePROM):用戶可將程序寫入EPROM

芯片。如果要改寫程序,先用EPROM擦除器,擦去原先的程序,然后寫入新程序。與PROM

芯片一樣,寫入的速度很慢,且要用到高壓,所以必須用特定的EPROM編程器寫入信息。

在計算機運行時只能執行讀操作。

電擦除可編程只讀存儲器(EEPROM,ElectricallyErasablePROM):由于采用

電擦除方式,而且擦除、寫入、讀出的電源都用+5V,故能在應用系統中在線改寫。但目前

寫入時間較長,約需10ms,讀出時間約為幾百納秒。

閃爍存儲器(FldtshMeniory):快速擦寫存儲器(FlashMeniury,簡稱Flash)

是20世紀80年代中期推出的新型器件。它可以在聯機條件下,在計算機內進展擦除、改

寫,因而稱為快擦寫型存儲器或閃爍存儲器。它具有芯片整體或分區電擦除和可再編程功能,

從而使它成為性價比和可靠性最高的可讀寫、非易失性存儲器。主要性能特點如下:

高速芯片整體電擦除:芯片整體擦除時間約1s,而一般的EPROM需要15min以上。

高速編程:采用快速抓沖編程方法,編程時間短。

最少1萬次擦除/編程周期,通??傻竭_10萬次擦除/編程周期。

早期的Flash采用12V編程電壓,改進后在Flash內部集成了1個DC/DC變換器,

可以采用單一的5V電壓供電。

高速度的存儲器訪問:最大讀出時間不超過200”。高速Flash的讀出時間到達6*s。

低功耗:最大工作電流為30mA,備用狀態下的最大電流為lOOpA。

密度大,價格低,性價比高。

衡量半導體存儲器性能的主要指標有存儲容量、存取速度、存儲器周期、功耗、可靠性、

價格、電源種類等,其中主要的技術指標是存儲容量和存取速度。

存儲容量是存儲器的一個重要指標。存儲器芯片的存儲容量用''存儲單元個數x每個

單元的存儲位數”來表示,如存儲器有256個單元,每個單元存放8位二進制數,那么該

存儲器的容量為256x8位。存儲器容量1K=1024=210。對于以字節編址的微型計算

機,可以以字節表示容量,如某微型計算機的容量為64KB。

在表示存儲器的容吊時,一般是以某一空間范圍來表示的,而空間范圍是由地址線來決

定的,即存儲器的容量和存儲器的地址線的寬度(數量:有關。地址的二進制位數N與容

量的關系是Q=

如某存儲器芯片有13條地址線A12-A0,則存惆器容量為8KB,空間表示范圍為

0000H?1FFFH。

存取速度:

該項指標一般用以卜.兩個參數中的一個來描述。

①存取時間(AccessTime,TA):是指從CPU給出有效的存儲地址啟動一次存儲器

讀/寫操作,到操作完成所經歷的時間。

具體地說,對一次讀操作的存取時間就是讀出時間,即從地址有效到數據輸出有效之間

的時間;對于一次寫操作,存取時間就是寫入時間。

②存取周期(AccessCycle,TAC):是指連續兩次存儲器讀/寫操作之間所需要的

最小時間間隔。對于讀操作,就是讀周期時間;對于寫操作,就是寫周期時間。因為在一次

數據訪問后,芯片不可能無間歇地進入下一次訪問,所以存取周期TAC要略大于存取時間

TA。表示上,該參數常表示為讀周期TRC或寫周期TWC,存取時間TAC是其統稱。

6.型號是1KX4位的靜態RAM,應有多少條地址線多少條數據線

10條地址線、4條數據線

7.說明EPROM、PROM、ROM和Flash存儲器之間的主要區別。

參考第5題。

8.什么是'、閃存”它有哪些特點用于哪些場合

參考第5題。

9.簡述堆棧的作用與操作。

所謂堆棧,是指在存儲器中開辟的一個區域,用來存放需要暫時保存的數據。

(1)堆棧的作用

用來存放斷點地址或保存臨時數據。在調用了程序和執行中斷服務程序的過程中,要保

存斷點地址,有時還要保護現場。只有保存了斷點地址,才能在子程序或中斷服務程序執行

后保證返回到主程序的斷點處,繼續執行主程序。斷點地址與現場信息是送入堆棧保存的。

在返回主程序前,要把保存在堆棧中的現場信息送回對應的存放器,這稱為恢復現場。

(2)堆棧操作

堆棧有兩種操作方式,將數據送入堆棧稱為推入操作,又稱為壓入操作,如壓入指令

PUSHA

把堆棧中內容取出來的操作稱為彈出操作,如彈出指令

POPA

執行把棧頂內容送回A的操作。

10.簡述1/O接口的功能。

接口電路是專門為解決CPU與外設之間的不匹配、不能協調工作而設置的,它處在總

線和外設之間,一般應具有以下根本功能。

(1)對輸入/輸出數據進展緩沖、隔禽和鎖存

(2)對信號的形式和數據格式進展交換與匹配

(3)提供信息相互交換的應答聯絡信號

(4)根據尋址信息選擇相應的外設

由此可見,工/0電路是外設和計算機之間傳送信息的交換器件,也有人稱它為界面,它

使兩者之間能很好地協調工作,每一個外設都要通過接I1電路才能和計算機相連。

11.CPU處理1/0操作有幾種方式各自有什么特點和應用范圍

CPU和外設之間的數據傳輸有4種方式,即無條件方式、查詢方式、中斷方式、直接

存儲器存取方式(DMA方式)。

(1)無條件傳輸方式

所謂無條件傳輸方式,是指CPU對外設接口的讀寫隨時都可以進展,不需要等待某種

條件的滿足。無條件傳送方式也稱同步傳送方式,主要用于對簡單外設進展操作,或者外設

的定時是固定的或的場合。對于這類外設,在任何時刻均以準備好數據或處于接收數據狀態,

或者在某些固定時刻,它們處在數據就緒或準備接收狀志,因此程序可以不必檢杳外設的狀

態,而在需要進展輸入或輸出操作時,直接執行輸入/輸出指令。當輸入/輸出指令執行后,

數據傳送便立即進展。

這是一種最簡單的輸入/輸出傳送方式,所需要的硬件和軟件都非常小,一般用于控制

CPU與低速工/0接口之間的數據交換。

無條件傳輸方式的軟、硬件簡單,但一般的外設難以滿足上述條件,所以這種輸出方式

用得較少,只用于一些簡單外設,如開關、數碼管顯示等。

(2)程序杳詢傳輸方式

程序查詢傳輸方式是指CPU在向外設傳遞數據前,首先查詢外設的狀態(即條件:,假

設外設準備好則傳送,假設未準備好,CPU就等待??梢姡覫I電路除了有傳送數據的端口

外,還有傳送狀態的端口。對于輸入過程,當外設將數據準備好時,則使接口的狀態端口中

的''準備好〃標志置1;對于輸出過程,外設取走一個數據后,接口便將狀態端口中的對應

標志置1,表示當前輸出存放器已經處于''空"狀態,可以接收下一個數據。

因此,對應條件傳送,一個數據傳送過程由3個環節組成:

①CPU從接口中讀出狀態字。

②CPU檢測狀態字的對應位是否滿足''就緒"條件,如果不滿足,則回到前一步讀出狀

態字。

③如果狀態字說明外設已處于''就緒"狀態,則傳送數據。

程序查詢傳輸方式接口電路中除了數據端U外,還必須有傳送狀態的端I」,同時CPU

要不斷查詢外設狀態,占用大量CPU的時間,硬件比無條件傳輸方式復雜,并使用較多的

端口地址C

用查詢方式輸入數據時,在接口電路與外設間要交換數據、狀態和控制3種信息。查

詢方式的缺點是CPU的利用受到影響,陷于等待和反復查詢,不能再做它用;而且,這種

方法不能處理掉電、設備故障等突發事件。

(3)中斷傳輸方式

在中斷傳送方式下,外設具有申請CPU服務的主動權,當輸入設備將數據準備好或者

輸出設備可以接收數據時,便可以向CPU發中斷請求,使CPU暫時停卜.目前的工作而和外

設進展一次數據傳輸,等輸入操作或者輸出操作完畢以后,CPU繼續進展原來的工作。即中

斷傳送方式就是外設中斷CPU的工作,使CPU停頓執行當前程序,而去執行一個輸入/輸

出程序,此程序稱為中斷處理子程序或中斷服務子程序。中斷服務子程序執行完后,CPU

又回來執行原來的程序。

采用中斷方式后,CPJ平時可以執行主程序,只有當輸入設備將數據準備好了,或者輸

出端口的數據緩沖器已空時,才向CPU發出中斷請求。CPU響應中斷后,暫停執行當前的

程序,轉去執行管理外設的中斷服務程序。在中斷服務程序中,用輸入或輸出指令在CPU

和外設之間進展次數據交換。等輸入或輸出操作完成后,CPU又回去執行原來的程序。

(4)DMA傳輸方式

DMA方式要利用系統的數據總線、地址總線和控制總線來傳送數據。原先這些總線是由

CPU管理的,但當外設需要利用DMA方式進展數據傳送時,接口電路可以向CPU提出請求,

要求CPU讓出對總線的控制權,用一種稱為DMA控制器的專用硬件接口電路來取代CPU臨

時接收總線,控制外設和存儲器之間直接進展高速的數據傳送,而不要CPU進展干預。這

種控制器能給出訪問內存所需要的地址信息,并能自動修改地址指針,也能設定和修改傳送

的字節數,還能向存儲器和外設發出相應的讀/寫控制信號。在DMA傳送完畢后,它能釋放

總線,把對總線的控制權交還給CPU。可見用DMA方式傳送數據時、不需要進展保妨和恢

復斷點及現場之類的額外操作,一旦進入DMA操作,就可直接在硬件的控制下快速完成一

批數據的交換任務,數據傳送的速度根本取決「外設和存儲器的存取速度。

12.什么是中斷什么是可屏蔽中斷什么是非屏蔽中斷CPU在什么條件下可以響應中斷

所謂中斷,是指CPU正常運行程序時,由于微處理器內部事件或外設請求,引起CPU

中止正在運行的程序,轉去執行請求中斷的外設(或內部事件)的中斷服務程序,中斷服務

程序執行完畢,再返回被中止的程序。利用中斷可以防止不斷檢測外設狀態,提高CPU的

效率。

可屏蔽中斷有時也稱為直接中斷。屏蔽是指CPU可以不處理的中斷請求。這種屏蔽實

際上是CPU的一種工作方式,可以通過軟件(指令)來設置,也就是可以通過指令,使CPU

或者允許承受中斷請求,或者不承受中斷請求。具體的指令由CPU的指令系統來決定???/p>

屏蔽中斷是最常見的一種中斷方式,所有的微處理器都有這種中斷方式。

對非屏蔽中斷來說,如果該中斷源申請了中斷,CPU是一定要處理的。CPU不可以也

不能用軟件將該中斷屏蔽掉。一般一些緊急的情況,如掉電中斷申請,就可以安排為這種中

斷方式,以保證緊急情況一定能得到處理。但并不是所有的微處理器的中斷系統都有這種中

斷方式,MCS-51單片機的中斷系統就沒有非屏蔽中斷。

一個完整的中斷處理的根本過程應包括:中斷請求、中斷優先權判別、中斷響應、中

斷處理及中斷返回。

如果提出中斷請求的中斷源優先權高,而且接口電路與CPU都中斷開放,CPU將響應

中斷,自動執行以下工作:

①保存斷點:中止正在執行的程序,并對斷點進展保護,即將斷點地址的值壓入堆棧

保存,以便中斷服務程序執行完后能返回斷點處繼續執行程序。

②轉入中斷服務程序:將中斷服務程序的人口地址送入PC,以轉到中斷服務程序。各

中斷源要求服務的內容不同,所以要編制不同的中斷服務程序,它們有不同的入口地址。

CPU首先要確定是哪?個中斷源在申請中斷,然后將對應的入口地址送入PC。

13.DMA傳送的根本過程是什么為什么DMA方式可以加快數據在外設和存儲器之間

的傳送

參看第11題。

14.什么是接口什么是端口一個接口電路是否可以有多個端口

所謂接口,是指在兩臺計算機之間、計算機與外設之間、計算機內部各部件之間起連接

作用的邏輯電路,是CPU與外界進展信息交換的中轉站。

所謂端口,是指工/0接口(包括芯片和控制卡)中供CPU直接存取訪問的那些存放器

或某些硬件特定電路。

一個工/0接口總要包括假設干端口,除常見的數據端口、命令端口和狀態端口外,還

有特殊用途的端口,如方式控制端11、操作結果端11和地址索引端11等。端口的多少及相應

的功能完全取決于與I/O接口所關聯的1/0設備。

15.CPU和外設之間傳輸的信息有哪幾類各有何特點

計算機與外設間的這種交換數據、狀態和控制命令的過程統稱為通信

(Communication)。通信過程就是數據傳輸的過程,在這個過程中要傳輸的信息有數據信

息、狀態信息、控制信息。

(1)數據信息

CPU和外設交換的根本信息就是數據,數據通常為8位或16位。數據信息可分為以

下三種類型。具體可分為數字量、模擬量、開關量。

(2)狀態信息

狀態信息反映了當前外設所處的工作狀態,是外設通過接口往CPU傳送的。

對于輸入設備來說,通常用準備好(READY)信號來說明輸入的數據是否準備就緒:對

干輸出設備來說.通常用It(BUSY)信號表示輸出設備是否處干空閑?如為空閑,則可接

收CPU送來的信息,否貝!CPU應等待。

(3)控制信息

控制信息是CPU通過接口傳送給外設的,CPU通過發送控制信息控制外設的工作,如

外設的啟動、停頓就是常見的控制信息。

16.串行傳送的特點是什么

數據傳送按位順序進展,最少只需一根傳輸線即可完成,本錢低但速度慢。計算機與外

界的數據傳送大多數是串行的,其傳送的距離可以從幾米到幾千千米。

17.串行通信和并行通信的主要區別是什么各有什么優缺點

計算機與外設之間或計算機之間的信息交換或數據傳輸稱為通信(Communication)。

根本的通信方式有兩種,一種是并行通信,另一種是串行通信。

(1)并行通信

并行通信是指數據的各位同時進展傳送。在并行通信中,有多少位數據,就需要多少條

傳輸線,因此傳送速度較快,即在一樣傳輸率的情況下,并行通信能夠提供高速、高信息率

的傳輸。

由于并行通信所需的傳輸線較多,如果傳輸距離增加,傳輸線的開銷會成為一個突出的

問題,因而并行通信一般用于數據傳輸率要求較高、傳輸距離乂比照短的場合。

(2)串行通信

串行通信是指數據一位一位地按順序傳送。串行通信時,要傳送的數據或信息必須按一

定的格式編碼,然后在單根線上,按一位接一位的先后順序進展傳送,發送完一個字符,再

發送第二個。接收數據時,每次從單根線上一位接一位地接收信息,再把它們拼成一個字符,

送給CPU做進一步處理。

采用串行通信方式的另?個出發點是,有些外設如調制解調器(Modem)、鼠標等,本

身需要用串行通信方式,因為這些設備是以串行方式存取數據的。

第3章MCS-51系列單片機硬件構造

1.MCS-51系列單片機內部有哪些主要的邏輯部件

MCS-51單片機是在一塊芯片上集成了CPU、RAM、ROM、定時器/計數器和多種工/。

功能部件,具有了一臺微型計算機的根本構造,主要包括以下部件:

一個8位的CPU、一個布爾處理機、一個片內振蕩器、128B的片內數據存儲器、4KB

的片內程序存儲器(8031無)、外部數據存儲器和程序存儲器的尋址范圍為64KB、21個

字節的專用存放器、4個8位并行工/0接口、一個全雙工的串行口、2個16位的定時器/

計數器、5個中斷源、2個中斷優先級、111□條指令、片內采用單總線構造。

2.MCS-51單片機設有4個8位并行端口,實際應用中8位數據信息由哪個端口傳送

16位地址線假設何形成P3口有何功能

8位數據信息由P0口傳送。

P2口形成地址大高£位,P0口結果鎖存器形成地址的低8位。

P3口除具有一般的輸入/輸出功能,還具有第2功能:

P3.0RXD串行口輸入端

P3.1TXD串行口輸出端

P3.2INTO外部中斷。請求輸入端,低電平有效

P3.3INTI外部中斷1請求輸入端,低電平有效

P3.4TO定時器/計數器0計數脈沖輸入端

P3.5T1定時器/計數器1計數脈沖輸入端

P3.6WR外部數據存儲器及工/O接口寫選通信號輸出端,低電平有效

P3.7RD外部數據存儲器及1/O接口讀選通信號輸出端,低電平有效

3.MCS-51單片機內部RAM區的功能構造假設何分配4組工作存放器使用時假設何選

擇位尋址區域的字節范圍是多少

MCS-51單片機片內RAM共有128B,字節范圍為00H?7FH,可分為工作存放器區、

位尋址區、數據緩沖區共3個區域。

(1)工作存放器區

00H-1FH單元為工作存放器區。工作存放器也稱通用存放器,用于臨時存放8位信息。

工作存放器分成4組,每組都是8個存放器,用R0?R7來表示。程序中每次只用一組,

其余各組不工作。使用哪一組存放器工作,由程序狀態字PSW中的PSW.3(RSO)和PSW.4

(RS1)兩位來選擇,其對應關系如表所示。

工作存放器組的選擇表

當前使用的工作存放器組

PSW.4(RSI)PSW.3(RS0)

區R0?R7

域000組((X)H-()7H)

011組(08H-0FH)

102組(I0H-I7H)

不113組(18H?1FH)

用做工作存放器時,可以作為一般的RAM區使用。

(2)位尋址區

20H?2FH單元是位尋址區。這16個單元(共計16x8=128位)的每一位都賦

予了一個位地址,位地址范圍為00H?7FH。位地址區的每一位都可當做軟件觸發器,由程

序直接進展位處理。通??梢园迅鞣N程序狀態標志、位控制變量存入位尋址區內。

0組

工作存

00H...07H1組

08H...0FH放器區

2組

10H...17H

18H...1FH3

0706050403020100

NnUnMu

OF0E0DOC0B0A0908

Z01inU位

22H1716151413121110

23HIFIEIDIC131A1918

24H2726252423222120

25H2F2E2D2C232A29

26H3736353433323130

27H3F3E3D3C333A3938

28H4746454443424140

29H4F4E4D4c434A4948

2AH5756555453525150

2BH5F5E5D5C535A5958

2CH6766656463626160

2DH

6F6E6D6C636A6968

zOETTHLT區

7776757473727170

zrn

7F7E7D7C737A7978

數據緩

30H...7FH

沖區

該區域當不被用做位尋址區時,可以作為一般的RAM區使用。

(3)數據緩沖區

30H?7FH是數據緩沖區,即用戶RAM,共80個單亓。

由于工作存放器區、位尋址區、數據緩沖區統一編址,使用同樣的指令訪問,這三個區

的單元既有自己獨特的功能,又可統一調度使用。因此,前兩個區未使用的單元也可作為用

戶RAM單元使用,使容量較小的片內RAM得以充分利用。

4.特殊功能存放器中哪些存放器可以位尋址它們的字節地址是什么

參看表3-6.

5.簡述程序狀態字PSW中各位的含義。

程序狀態字PSW是一個8位存放器,它保存指令執行結果的特征信息,為下一條指令

或以后的指令的執行提供狀態條件。PSW中的各位一般是在指令執行過程中形成的,但也可

以根據需要采用傳送指令加以改變。其各位定義如以以下列圖。

①進位標志C(PSW.7)

在執行某些算術運算類、邏輯運算類指令時,可被硬件或軟件置位或清零。它表示運算

結果是否有進位或借位。如果在最高位有進位(加法時:或借位〔減法時),則C=1,否

則C=0o

②輔助進位(或稱半進位)標志位AC(PSW.6)

它表示兩個8位數運算,低4位有無進(借)位的狀況。當低4位相加(或相減:時,

假設D3位向D4位有進位[或借位),貝IJAC=1,否則AC=0。在BCD碼運算的十進制

調整中要用到該標志。

③用戶自定義標志位F0(PSW.5)

用戶可根據自己的需要為F0賦予一定的含義,通過軟件置位或清零,并根據F0=1

或0來決定程序的執行方式,或系統某一種工作狀態。

④工作存放器組選擇位RSI、RSO(PSW.4、PSW.3)

可用軟件置位或清零,用于選定當前使用的4個工作存放器組中的某一組。

⑤溢出標志位0V(PSW.2)

做加法或減法時由硬件置位或清零,以指示運算結果是否溢出。在帶符號數加減運算中,

0V=1表示加減運算超出了累加器所能表示的數值范圍(-128?+127),即產生了溢出,

因此運算結果是錯誤的。。V=0表示運算正確,即無溢出產生。

執行乘法指令MULAB也會影響0V標志,當積大于255時,0V=1,否則0V=0;

執行除法指令DIVAB也會影響OV標志,如B中所存放的除數為0,則OV=1,否則0V

=0O

⑥奇偶標志位P(PSW.0)

在執行指令后,單片機根據累加器A中1的個數的奇偶自動將該標志置位或清零。假設

A中1的個數為奇數,則P=1,否則P=0。該標志對串行通信的數據傳輸非常有用,

通過奇偶校驗可檢驗傳輸的可靠性。

6.簡述MCS-51單片機程序存儲器的幾個特殊入口地址的含義。

0000H:程序入口地址

0003H:外部中斷0中斷服務程序入口地址

000BH:定時器/計數器0溢出中斷服務程序入口地址

0013H:外部中斷1中斷服務程序入口地址

001BH:定時器/計數器1溢出中斷服務程序入口地址

0023H:串行口發送/接收中斷服務程序入口地址

7.位地址7FH與字節地址7FH有何區別位地址7FH具體在內存中的什么位置

二者存儲的數據位數不一樣。位地址7FH存放一位二進制數,字節地址7FH存放8為

二進制數。

位地址7FH具體在內存中字節地址為20H的最高位上。

8.復位的作用是什么復位后單片機的狀態假設何

計算機在啟動運行時都需要復位,這就使CPU和系統中的其他部件都處于一個確定的

初始狀態,并從這個狀態開場工作。

單片機的復位都靠外部電路實現。MCS-51單片機有一個復位引腳RST,高電平有效。

它是施密特觸發輸入(對于CMOS單片機,RST引腳的內部有一個拉低電阻),當振蕩器起

振后,該引腳上出現兩個機器周期(即24個時鐘周期)以上的高電平,使器件復位,只要

RST保持高電平,MCS-51便保持復位狀態。此時ALE、PSEN、P0、Pl、P2、P3口都輸

出高電平。RST變為低電平,退出復位狀態,CPU從初始狀態開場工作。復位操作不影響

片內RAM的內容,復位以后內部存放器的初始狀態如表3-7所示。

9.試分別說明程序計數器PC和堆棧指針SP的作用。復位后PC和SP各為何值

程序計數器PC是一個16位專用存放器,其內容表示下一條要執行的指令的地址。復

位后為OOOOHo

MCS-51單片機的堆棧是在片內RAM中開辟的一個專用區。堆棧指針SP是一個8位專

用存放器,用來存放棧頂的地址。進棧時,SP自動加1,將數據壓入SP所指定的地址單元;

出棧時,將SP所指示的地址單元中的數據彈出,然后SP自動減lo因此SP總是指向棧頂。

復位后為07Ho

10.MCS-51單片機設置4組工作存放器,開機復位后,CPU使用的是哪組存放器它

們的地址假設何CPU假設何改變當前工作存放器組

第0組。字節地址為00H?07H。

通過PSW的RSI、RSO來改變。

工作存放器組的選擇表

11.什么是時鐘周期、機器周期

當前使用的工作存放器組

PSW.4(RSI)PSW.3(RSG)

R0?R7和指令周期當外部的振蕩頻率是8MHz

組(?

00000H07H)時,8051單片機的機器周期為多少

011組(08H?0FH)

102組U0H77H)MCS-51單片機的時序由下面4種周期

113組(18H?1FH)構成。

(1)振蕩周期

振蕩周期是指為單片機提供定時信號的振蕩源的周期。

(2)狀態周期(時鐘周期)

兩個振蕩周期為一個狀態周期,用S表示。兩個振蕩周期作為兩個節拍分別稱為節拍

P1和節拍P2o在狀態周期的前半周期P1有效時,通常完成算術邏輯運算;在后半周期P2

有效時,一般進展內部存放器之間的傳輸。

(3)機器周期

CPU執行一條指令的過程可以劃分為假設干階段,每一階段完成某一項根本操作,如

取指令、存儲器讀/寫等。通常把完成一個根本操作所需要的時間稱為機器周期。

(4)指令周期

指令周期是指執行一條指令所占用的全部時間,它以機器周期為單位。MCS-51系列單

片機除乘法、除法指令是4機器周期指令外,其余都是單周期指令和雙周期指令。假設用

12MHz晶體振蕩器(晶振),則單周期指令和雙周期指令的指令周期時間分別是1"和2口s,

乘法和除法指令為4ns。

通過上面的分析,我們可以看出,外部晶振的二分頻是MCS-51單片機的內部時鐘周期,

6個時鐘周期構成了單片機的機器周期。

如果單片機的外部晶振是8MHz,則其內部的機器周期是1.5pso

12.PSW=10H,則工作存放器R0的地址是10H,R4的地址是14H。

13.MCS-51單片機復位后,程序計數器PC=0000H,堆棧指針SP=07H。

14.MCS-51單片機內部RAM的存放器區共有32個單元,分為4組存放器,每組8

單元。

15.MCS-51單片機的4個工/0接口的作用是什么三總線是假設何分配的為什么說能

作為工/0使用的一般只有P1口

P0口形成數據總線:P2口形成地址的高8位,P0口經過鎖存器形成地址的低8位;

P3口形成控制總線。

在具有外部擴展的時間,需要用到數據總線、地址總線和控制總線,而三總線占用了

PO、P2、P3口,可以單獨使用的只有P1口。

第4章MCS-51系列單片機指令系統

i.訪問外部數據存儲器和程序存儲器可以用哪些指令來實現舉例說明。

訪問外部數據存儲器;

MOVXA,@DPTR

MOVX@CPTRZA

MOVXA,@Ri

MOVX@Ri,A

訪問程序存儲器:

MOVCA,@A+DPTR

MOVCA,@A+PC

2.設堆棧指針SP中的內容為60H,內部RAM中30H和31H單元的內容分別為24H

和10H,執行以下程序段后,61H、62H、30H、31H、DPTR及SP的內容將有何變化

PUSH3OH

PUSH31H

POPDPL

POPDPH

MOVOH,#00H

MOV31H,#0FFH

(61H)=24H(62H)=10H(30H)=00H(31H)=0FFH

(DPTR)=2410H(SP)=60H

3.設(A)=40H,(RI)=23H,(40H)=05H。執行以下兩條指令后,累加器A

和R1以及內部RAM中40H單元的內容各為何值

XCHA,R1

XCHDA,0R1

(A)=25H(Rl)=40H(40H)=03H

4.設(A)=01010101B,(R5)=10101010B,分別寫出執行ANLA,R5;

ORLA,R5;XRLA,R5指令后的結果。

00000000B11111111B11111111B

5.簡述轉移指令AJMPaddrll,SJMPrel,LJMPaddrl6RJMP@A+DPTR

的應用。

AJMPaddrll:2K范圍內的轉移;SJMPrel:256字節復位內的轉移;

LJMPaddrl6:64K范圍內的轉移;JMP@A+DPTR:在某一地址開場的256字節

范圍內的轉移。

6.試用以下4種方式編程,將立即數OEFH送入內部RAM的40H單元中。

(1)用立即尋址;(2)用直接尋址;(3)用存放器尋址;(4)用存放器間接尋址

(1)MOV40H,#0EFH---目的操作數立即尋址

(2)MOV40H,#0EFH源操作數直接尋址

(3)MOVRO,#0EFH

MOV4OH,,RO源操作數存放器尋址

(4)MOVRO,#40H

MOV@R0,#0EFH目的操作數存放器間接尋址

7.寫出實現以下要求的指令或程序片段。

(1)將內部RAM20H單元內容與累加器A內容相加,結果存放在20H單元中。

(2)將內部RAM30H單元內容與內部RAM31H單元內容相加,結果存放到內部RAM31H

單元中。

(3)將內部RAM20H單元內容傳送到外部RAM2000H單元中。

(4)使內部RAM20H單元的D7和D3位清零,其他位保持不變。

(5)使內部RAM20H單元的D7和D3位置1,D5位清零,其他位保持不變。

(6)使內部RAM20H單元的D7和D3位置1,D5位取反,其他位保持不變。

(1)ADDA,#20H

MOV20H,A

(2)MOVA,30H

ADDA,31H

MOV31H,A

(3)MOVAz2OH

MOVDPTR,#2000H

MOVX@DPTR,A

(4)CLR03H

CLR07H

或:

ANL20H,#011101118

(5)SETB03H

SETB07H

CLR05H

或:

ORL20H,#10001000B

ANL20H,#11011111B

(6)SETB03H

SETB07H

CPL05H

或:

ORL20H,#10001000B

XRL20H,#00100000B

8.試用三種方法實現累加器A和存放器B的內容交換。

(1)MOVRO,A

MOVA,B

MOVB,RO

(2)PUSHA

PUSHB

POPA

POPB

(3)MOVRO,B

XCHA,R0

MOVB,RO

9.試分析以下程序段執行后,(A)=,(30H)=

MOV3OH,#0A4H

MOVA,#0D6H

MOVRO,#30H

MOVR2,#5EH

ANLA,R2

ORLA,0R0

SWAPA

CPLA

XRLA,#0FEH

ORL3OH,A

(A)=6EH(30H)=0EFH

10.下述程序執行后,(SP)=,(A)=,(B)=

ORG2000H

MOVSP,#40H

MOVA,#30H

LCALLSUBR

ADDA,#10H

MOVB,A

LI:SJMPLI

SUBR:MOVDPTR,#200AH

PUSHDPL

PUSHDPH

RET

(SP)=42H(A)=30H(B)=OOH

11.設(RO)=20H,(RI)=25H,(20H)=80H,(21H)=90H,(22H)=0A0H,

(25H)=0A0H,(26H)=6FH,(27H)=76H。以下程序執行后,結果假設何

CLRC

MOVR2,#3

LOOP:MOVA,@R0

ADDCA,@R1

MOV@R0,A

INCRO

INCRI

DJNZR2,LOOP

JNCNEXT

MOV@R0,#01H

SJMP$

NEXT:DECRO

SJMP$

(R0)=22H,(RI)=24H,(20H)=10H,(21H)=31H,(22H)=0A1H,(25H)

=OAOH,(26H)=6FH,(27H)=76Ho

12.設片內RAM

溫馨提示

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

評論

0/150

提交評論