單片機與微機原理及應(yīng)用第二版張迎新習(xí)題答案_第1頁
單片機與微機原理及應(yīng)用第二版張迎新習(xí)題答案_第2頁
單片機與微機原理及應(yīng)用第二版張迎新習(xí)題答案_第3頁
單片機與微機原理及應(yīng)用第二版張迎新習(xí)題答案_第4頁
單片機與微機原理及應(yīng)用第二版張迎新習(xí)題答案_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機與微機原理及應(yīng)用(第二版)習(xí)題答案

第一篇計算機的基本原理思考與練習(xí)答案

第1章概述思考與練習(xí)

1.如果按用途分類,計算機可以分為哪幾類?

解:如果按用途分類,計算機可以分為超級計算機、大型計算機、服務(wù)器、微型計

算機和嵌入式計算機等。

2.單片機與微型計算機的主要異同點是什么?畫出微型計算機的典型組成原理圖。

解:單片機與微型計算機的主要異同點如下:

1)主要相同點

第一臺電子數(shù)字計算機雖然是作為一種計算工具出現(xiàn)的,然而經(jīng)過半個多世紀的發(fā)展,

不管從構(gòu)成器件、性能和應(yīng)用上都出現(xiàn)了驚人的變化。但是當(dāng)前大多數(shù)計算機,它們的基本

組成及工作原理,還是可以用圖1.1來概括。即計算機由中央處理器、存儲器、輸入/輸出接

口及總線等部分組成。這幾大基本組成部分是計算機的實體。

外部中斷輸入/輸出設(shè)備

圖計算機基本組成原理框圖

它們的核心部件都是基于計算機的基本原理,衡量它們的主要技術(shù)指標(biāo)也是基本相同

的,詳見1.1.4節(jié)。

由圖1.1可見,計算機的核心部分是中央處理器(CPU),它是計算機的“大腦”,主要

由運算器、控制器組成,由它統(tǒng)一指揮和協(xié)調(diào)各部分的工作,其余各部分說明如下:

(1)時鐘電路用于給計算機提供工作時所需要的時序信號。

(2)程序存儲器和數(shù)據(jù)存儲器分別用于存放計算機工作的各種軟件和臨時數(shù)據(jù),詳見第2

早。

(3)中斷系統(tǒng)用于處理系統(tǒng)工作時出現(xiàn)的突發(fā)事件,詳見第4章。

(4)總線把計算機的各主要部件連接為一體,是CPU與各功能部件信息交換的通道。

按總線的功能可分為地址總線、數(shù)據(jù)總線和控制總線。其中,地址總線的作用是為數(shù)據(jù)交換

時提供地址,CPU通過它們將地址輸出到存儲器或I/O接口;數(shù)據(jù)總線的作用是在CPU與

存儲器或I/O接口之間或存儲器與外設(shè)之間交換信息;控制總線包括CPU發(fā)出的控制信號

線和外部送入CPU的應(yīng)答信號線等。

(5)I/O接口是計算機與I/O設(shè)備之間的接口。I/O設(shè)備是計算機與人或其他設(shè)備交換信

息的裝置,如顯示器、鍵盤和打印機等。

它們的指令系統(tǒng)功能大部分也是相同的,程序運行原理也有很多相似之處,詳見后面章

節(jié)的指令系統(tǒng)。

計算機中的CPU、存儲器及中斷系統(tǒng)等部件的詳細內(nèi)容將在后面章節(jié)陸續(xù)介紹。

2)主要不同點

雖然它們的基本組成看起來是基本相同的,但由于用途不同,技術(shù)要求與發(fā)展方向完全

不同,所以它們在結(jié)構(gòu)、外形與功能上有很大差別。單片機在組成結(jié)構(gòu)上的最大特點是把圖

1.1中的所有電路集成在一塊芯片上,通常還包括定時器等其他輔助功能電路。就其組成和

基本工作原理而言,一塊單片機芯片就是一臺計算機,所以它最初被人們稱為單片微型計算

機,其外形就如同一塊普通的電子芯片,簡稱單片機。它體積小、可靠性高,其軟件均固化

在內(nèi)部的程序存儲器中,通常是用于控制,被安裝在控制對象中。單片機是向著單芯片化道

路的方向發(fā)展,技術(shù)要求則是不斷提高嵌入性能、控制能力與可靠性。

而微型計算機則是把微處理器(CPU)、存儲器、I/O接口、定時器等不同的芯片組成在

一塊底板上,然后配上機箱、外設(shè)等。微型計算機主要是為滿足高速、海量的數(shù)值計算、實

現(xiàn)多媒體技術(shù)和網(wǎng)絡(luò)通信等功能,以及辦公自動化、計算機輔助設(shè)計、文化藝術(shù)創(chuàng)作、智力

競賽等。技術(shù)發(fā)展方向是不斷提高計算速度,不斷擴大存儲容量等。

3.計算機的主要技術(shù)指標(biāo)有哪幾項?予以簡要解釋。

解:主要指標(biāo)有如下幾項。

1)字長

字長是指計算機能處理的二進制數(shù)的位數(shù),習(xí)慣上稱為位長?;咀珠L一般是指參加

一次運算的操作數(shù)的位數(shù)?;咀珠L可反映寄存器、運算部件和數(shù)據(jù)總線的位數(shù)。在

計算機中每個存儲單元存放二進制數(shù)的位數(shù)一般情況下和它的算術(shù)運算單元的位數(shù)

是相同的。字長越長,計算精度越高,速度也越快。

2)主頻

主頻是指計算機中的主時鐘頻率,是CPU工作的頻率,主頻的快慢在很大程度上可

以決定計算機運算的速度。主頻的常用單位是MHz、GHzo

3)運算速度

運算速度是指計算機每秒執(zhí)行指令的條數(shù),它反映計算機運算和對數(shù)據(jù)處理的速度,

單位通常采用MIPS(百萬條指令/s)。

4)內(nèi)存容量

對于微機是指安裝在主板上的內(nèi)存儲器中只讀存儲器ROM(ReadOnlyMemory,

ROM)和隨機存儲器RAM(RandomAccessMemory,RAM)的容量總和,對于單片

機是指在芯片上的ROM和RAM的容量總和。存儲容量越大能處理的信息量就越大,

整體性能越高。容量的最小存儲單位是二進制數(shù)的位數(shù),以字節(jié)B(Byte)為基本單位。

常用容量單位有KB(1KB=1024B),MB(1MB=1024KB),GB(1GB=1024

MB),TB(1TB=1024GB)。

4.嵌入式系統(tǒng)的主要特點是什么?

解:嵌入式系統(tǒng)的主要特點如下:

(1)功能專一。只針對某個對象的要求而設(shè)計。

(2)抗干擾能力強、可靠性高。嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機

本身中,因而可靠性要求可達到工業(yè)級或者軍品級以上.

(3)自動化程度高。對于所有的被控對象,包括工業(yè)產(chǎn)品、航天產(chǎn)品以及家電等,均可

實現(xiàn)一旦啟動即自動循環(huán)操作,不需要人工干預(yù)。

(4)體積小。因為嵌入式系統(tǒng)通常是安裝在為特定應(yīng)用而設(shè)計的對象中,而對象形態(tài)和

大小五花八門,為盡可能不影響對象的外形與體積,要求嵌入式系統(tǒng)的體積越小越好。

(5)功耗低。因為有很多對象是便攜式產(chǎn)品,低功耗將延長它的使用時間,一般產(chǎn)品均

