




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題2.10 函數(shù)的綜合應(yīng)用(原卷版)-2024年高考數(shù)學(xué)一輪復(fù)習(xí)精講精練寶典(新高考專用)
- 2025年中考物理預(yù)測模擬試卷(含答案解析)
- 文藝匯演組織方案計劃
- 跨界學(xué)習(xí)的職業(yè)思路計劃
- 語言藝術(shù)欣賞活動安排計劃
- 員工培訓(xùn)部工作總結(jié)與學(xué)習(xí)計劃
- 主管全年任務(wù)計劃
- 四川景鑫礦業(yè)有限公司四川省南江縣大火地金礦礦山地質(zhì)環(huán)境保護與土地復(fù)墾方案情況
- 醫(yī)學(xué)與急救知識培訓(xùn)課件
- 統(tǒng)編版小學(xué)語文二年級下冊第25課《羿射九日》精美課件
- 總磷的測定方法
- 流動人口信息登記表河南鄭州
- 健康狀況評定量表-HAQ
- 發(fā)展經(jīng)濟學(xué) 馬工程課件 1.第一章 發(fā)展中國家與發(fā)展經(jīng)濟學(xué)
- GB/T 22576.4-2021醫(yī)學(xué)實驗室質(zhì)量和能力的要求第4部分:臨床化學(xué)檢驗領(lǐng)域的要求
- 祖沖之與圓周率的故事教程文件
- 《人工挖孔樁安全教育培訓(xùn)》
- 全省檢察機關(guān)公訴業(yè)務(wù)知識考試試卷
- 10KV開關(guān)柜教學(xué)講解課件
- 損傷疼痛病(軟組織損傷)中醫(yī)臨床路徑
- 航模隊第一講-飛機基本原理和彈射機制作
評論
0/150
提交評論