可達到毫瓦級,有的已可達到微瓦級。

(6)性能價格比高。在嵌入式市場,用戶既可以根據(jù)實際應(yīng)用對象“量身定做”,也可以

“量身選衣所謂“量身定做”,即根據(jù)應(yīng)用對象的實際要求,請廠家專門定制內(nèi)存、I/O接

口、外設(shè)等符合要求的芯片;所謂“量身選衣”,即根據(jù)它在軟件和硬件上的可選擇性,選擇

最適合對象要求的芯片,這樣可實現(xiàn)產(chǎn)品的最佳性能價格比。

5.微型計算機系統(tǒng)的主要組成是什么?什么是計算機硬件?什么是計算機軟件?

解:微型計算機系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成,其組成如圖1.2所示。

硬件系統(tǒng)是微型計算機系統(tǒng)硬設(shè)備的總稱,由圖1.2可見它的兩大組成部分是主

機與外部設(shè)備。

「控制器

「CPU,

主機1主存儲「運算器

「硬件】【輸入/輸出接口

I外部設(shè)備

微型計算機系統(tǒng)J1系統(tǒng)軟件

I軟件Y

-應(yīng)用軟件

圖1.2微型計算機系統(tǒng)的組成

軟件系統(tǒng)是微型計算機為了運行、管理、維護和應(yīng)用計算機所配置或者用戶自行編制的

各種程序的總稱。這些程序或存在于內(nèi)存儲器中,或存放在外存儲器中。微型計算機在沒有

安裝任何軟件之前稱之為“裸機”裸機”是不能工作的。因此,硬件和軟件是組成微型計算

機系統(tǒng)必不可少的組成部分。軟件系統(tǒng)主要包括系統(tǒng)軟件和應(yīng)用軟件兩大部分。

6.下面列出計算機中常用的一些單位,試指出其用途和含義。

(1)MIPS(2)KB(3)MB(4)GB(5)TB

答:(1)MIPS表示計算機每秒執(zhí)行指令的條數(shù)是百萬條指令/s。

(2)KB(3)MB(4)GB(5)TB均為內(nèi)存容量單位。它們之間關(guān)系如下:

KB(1KB=1024B),MB(1MB=1024KB),GB(1GB=1024MB),TB(1TB=1024GB)?

7.什么是計算機總線?一般微型計算機中有哪些總線?各有什么作用?

答:計算機總線是CPU與各功能部件信息交換的通道。按總線的功能可分為地址總線、

數(shù)據(jù)總線和控制總線。其中,地址總線的作用是為數(shù)據(jù)交換時提供地址,CPU通過它們將

地址輸出到存儲器或I/O接口;數(shù)據(jù)總線的作用是在CPU與存儲器或I/O接口之間或存儲

器與外設(shè)之間交換信息;控制總線包括CPU發(fā)出的控制信號線和外部送入CPU的應(yīng)答信號

線等。

第2章計算機基礎(chǔ)知識思考與練習(xí)

1.將下列各二進制數(shù)轉(zhuǎn)換為十進制數(shù)

(1)11011110B(2)01011010B(3)101010UB(4)1011111B

解:(1)U01U10B=222D(2)01011010B=90D(3)10101011B=171D(4)1011111B=95D

2.將第一題中各二進制數(shù)轉(zhuǎn)換為十六進制數(shù)。

解:(1)11011110B=DEH(2)01011010B=5AH(3)1010101IB=ABH(4)1011111B=5FH

3.將下列各數(shù)轉(zhuǎn)換為十六進制數(shù)。

224D143D01010011BCD00111001BCD

解:224D=E0H;143D=8FH;01010011BCD=53D=35H;00111001BCD=39D=27H

4.什么叫原碼、反碼及補碼?

解:計算機中的帶符號數(shù)有三種表示法,即:原碼、反碼和補碼。

正數(shù)的符號位用0表示,負數(shù)的符號位用1表示。這種表示法稱為原碼。反碼可由原碼

得到,如果是正數(shù),則其反碼和原碼相同;如果是負數(shù),則其反碼除符號為1外,其它各數(shù)

位凡是1轉(zhuǎn)換為0,0轉(zhuǎn)換為1.這種表示法稱為反碼。補碼可由反碼得到,如果是正數(shù),

則其補碼和反碼相同;如果是負數(shù),則其補碼為反碼加1。這種表示法稱為補碼。

5.已知原碼如下,寫出其補碼和反碼(其最高位為符號位)。

(1)[X]原=01011001(3)區(qū)]原=11011011

(2)[X]原=00111110(4)》]原=11111100

解:⑴[X]反=01011001(3)[X]反=10100100

(2)[X]反=00111110(4)[X]反=10000011

(1)[X]補=01011001(3)[X]補=10100101

(2)[X]補=00111110(4)[X]#=10000100

6.當(dāng)計算機把下列數(shù)看成無符號數(shù)時,它們相應(yīng)的十進制值為多少?若把它們看成是

補碼,最高位為符號位,那么它們相應(yīng)的十進制值是多少?

(1)10001110(2)10110000(3)00010001(4)01110101

解:把下列數(shù)看成無符號數(shù)時,它們相應(yīng)的十進制值如下:

(1)10001110=1420(2)10110000=176D(3)00010001=17D(4)01110101=117D

把它們看成是補碼,最高位為符號位,那么它們相應(yīng)的十進制值如下:

(1)10001110=-112D(2)10110000=-78D(3)00010001=17D(4)01110101=1170

7.觸發(fā)器、寄存器及存儲器之間有什么關(guān)系?

解:觸發(fā)器是計算機記憶裝置的基本單元,一個觸發(fā)器能儲存一位二進制代碼,寄存

器是由觸發(fā)器組成的。一個觸發(fā)器就是一個一位寄存器。多個觸發(fā)器就可以組成一個多位寄

存器。存儲器是由大量寄存器組成的,其中每一個寄存器就稱為一個存儲單元。它可存放

一個有獨立意義的二進制代碼。

8.三態(tài)門有何作用?其符號如何畫?

解:在多總線的計算機電路中為防止信息相互干擾,要求凡掛到總線上的寄存器或存儲

器等的輸出端不僅能呈現(xiàn)0、1兩個信息狀態(tài),而且還應(yīng)能呈現(xiàn)第三種狀態(tài)——高阻抗?fàn)顟B(tài)

(又稱高阻狀態(tài)),即此時好象它們的輸出被開關(guān)斷開,對總線狀態(tài)不起作用,此時總線可

由其它器件占用。三態(tài)門即可實現(xiàn)上述功能,它除具有輸入輸出端之外,還有一控制端,用

于實現(xiàn)狀態(tài)的轉(zhuǎn)換。下圖為單向三態(tài)門和雙向三態(tài)門的符號圖。

(a)單向三態(tài)門(b)雙向三態(tài)門

9.除地線公用外,6根地址線和11根地址線各可選多少個地址?

答:6根地址線可選26=64個地址,11根地址線可選2"=2048個地址。

10.存儲器分幾類?各有何特點和用處?

答:存儲器的分類方法較多,例如從其組成材料和單元電路類型上可分為磁芯存儲器、半

導(dǎo)體存儲器(從制造工藝上又可分為MOS型存儲器、雙極型存儲器)、電荷耦合存儲器等;

從其與微處理器的關(guān)系來劃分,又可分為內(nèi)存和外存。通常把直接同微處理器進行信息交換

的存儲器稱為內(nèi)存。其特點是存取速度快,但容量有限。而把通過內(nèi)存間接與CPU進行信

息交換的存儲器稱為外存。如磁帶、磁盤、光盤等,其特點是容量大、速度較慢。外存的內(nèi)

容根據(jù)需要可隨時調(diào)入內(nèi)存。通常人們習(xí)慣于按存儲信息的功能分類,在單片機中所使用

的半導(dǎo)體存儲器在功能上的分類方法和各自特點、用處如下:

1)只讀存儲器ROM(ReadOnlyMemory)

只讀存儲器在使用時只能讀出而不能寫入,斷電后ROM中的信息不會丟失。因此一般用來

存放一些固定程序,如監(jiān)控程序、子程序、字庫及數(shù)據(jù)表等。ROM按存儲信息的方法又可

分為四種。下面逐一進行介紹。

(1)掩膜ROM

掩膜ROM也稱固定ROM,它是由廠家編好程序?qū)懭隦OM(稱固化)供用戶使用,用

戶不能更改它。其價格最便宜。

(2)可編程序的只讀存儲器PROM(ProgrammableReadOnlyMemory)

它的內(nèi)容可由用戶根據(jù)自己所編程序一次性寫入,一旦寫入,只能讀出,而不能再進行

更改。這類存儲器現(xiàn)在也稱為OTP(OnlyTimeProgrammable)?

(3)可改寫的只讀存儲器EPROM(ErasableProgrammableReadOnlyMemory)

前二種ROM只能進行一次性寫入,因而用戶較少使用。目前較為流行的ROM芯片為

EPROM。因為它的內(nèi)容可以通過紫外線照射而徹底擦除。擦除后,又可重新寫入新的程序。

(4)可電改寫只讀存儲器E2PROM(ElectricallyErasableProgrammableRead

OnlyMemory)

E2PROM可用電的方法寫入和清除其內(nèi)容,其編程電壓和清除電壓均與微機CPU的5V工

作電壓相同,不需另加電壓,它既有RAM讀寫操作簡便、又有數(shù)據(jù)不會因掉電而丟失的優(yōu)

點,因而使用極為方便?,F(xiàn)在這種存儲器的使用最廣泛.

2)隨機存儲器RAM(RandomAccessMemory)

這種存儲器又叫讀寫存儲器,它不僅能讀取存放在存儲單元中的數(shù)據(jù),還能隨時寫入新的數(shù)

據(jù),寫入后原來的數(shù)據(jù)就丟失了。斷電后RAM中的信息全部丟失,因此RAM常用于存放

經(jīng)常要改變的程序或中間計算結(jié)果等。

RAM按照存儲信息的方式,又可分為靜態(tài)和動態(tài)兩種。

(1)靜態(tài)SRAM(StaticRAM)

其特點為只要有電源加于存儲器,數(shù)據(jù)就能長期保留。

(2)動態(tài)DRAM(DynamicRAM)

寫入的信息只能保持若干毫秒時間,因此每隔一定時間必須重新寫入一次,以保持原來的信

息不變。

3)可現(xiàn)場改寫的非易失存儲器

這種存儲器的特點是從原理上看,它們屬于ROM型存儲器,但是從功能上看,它們又

可以隨時改寫信息,因而作用又相當(dāng)于RAM,所以ROM、RAM的定義和劃分已逐漸失去

意義。

下面對這類存儲器中的兩種予以簡介:

(1)快擦寫存儲器FLASH

這種存儲器是在EPROM和E2PROM的制造基礎(chǔ)上產(chǎn)生的一種非易失存儲器,其集成

度高,制造成本低于DRAM,既具有SRAM讀寫的靈活性和較快的訪問速度,又具有ROM

在斷電后可不丟失信息的特點,所以其發(fā)展迅速。

(2)鐵電存儲器FRAM

它是利用鐵電材料極化方向來存儲數(shù)據(jù)的,它的特點是集成度高、讀寫速度快、成本低、

讀寫周期短。

11.假定有一個存儲器,有4096個存儲單元,其首地址為0,則末地址為多少?

答:其首地址為0,則末地址為FFFH,即4095。

12.什么是存儲單元、位、字節(jié)?存儲芯片的容量如何表示?

答:存儲器是由大量緩沖寄存器組成的,其中每一個寄存器就稱為一個存儲單元。

計算機中最小的數(shù)據(jù)單元,是一個二進制位。

一個8位的二進制代碼稱為一字節(jié),這是計算機中最基本的計量單位。

第3章計算機基本工作原理思考與練習(xí)

1.什么是計算機的時序?常見時序定時單位有哪幾種?

解:計算機的時序就是CPU在執(zhí)行指令時各控制信號之間的時間順序關(guān)系。為了保證

各部件間協(xié)調(diào)一致同步工作,計算機內(nèi)部的電路應(yīng)在唯一的時鐘信號控制下嚴格按時序同步

工作。時鐘電路用于產(chǎn)生計算機所需要的時序信號,不同的計算機,時鐘電路的運行速度有

很大差別。

在計算機中通常按指令的執(zhí)行過程規(guī)定了幾種時序定時單位,即時鐘周期、狀態(tài)周期、

機器周期和指令周期。

2.什么是計算機的指令和指令系統(tǒng)?程序設(shè)計語言有哪幾種?各有什么特點?

解:指令是規(guī)定計算機執(zhí)行某種操作的命令,CPU就是根據(jù)指令來指揮和控制計算機

各部分協(xié)調(diào)地動作,完成規(guī)定的操作。指令是由二進制代碼表示的,通常指令包括操作碼和

操作數(shù)兩部分,操作碼規(guī)定操作的類型,操作數(shù)給出參加操作的數(shù)據(jù)或存放數(shù)據(jù)的地址(只

有少數(shù)指令是沒有操作數(shù)的)。計算機能夠執(zhí)行的各種指令的集合稱為指令系統(tǒng),指令系統(tǒng)

的性能與計算機硬件密切相關(guān),不同的計算機指令系統(tǒng)不完全相同。

程序設(shè)計語言是指用來編寫程序的語言,是人和計算機之間交換信息的一種工具,指

令只有按工作需求有序地編排為一段完整的程序,才能完成某一特定任務(wù)。計算機是按照

給定程序,逐條執(zhí)行指令,完成某項規(guī)定的任務(wù)。因此,使用計算機,首先必須編寫出計

算機能執(zhí)行的程序。

計算機能執(zhí)行的程序,可以用很多種語言來編寫,但從語言結(jié)構(gòu)及其與計算機的關(guān)系來

看,可分為機器語言、匯編語言和高級語言三大類型。各類特點如下:

機器語言是一種用二進制代碼0和1表示指令和數(shù)據(jù)的最原始的程序設(shè)計語言。因為計

算機只能識別二進制代碼,因而這種語言與計算機的關(guān)系最為直接,計算機能夠立即識別這

種語言,并加以執(zhí)行,響應(yīng)速度最快。但對于使用者來說,用機器語言編寫程序非常煩瑣費

時,且不易看懂、不便記憶,容易出錯。

匯編語言是一種用助記符來表示的面向計算機的程序設(shè)計語言。不同的計算機所使用的

匯編語言一般是不同的,這種語言比機器語言直觀、易懂、易用,而且易于記憶,對指令中

的操作碼和操作數(shù)也容易區(qū)分。

用匯編語言書寫程序確實比用機器語言方便,但計算機不能直接識別匯編語言,所以程

序不能執(zhí)行,故用匯編語言編寫的源程序,在交由計算機執(zhí)行之前,必須將它翻譯成機器語

言程序,這一翻譯過程稱為匯編。

高級語言是一種面向過程而獨立于計算機硬件結(jié)構(gòu)的通用計算機語言,如C、FORTAN、

PASCAL>C++、JAVA等,這些語言是參照數(shù)學(xué)語言而設(shè)計的近似于日常會話的語言。用

戶不必了解計算機的內(nèi)部結(jié)構(gòu),因此,它比匯編語言更易學(xué)、易懂,而且通用性強,易于移

植到不同類型的計算機上去。

高級語言不能被計算機直接識別和執(zhí)行,也需要翻譯為機器語言。

高級語言的語句功能強,它的一條語句,往往需要多條指令來完成其功能,因而用于翻

譯的程序要占用較多存儲空間,而且執(zhí)行時間長,且不易精確掌握,故在高速實時控制中一

般是不適用的。

3.CPU內(nèi)部主要由哪些部件組成?試說明它們的主要功能。

解:CPU主要是由運算器和控制器兩大部分組成。

控制器是用來統(tǒng)一指揮和控制計算機工作的部件,它的功能是從存儲器中逐條取指令,

進行指令譯碼,并通過定時和控制電路,在規(guī)定的時刻發(fā)出各種操作所需的全部內(nèi)部控制信

息及CPU外部所需的控制信號,使各部分按照一定節(jié)拍協(xié)調(diào)工作,完成指令所規(guī)定的各種

操作。

運算器是對數(shù)據(jù)進行算術(shù)運算和邏輯操作的執(zhí)行部件,包括算術(shù)/邏輯部件、累加器、

暫存寄存器、程序狀態(tài)字寄存器、BCD碼運算調(diào)整電路等,為了提高位操作功能還增加了

位處理邏輯電路。

4.如何理解計算機的工作過程?它的實質(zhì)是什么?

解:在計算機工作前必須事先編制好要求計算機完成某種功能的相應(yīng)程序,然后通過

輸入設(shè)備將程序和數(shù)據(jù)(均為二進制形式)存放到計算機內(nèi)部的存儲器中,計算機中的控制

器根據(jù)存放在存儲器中的指令序列(程序)自動工作,并由一個程序計數(shù)器控制指令執(zhí)行順

序。在程序指令的控制下逐步進行處理,完成指令規(guī)定的操作,直到程序執(zhí)行結(jié)束,通過輸

出設(shè)備輸出結(jié)果。

計算機的工作過程實質(zhì)就是存儲程序、執(zhí)行程序的過程,即逐條執(zhí)行指令的過程。計算

機每執(zhí)行一條指令都可分為三個階段進行,即取指令、譯碼分析指令和執(zhí)行指令。

5.什么叫I/O端口?為什么需要有I/O接口電路?

解:I/O端口通常是一個可以由CPU直接訪問的寄存器。

因為各種外設(shè)與計算機之間在其傳輸速率、信號類型、信號電平和傳輸格式等方面是不

完全相同的。為解決計算機與外設(shè)之間以及計算機之間連接與數(shù)據(jù)通信的硬件及軟件問

題設(shè)計了I/O接口電路,所以,接口電路是CPU與外設(shè)連接的紐帶,用于協(xié)調(diào)它們之

間的工作。

6.在計算機中,常用的I/O尋址方式有哪兒種?試比較它們各自的優(yōu)缺點。

解:常用的1/0尋址方式有統(tǒng)一編址方式和獨立編址方式。

統(tǒng)一編址方式也稱為存儲器映像方式,是從存儲器空間劃出一部分地址給I/O端口。I/O

端口空間就是存儲空間的一部分,把一個I/O端口看成是一個存儲單元。采用I/O端口和存

儲器統(tǒng)一編址的CPU,所有訪問存儲器單元的指令都可用來訪問端口,沒有設(shè)置專門的I/O

指令,但這種方式占用存儲器地址空間。

獨立編址是指I/O端口和存儲器單元各占一種空間,各自單獨編址。在此方式下,CPU

的指令系統(tǒng)中設(shè)置了專用訪問I/O端口的指令,在CPU執(zhí)行這些指令時,會產(chǎn)生專門的選

通信號,確定地址總線上傳送的是I/O地址還是存儲器地址。

7.接口電路的功能是什么?試用圖的形式說明接口電路的基本組成。

解:接口電路的基本功能如下:

1)信號形式的變換

例如,把各種非數(shù)字信號(這些信號可以是開關(guān)量、模擬電壓量及脈沖信號等)轉(zhuǎn)換為

計算機能識別的統(tǒng)一的二進制數(shù)字信號。

2)電平轉(zhuǎn)換

計算機內(nèi)部通常采用的電平范圍是0?5V(目前,在一些單片機中甚至可以低到0?

2V),而外部設(shè)備的電平通常并不完全符合要求,所以,需要有電平轉(zhuǎn)換功能的外設(shè)或者器

件。

3)數(shù)據(jù)傳輸格式轉(zhuǎn)換

外設(shè)傳輸?shù)臄?shù)據(jù)格式可能是并行的,也可能是串行的,此時需要I/O接口電路把CPU

輸出的并行數(shù)據(jù)轉(zhuǎn)換成串行,或者把外設(shè)輸入的串行數(shù)據(jù)轉(zhuǎn)換成并行。

4)鎖存與緩沖

由于CPU與I/O設(shè)備在時序上通常不一定匹配,因而在工作時一般不同步,于是通過

在接口電路中設(shè)置鎖存與緩沖器,使CPU在執(zhí)行輸出指令時把數(shù)據(jù)置入鎖存器,以后I/O

接口設(shè)備可按自己的時序從鎖存器取得數(shù)據(jù)。

對于外設(shè)準備輸入到CPU中的數(shù)據(jù)可以先接到三態(tài)緩沖器的輸入端,等CPU執(zhí)行輸入

指令時緩沖器就通過數(shù)據(jù)總線進入CPU。

接口電路的基本組成如圖示:

接口電路的基本組成示意圖

圖中的DB、AB、CB分別是數(shù)據(jù)、地址和控制總線,對于有中斷功能的接口芯片,

還包括中斷請求和中斷響應(yīng)線。地址譯碼主要用于對CPU的地址信號進行譯碼,實現(xiàn)對圖

中端口的尋址,控制邏輯主要用于接收CPU的讀/寫控制信號,以實現(xiàn)對各端口的讀/寫操作。

1/0端口通常是一個可以由CPU直接訪問的寄存器,端口一般以字節(jié)為單位組織,例如,控

制端口、數(shù)據(jù)端口和地址端口各1字節(jié),也可以用2個地址相鄰的8位端口構(gòu)成一個16位

寬度的端口。

8.微型計算機的I/O控制方式常有哪幾種?各有什么特點?

解:微型計算機的I/O控制方式常有如下幾種:程序控制方式、中斷控制方式和直接存

儲器存取方式。

程序控制方式又分為直接傳送方式(乂稱為無條件傳送方式)和查詢方式。直接傳送方

式指CPU在需要和數(shù)據(jù)端口進行傳送時,直接對其執(zhí)行I/O指令,即CPU認為數(shù)據(jù)端口和

自己完全同步,CPU可用輸出接口驅(qū)動它們,不需要判斷它們的狀態(tài)。這種方式接口也最

簡單,只需要數(shù)據(jù)端口,但其應(yīng)用范圍有局限性。

程序查詢方式是在進行輸入/輸出操作時,由CPU先輸入I/O設(shè)備狀態(tài)端口信號,在I/O

設(shè)備準備好傳送數(shù)據(jù)時,會發(fā)出“準備好”信號,CPU查詢狀態(tài)信號確認后再傳送數(shù)據(jù)。這

些"準備好''信號一般由I/O設(shè)備自己建立,由CPU完成傳送后清除。由于I/O設(shè)備的速度相

對較慢,所以這種方式效率很低。

中斷控制方式由需要傳送的I/O設(shè)備主動發(fā)起。當(dāng)某個I/O設(shè)備需要傳送時,先向CPU

發(fā)出中斷申請信號。CPU完成當(dāng)前指令后,響應(yīng)申請,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。中斷方式

傳送提高了效率,消除了查詢方式中的等待時間,CPU對I/O設(shè)備的請求響應(yīng)較快,因此中

斷方式得到廣泛應(yīng)用。

直接存儲器存取方式不需要CPU干預(yù)傳輸操作,而是利用系統(tǒng)的數(shù)據(jù)總線,由DMA

控制器直接在外設(shè)和存儲器之間進行讀出、寫入操作,可以達到極高的傳送速率,因而越來

越廣泛地用于高速I/O設(shè)備的接口。

9.簡述直接存儲器訪問(DMA)方式的主要特點。

解:直接存儲器訪問方式的主要特點是:不需要CPU干預(yù)傳輸操作,而是利用系

統(tǒng)的數(shù)據(jù)總線,由DMA控制器直接在外設(shè)和存儲器之間進行讀出、寫入操作,可以達到極

高的傳送速率,因而越來越廣泛地用于高速I/O設(shè)備的接口。現(xiàn)在也實現(xiàn)了存儲器與存儲器

之間,外設(shè)與外設(shè)之間的DMA傳輸。

10.試說明并行通信與串行通信在數(shù)據(jù)傳輸上的主要區(qū)別?

解:在并行通信中,所傳輸數(shù)據(jù)的各位同時發(fā)送或接收。一個并行數(shù)據(jù)有多少位二進

制數(shù),就要多少根傳輸線,這種方式的特點是通信速度快,但所需傳輸線多,價格較貴,適

合近距離傳輸;而串行通信所傳輸數(shù)據(jù)的各位按順序一位一位地發(fā)送或接收。僅需1?3根

傳輸線即可,故在長距離傳輸數(shù)據(jù)時,比較經(jīng)濟,但由于它每次只能傳輸1位,所以傳輸?shù)?/p>

速度較慢。

11.串行通信有幾種方式?說明它們各自的特點及主要區(qū)別。

解:串行通信有異步通信和同步通信二種方式。

異步通信指在通信的信息流中,字符與字符間的傳輸是異步的,即字符間傳輸時間間隔

是隨機的,不固定的,而在一個字符內(nèi)各位的時間間隔是固定的,即每個字符內(nèi)部各位間還

是基本同步傳輸?shù)摹?/p>

在同步通信中,信息流中的字符與字符間和字符內(nèi)部位與位之間都需要有一個同步時鐘

CLK實現(xiàn)同步,在這種方式下可以把許多字符組成一個信息組,也稱一幀。數(shù)據(jù)或字符開

始處是用同步字符啟動(常約定1?2個),以實現(xiàn)發(fā)送端和接收端同步,一旦檢測到約定同

步字符,下面就可連續(xù)按順序接收數(shù)據(jù),同步通信傳輸信息的位數(shù)幾乎不受限制,通常一次

通信傳輸?shù)臄?shù)據(jù)有幾十到幾千字節(jié)。

他們的主要區(qū)別如下:

因為同步通信數(shù)據(jù)塊傳輸時去掉了字符開始和結(jié)束的標(biāo)志,所以其傳輸效率高于異步通

信,但這種方式要求通信時時鐘嚴格保持同步,所以收、發(fā)雙方必須采用同一個精確的同步

時鐘控制數(shù)據(jù)的發(fā)送和接收,其發(fā)送器和接收器比較復(fù)雜,軟件編寫也較復(fù)雜。

由于異步通信每傳輸一幀有固定格式,通信雙方只需按約定的幀格式來發(fā)送和接收數(shù)

據(jù),每接收一個字符,接收方與發(fā)送方都要重新同步一次,這樣傳輸?shù)臄?shù)據(jù)就沒有時間累積

誤差,通信雙方的時鐘頻率可以不完全一樣,發(fā)送與接收時鐘誤差在5%以內(nèi)就可以正確接

收數(shù)據(jù),所以硬件結(jié)構(gòu)比同步通信方式簡單。

12.以11位的幀格式舉例說明異步通信的幀格式中各位的作用是如何定義的?

解:在異步通信中字符是一幀一幀地傳輸?shù)?。幀定義為一個字符的完整的通信格式,通常也

稱為幀格式,每個字符都要獨立地確定起始和結(jié)束位。最常見的幀格式一般是先用一個起始

位0表示字符的開始,然后是5?8位數(shù)據(jù),最后是停止位。

圖3.7所示是一種11位異步通信的幀格式,圖中各位作用如下所述。

圖3.7一種11位異步通信的幀格式

(1)起始位。通信線上沒有數(shù)據(jù)傳輸時,保持高電平(邏輯1),當(dāng)要發(fā)送數(shù)據(jù)時,首先要

發(fā)一個低電平(邏輯0),此信號稱為“起始位”,表示開始傳輸一幀信息。

(2)數(shù)據(jù)位。起始位之后的位即數(shù)據(jù)位,通常是5?8位(不同計算機規(guī)定不同),圖3.7所

示為8個數(shù)據(jù)位,規(guī)定低位在前,即先傳輸?shù)臀?,高位在最后?/p>

(3)奇偶校驗位。數(shù)據(jù)位之后的位即奇偶校驗位,此位通過對數(shù)據(jù)奇偶性的檢查,可用于判

別字符傳輸?shù)恼_性,它有三種可能的選擇,即用于奇校驗、偶校驗或者無校驗,用戶可根

據(jù)需要選擇,在有的格式中這位可省略。

(4)停止位。字符的最后一位是停止位,用于表示一幀結(jié)束,采用高電平(邏輯1)。停止位

可以是1位、1.5位、2位,不同的計算機規(guī)定有所不同。從起始位開始到停止位結(jié)束就構(gòu)成

完整的一幀。

13.串行通信中的數(shù)據(jù)傳輸率是如何定義的?已知在一次傳輸中數(shù)據(jù)的幀格式為11

位,數(shù)據(jù)傳輸率是4800b/s,計算其每位的傳輸時間。

解:串行通信中的數(shù)據(jù)傳輸率定義為每秒鐘傳輸多少位二進制數(shù),稱為比特率。

已知數(shù)據(jù)傳輸速率4800b/s,則每1位的傳輸時間即為波特率的倒數(shù),即

7d=l/4800s=0.208ms

14.串行通信中的數(shù)據(jù)傳輸方式有哪幾種?圖示說明。

解:在串行通信中,數(shù)據(jù)傳輸方式按照數(shù)據(jù)傳輸方向,可分為單工(Simplex)>半雙工

(HalfDuplex)和全雙工(FullDuplex)方式,示意圖如圖3.9所示。

1)單工方式

在單工方式下,甲機和乙機之間只允許單方向傳輸,例如,只允許甲機發(fā)送乙機接收,因而

兩機之間只需一條數(shù)據(jù)線。此時甲機稱為發(fā)送器,乙機稱為接收器。

2)半雙工方式

在半雙工方式下,甲機和乙機之間允許雙方向傳輸,但它們之間只有一個通信回路,接收和

發(fā)送不能同時進行,只能分時發(fā)送和接收,即甲機發(fā)送乙機接收,或者乙機發(fā)送甲機接收,

因而兩機之間只需一條數(shù)據(jù)線。此時甲機和乙機均稱為收發(fā)器。

3)全雙工方式

在全雙工方式下,甲、乙兩機之間數(shù)據(jù)的發(fā)送和接收可以同時進行,稱為全雙工傳輸,全雙

工形式的串行通信必須使用兩根數(shù)據(jù)線。此時甲機和乙機均稱為收發(fā)器。

第4章計算機的中斷思考與練習(xí)

1.什么是中斷?在計算機中中斷能實現(xiàn)哪些功能?

解:中斷是通過硬件來改變CPU程序運行方向的一種技術(shù),它既和硬件有關(guān),也和軟

件有關(guān)。在執(zhí)行程序的過程中,由于計算機內(nèi)部或外部的某種突發(fā)原因,有必要盡快中止當(dāng)

前程序的執(zhí)行,去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束后,再回來繼續(xù)執(zhí)行被中止了的原程序,

這種程序在執(zhí)行過程中由于外界的原因而被中間打斷的情況稱為中斷。

中斷系統(tǒng)一般具有如下功能。

1)能實現(xiàn)中斷及返回

當(dāng)某一個中斷源發(fā)出中斷申請時,CPU決定是否響應(yīng)這個中斷請求,當(dāng)CPU在執(zhí)行更

急、更重要的工作時,可以暫不響應(yīng)中斷,若允許響應(yīng)這個中斷請求,CPU必須在現(xiàn)行的

指令執(zhí)行完后,把斷點處的程序計數(shù)器PC值(下一條應(yīng)執(zhí)行的指令地址)推入堆棧保留下

來,這稱為保護斷點,這一步是硬件自動執(zhí)行的。同時用戶在編程時,要注意把有關(guān)的寄存

器內(nèi)容和狀態(tài)標(biāo)志位推入堆棧保留下來,這稱為保護現(xiàn)場。保護斷點和現(xiàn)場之后即可執(zhí)行中

斷服務(wù)程序,執(zhí)行完畢,需恢復(fù)原保留寄存器的內(nèi)容和標(biāo)志位的狀態(tài),稱為恢復(fù)現(xiàn)場,并執(zhí)

行中斷返回指令,這個過程由用戶編程實現(xiàn)。

2)能實現(xiàn)優(yōu)先權(quán)排隊

通常,在系統(tǒng)中有多個中斷源,有時會出現(xiàn)兩個或更多個中斷源同時提出中斷請求的情

況。這就要求計算機既能區(qū)分各個中斷源的請求,又能確定首先為哪一個中斷源服務(wù)。為了

解決這一問題,通常給各中斷源規(guī)定了優(yōu)先級別,稱為優(yōu)先權(quán)。當(dāng)兩個或者兩個以上的中斷

源同時提出中斷請求時,計算機首先為優(yōu)先權(quán)最高的中斷源服務(wù),服務(wù)結(jié)束后,再響應(yīng)級別

較低的中斷源。計算機按中斷源級別高低逐次響應(yīng)的過程稱優(yōu)先權(quán)排隊。這個過程可以通過

硬件電路來實現(xiàn),也可以通過程序查詢來實現(xiàn)。

3)能實現(xiàn)中斷嵌套

當(dāng)CPU響應(yīng)某一中斷的請求,正在進行中斷處理時,若有優(yōu)先權(quán)級別更高的中斷源發(fā)

出中斷申請,則CPU能中斷正在進行的中斷服務(wù)程序,并保留這個程序的斷點(類似于子

程序嵌套),響應(yīng)高級中斷,在高級中斷處理完以后,再繼續(xù)執(zhí)行被中斷的中斷服務(wù)程序。

這個過程稱中斷嵌套,其示意圖如圖4.2所示。如果發(fā)出新的中斷申請的中斷源的優(yōu)先權(quán)級

別與正在處理的中斷源同級或更低時,則CPU暫時不響應(yīng)這個中斷申請,直至正在處理的

中斷服務(wù)程序執(zhí)行完以后才去處理新的中斷申請。

圖4.1中斷流程圖圖4.2中斷嵌套流程圖

2.什么是中斷優(yōu)先級?中斷優(yōu)先級處理的原則是什么?

解:通常,在系統(tǒng)中有多個中斷源,有時會出現(xiàn)兩個或更多個中斷源同時提出中斷請求

的情況。這就要求計算機既能區(qū)分各個中斷源的請求,又能確定首先為哪一個中斷源服務(wù)。

為了解決這一問題,通常給各中斷源規(guī)定了優(yōu)先級別,稱為優(yōu)先權(quán)。

當(dāng)兩個或者兩個以上的中斷源同時提出中斷請求時,計算機首先為優(yōu)先權(quán)最高的中斷源

服務(wù),服務(wù)結(jié)束后,再響應(yīng)級別較低的中斷源。計算機按中斷源級別高低逐次響應(yīng)的過程稱

優(yōu)先權(quán)排隊。

3.CPU響應(yīng)中斷的條件是什么?

解:一般情況下CPU響應(yīng)中斷的條件主要有以下幾點。

(1)有中斷源發(fā)出中斷申請。

(2)中斷總允許位為1(不同的計算機該標(biāo)志位符號不同,例如,在80C51單片機中為

EA,在8086處理器中為IF等),此時CPU允許所有可屏蔽中斷源申請中斷。

(3)申請中斷的中斷源的中斷允許位為1,即此中斷源可以向CPU申請中斷。

以上是CPU響應(yīng)中斷的基本條件。如果滿足,CPU一般會響應(yīng)中斷,但如果有下列任何一

種情況存在,則中斷響應(yīng)會受到阻斷。

4.引進中斷技術(shù)的主要優(yōu)點是什么?

解:計算機引進中斷技術(shù)之后主要有如下優(yōu)點。

1)分日瞳作

在計算機與外部設(shè)備交換信息時,存在高速的CPU和慢速的外設(shè)(如打印機等)之間

的矛盾,若采用軟件查詢的方式,則不但占用了CPU操作時間,而且響應(yīng)速度慢。有了中

斷功能就解決了快速的CPU與慢速的外設(shè)之間的矛盾。此時,CPU在啟動外設(shè)工作后,繼

續(xù)執(zhí)行主程序,同時外設(shè)也在工作,每當(dāng)外設(shè)做完一件事,就發(fā)出中斷申請,請求CPU中

斷它正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序(一般情況是處理I/O數(shù)據(jù)),中斷處理完之

后,CPU恢復(fù)執(zhí)行主程序,外設(shè)仍繼續(xù)工作。這樣CPU可以命令多個外設(shè)(如鍵盤、打印

機等)同時工作,從而大大提高了CPU的工作效率。

2)實現(xiàn)實時處理

在實時控制中,現(xiàn)場的各個參數(shù)、信息是隨時間和現(xiàn)場情況不斷變化的。有了中斷功能,

外界的這些突發(fā)變化量可以根據(jù)要求,隨時向CPU發(fā)出中斷請求,要求CPU及時處理,

CPU就可以馬上響應(yīng)(若中斷響應(yīng)條件滿足)加以處理。這樣的及時處理在查詢方式下是

做不到的,從而大大減少了CPU的等待時間。

3)故障處理

計算機在運行過程中,難免會出現(xiàn)一些事先無法預(yù)料的故障,如存儲出錯,運算溢出,

電源突跳等。有了中斷功能,計算機就能自行處理,而不必停機處理。

5.在中斷響應(yīng)過程中,為什么通常要保護現(xiàn)場?如何保護?

解:因為一般主程序和中斷服務(wù)程序都可能會用到累加器、狀態(tài)標(biāo)志寄存器及其他一些

寄存器。CPU在進入中斷服務(wù)程序后,用到上述寄存器時,就會破壞它原來存在寄存器中

的內(nèi)容,一旦中斷返回,將會造成主程序的混亂。因此,在進入中斷服務(wù)程序后,一般要先

保護現(xiàn)場,通常是把這些需要保護的內(nèi)容壓入稱為堆棧的存儲區(qū)(有關(guān)堆棧的內(nèi)容詳見5.3

節(jié)),然后再執(zhí)行中斷處理程序,在返回主程序以前,再恢復(fù)現(xiàn)場,即把保護的內(nèi)容再從堆

棧中彈出到累加器或者寄存器等。對于要保護的內(nèi)容一定要全面考慮,不能遺漏。

第二篇單片機原理及應(yīng)用思考與練習(xí)答案

第5章單片機結(jié)構(gòu)及原理思考與練習(xí)

1.AT89S51單片機內(nèi)部包含哪些主要邏輯功能部件?各有什么主要功能?

答:80C51單片機內(nèi)部主要包含有CPU、存儲器、可編程I/O口、定時/計數(shù)器、串行口

等,各部分通過內(nèi)部總線相連。各部分主要功能如下:

中央處理器(CPU)

中央處理器是單片機最核心的部分,是單片機的大腦和心臟,主要完成運算和控制功能。

80C51的CPU是一個字長為8位的中央處理單元,即它對數(shù)據(jù)的處理是以字節(jié)為單位進行

的。

內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)

80C51中共有256個RAM單元,但其中能作為寄存器供用戶使用的僅有前面128個,

后128個被專用寄存器占用。其可存儲程序在運行時的變量和數(shù)據(jù)。

內(nèi)部程序存儲器(內(nèi)部ROM)

80c51共有4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)等。

定時/計數(shù)器

80C51共有2個16位的定時/計數(shù)器,可以實現(xiàn)定時和計數(shù)功能。

并行I/O口

80c51共有4個8位的I/O口,可以實現(xiàn)數(shù)據(jù)的并行輸入、輸出。

串行口

80C51有1個全雙工的可編程串行口,以實現(xiàn)單片機和其它設(shè)備之間的串行數(shù)據(jù)傳送。

時鐘電路

80C51單片機內(nèi)部的時鐘電路為單片機產(chǎn)生時鐘脈沖序列。使計算機在時鐘信號的驅(qū)動

下,按照嚴格的節(jié)拍順序執(zhí)行各種操作。

2.簡述ALE/樂55和運/VPP引腳的功能。

解:ALE/而55:該引腳有兩種功能,即地址鎖存允許輸出/編程脈沖輸入端。

在訪問片外存儲器時,ALE作為鎖存擴展地址低位字節(jié)的輸出控制信號(稱允許鎖存地址),

在一個指令周期中將丟失一個脈沖。在不訪問片外存儲器時,該端也以1/6的時鐘振蕩頻率

固定輸出正脈沖,可供定時或其他需要使用,還可檢測CPU是否已經(jīng)工作。ALE端的負載

驅(qū)動能力為8個LSTTL(低功耗高速TTL)。

在固化片內(nèi)存儲器的程序(也稱為燒錄程序)時,此引腳用于輸入編程負脈沖。

EA/VPP:該引腳有兩種功能,即內(nèi)、外程序存儲器選擇/編程電源輸入端。

當(dāng)云端接高電平時,CPU從片內(nèi)程序存儲器地址0000H單元開始執(zhí)行程序。當(dāng)?shù)刂烦?/p>

4KB(AT89s52為8KB)時,將自動執(zhí)行片外程序存儲器的程序。當(dāng)直端接低電平時,CPU

僅訪問片外程序存儲器。即CPU直接從片外程序存儲器0000H單元開始執(zhí)行程序。

在對片內(nèi)程序存儲器編程時,此引腳用于施加編程電壓VPP。80c51系列單片機不同型號單

片機的編程電壓不同,有12V和5V等幾種。

3.如何認識80c51單片機存儲器空間在物理結(jié)構(gòu)上可劃分為四個空間,而在邏輯上又

可劃分三個空間?

答:80C51存儲器是采用將程序存儲器和數(shù)據(jù)存儲器分開尋址的結(jié)構(gòu),其存儲器空間在物理

結(jié)構(gòu)上可劃分為如下四個空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器、片外

數(shù)據(jù)存儲器。

邏輯上又劃分如下三個空間:片內(nèi)256B數(shù)據(jù)存儲器地址空間,片外64KB的數(shù)據(jù)存儲

器地址空間,和64KB程序存儲器。因為片內(nèi)、片外的程序存儲器地址編排是連續(xù)統(tǒng)一的,

因而在邏輯上把它作為一個空間,

在訪問三個不同的邏輯空間時;應(yīng)采用不同形式的指令,以產(chǎn)生不同存儲空間的選通信

號。

4.開機復(fù)位后,80C51單片機CPU使用的是哪組工作寄存器?它們的地址是什么?

CPU如何確定和改變當(dāng)前工作寄存器組?

答:開機復(fù)位后,CPU使用的是第0組工作寄存器。它們的地址是00?07。CPU通過對

程序狀態(tài)字PSW中RSI、RS0的設(shè)置來確定和改變當(dāng)前工作寄存器組。

5.什么是堆棧?堆棧有何作用?在程序設(shè)計時,有時為什么要對堆棧指針SP重新賦

值?如果CPU在操作中要使用兩組工作寄存器,SP的初值應(yīng)為多大?

答:堆棧是個特殊的存儲區(qū),主要功能是暫時存放數(shù)據(jù)和地址,通常用來保護斷點和現(xiàn)場。

它的特點是按照“先進后出”的原則存取數(shù)據(jù),這里的“進與出''是指進棧與出棧操作。

系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實上由08H開始。因為08H?1FH單元為工作

寄存器區(qū)1?3,20H?2FH為位尋址區(qū)。在程序設(shè)計中很可能要用到這些區(qū),所以用戶在編

程時要對堆棧指針SP重新賦值,最好把SP初值設(shè)為2FH或更大值,當(dāng)然同時還要顧及其

允許的深度。在使用堆棧時要注意,由于堆棧的占用,會減少內(nèi)部RAM的可利用單元,如

設(shè)置不當(dāng),可能引起內(nèi)部RAM單元沖突。如果CPU在操作中要使用兩組工作寄存器,SP

的初值應(yīng)大于10H?

6.AT89s51的時鐘周期、機器周期、指令周期是如何分配的?當(dāng)振蕩頻率為8MHz時,

一個單片機周期為多少微秒?

答:80C51的時鐘周期是最小的定時單位,也稱為振蕩周期或節(jié)拍。一個機器周期包含

12個時鐘周期或節(jié)拍。不同的指令其指令周期一般是不同的,可包含有1、2、3、4個機器

周期。當(dāng)振蕩頻率為8MHz時,一個單片機時鐘周期為0.125微秒。

7.在AT89S51擴展系統(tǒng)中,片外程序存儲器和片外數(shù)據(jù)存儲器共處同一地址空間為什

么不會發(fā)生總線沖突?

答:在訪問片外程序存儲器和片外數(shù)據(jù)存儲器邏輯空間時,因為采用了不同形式的指令,產(chǎn)

生不同的存儲空間的選通信號,所以不會發(fā)生總線沖突。

8.程序狀態(tài)寄存器PSW的作用是什么?常用狀態(tài)標(biāo)志有哪幾位?作用是什么?

答:PSW是8位寄存器,用于作為程序運行狀態(tài)的標(biāo)志。

當(dāng)CPU進行各種邏輯操作或算術(shù)運算時,為反映操作或運算結(jié)果的狀態(tài),把相應(yīng)的標(biāo)

志位置1或清0。這些標(biāo)志的狀態(tài),可由專門的指令來測試,也可通過指令來讀出。它為計

算機確定程序的下一步運行方向提供依據(jù)。PSW寄存器中各位的名稱及位置如上所示,下

面說明各標(biāo)志位的作用。

P:奇偶標(biāo)志,該位始終跟蹤累加器A內(nèi)容的奇偶性。如果有奇數(shù)個力”,則置P為1,否

則置0。在80c51的指令系統(tǒng)中,凡是改變累加器A中內(nèi)容的指令均影響奇偶標(biāo)志位P。

F1:用戶標(biāo)志,由用戶置位或復(fù)位。

OV:溢出標(biāo)志,有符號數(shù)運算時,如果發(fā)生溢出時,OV置“1”,否則清“0”。對于一個字節(jié)

有符號數(shù),如果用最高位表示正、負號、則只有7位有效位,能表示一128?+127之間的

數(shù),如果運算結(jié)果超出了這個數(shù)值范圍,就會發(fā)生溢出,此時,OV=1,否則OV=0。例

如下面所示兩個正數(shù)相加超過+127范圍時,使其符號由正變負,由于溢出得負數(shù),結(jié)果是

錯誤的,這時OV=1;兩個負數(shù)相加,和小于一128,由于溢出得正數(shù),OV=1。

此外,在乘法運算中,OV=1表示乘積超過255;在除法運算中,OV=1表示除數(shù)為0。

表RSO、RS1對工作寄存器組的選擇

RSIRS0寄存器組片內(nèi)RAM地址

0第0組OOH~07H

1第1組08H~0FH

0第2組10H?17H

11第3組18H~1FH

RSO、RS1:工作寄存器組選擇位,用以選擇指令當(dāng)前工作的寄存器組。由用戶用軟件改變

RS0和RS1的組合,以切換當(dāng)前選用的工作寄存器組,其組合關(guān)系如表3-5。

單片機在復(fù)位后,RS0=RSl=0,CPU自然選中第0組為當(dāng)前工作寄存器組。根據(jù)需

要,用戶可利用傳送指令或位操作指令來改變其狀態(tài),這樣的設(shè)置為程序中快速保護現(xiàn)場提

供了方便。

F0:用戶標(biāo)志位,同F(xiàn)1。

AC:半進位標(biāo)志,當(dāng)進行加法(或減法)運算時,如果低半字節(jié)(位3)向高半字節(jié)

有進位(或借位),AC置“I”,否則清“0”。AC亦可用于BCD碼調(diào)整時的判別位。

CY:進位標(biāo)志,在進行加法(或減法)運算時,如果操作結(jié)果最高位(位7)有進位,

CY置“1”,否則清“0”。在進行位操作時,CY又作為位操作累加器C。

9.位地址7cH與字節(jié)地址7cH有何區(qū)別?位地址7cH具體在內(nèi)存中什么位置?

答:位地址7cH表示7cH這一二進制位的地址,字節(jié)地址7cH表示地址為7cH的單元地

址。位地址7cH在內(nèi)存中2FH單元的第4位。

10.AT89s51單片機4個I/O端口的作用是什么?AT89S51的片外三總線是如何分配的?

答:AT89s51單片機有4個I/O端口,每個端口都是8位雙向口,共占32根引腳。每

個端口都包括一個鎖存器(即專用寄存器P0?P3)、一個輸出驅(qū)動器和輸入緩沖器。通常把

4個端口稱為P0?P3。在無片外擴展存儲器的系統(tǒng)中,這4個端口的每一位都可以作為雙

向通用I/O端口使用。在具有片外擴展存儲器的系統(tǒng)中,P2口作為高8位地址線,P0口分

時作為低8位地址線和雙向數(shù)據(jù)總線。

11.AT89S51單片機4個I/O端口在結(jié)構(gòu)上有何異同?使用時有何注意事項?

答:P0口既可以作為通用I/O口使用,也可以作為地址/數(shù)據(jù)線使用,所以在P0口的電路中

有一個多路轉(zhuǎn)換開關(guān)MUX。P0口的輸出級與P1?P3口的輸出級在結(jié)構(gòu)上是不同的,主要

不同點是無內(nèi)部上拉電阻,因此它們的負載能力和接口要求也各不相同,P1?P3口也被稱

作準雙向口。

P0口的每一位可驅(qū)動8個LSTTL負載。P0既可做I/0端口使用,也可作地址/數(shù)據(jù)總

線使用。當(dāng)把它作通用口輸出時,只有外接上拉電阻,才有高電平輸出;作地址/數(shù)據(jù)總線

時,無需外接電阻,此時不能再作I/O口使用。

P1?P3口輸出級接有內(nèi)部上拉負載電阻,每位可驅(qū)動4個LSTTL負載,能向外提

供拉電流負載,所以不必再外接上拉電阻。

P2口的位結(jié)構(gòu)比P1多了一個轉(zhuǎn)換控制部分。當(dāng)P2口作通用I/O口時,多路開關(guān)MUX

倒向鎖存器輸出Q端,構(gòu)成輸出驅(qū)動電路。

在系統(tǒng)擴展片外程序存儲器時,由P2口輸出高8位地址(低8位地址由P0口輸出)。

此時MUX在CPU的控制下,轉(zhuǎn)向內(nèi)部地址線的一端。

P3口是多功能端口。若第二輸出功能端保持“1”電平,打開“與非”門,鎖存器輸出可通

過“與非,,門送至FET輸出到引腳端,這是作通用I/O口輸出使用情況。輸入時,仍通過三

態(tài)緩沖器讀引腳信號。

當(dāng)端口用于第二功能情況下輸出時,鎖存器輸出Q為1,打開“與非”門,第二輸出功

能端內(nèi)容通過“與非”門和FET送至端口引腳,從而實現(xiàn)第二功能信號輸出;輸入時,端口

引腳的第二功能信號通過緩沖器送到第二輸入功能端。

P0?P3口都是雙向I/O口,作輸入時,必須先在相應(yīng)端口鎖存器上寫“1”,使驅(qū)動管

FET截止。系統(tǒng)復(fù)位時,端口鎖存器全為T”。

12.復(fù)位的作用是什么?有幾種復(fù)位方法?復(fù)位后單片機的狀態(tài)如何?

答:復(fù)位是單片機的初始化操作,單片機在啟動運行時,都需要先復(fù)位,它的作用是使

CPU和系統(tǒng)中其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。

單片機的外部復(fù)位電路有上電自動復(fù)位和按鍵手動復(fù)位兩種。

上電復(fù)位利用電容器充電來實現(xiàn),上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖,

只要RST引腳端保持2個機器周期以上高電平,就能使單片機復(fù)位。為了可靠地復(fù)

溫馨提示

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

評論

0/150

提交評論