版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
微機(jī)與單片機(jī)原理及應(yīng)用1教材參考教材《單片微型計(jì)算機(jī)原理與設(shè)計(jì)》閆玉德葛龍俞紅編中國電力出版社《MCS-51單片機(jī)原理與應(yīng)用》閆玉德俞紅編著機(jī)械工業(yè)出版社《微型計(jì)算機(jī)原理及應(yīng)用》王建寧戴躍偉候曉霞編著化學(xué)工業(yè)出版社《單片機(jī)原理及應(yīng)用》李建忠主編西安電子科技大學(xué)出版社2微機(jī)與單片機(jī)原理及應(yīng)用課程安排總共4.5學(xué)分,其中:理論授課,3學(xué)分;實(shí)驗(yàn)環(huán)節(jié),1.5學(xué)分理論內(nèi)容:
1、微型計(jì)算機(jī)基礎(chǔ)(第一章)
2、單片機(jī)硬件系統(tǒng)
3、單片機(jī)指令系統(tǒng)
4、單片機(jī)C程序設(shè)計(jì)
5、單片機(jī)功能部件
6、單片機(jī)系統(tǒng)擴(kuò)展3微機(jī)與單片機(jī)原理及應(yīng)用考核:
筆試(70%)+實(shí)驗(yàn)(20%)+平時(10%)要重視平時及實(shí)驗(yàn)課程!以下情況之一者,視情況,取消考試資格:
1、無故曠課>=3次
2、作業(yè)不上交>=4次4什么是單片機(jī)硬件:主機(jī),鍵盤,鼠標(biāo),顯示器,打印機(jī)5什么是單片機(jī)6什么是單片機(jī)7什么是單片機(jī)在同一個集成芯片上集成微處理器、存儲器、I/O接口電路,即構(gòu)成單片機(jī)。8單片機(jī)學(xué)什么?1、了解單片機(jī)的結(jié)構(gòu);2、學(xué)會合理分配單片機(jī)的資源;3、學(xué)會合理分配單片機(jī)的管腳;4、掌握軟件設(shè)計(jì)與調(diào)試的基本技能;9學(xué)習(xí)單片機(jī)需要哪些基礎(chǔ)知識1、與以前所學(xué)知識關(guān)聯(lián)較少;2、掌握基本的數(shù)、模電知識,如二進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換,與或非的邏輯關(guān)系等。3、具備簡單的C語言編程;4、所有人站在同一起跑線上10單片機(jī)作用家用
11單片機(jī)作用智能儀器儀表
12單片機(jī)作用工業(yè)控制
13單片機(jī)作用汽車設(shè)備
14會用的軟件:Keil軟件
KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng)15會用的軟件:Proteus軟件
Protues軟件不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。16單片機(jī)應(yīng)用設(shè)計(jì)方法1、提出要求2、系統(tǒng)設(shè)計(jì)方案;單片機(jī)系統(tǒng)太陽能穩(wěn)壓步進(jìn)電機(jī)光電傳感3、確定硬件17單片機(jī)應(yīng)用設(shè)計(jì)方法1、提出要求2、系統(tǒng)設(shè)計(jì)方案;3、確定硬件4、程序設(shè)計(jì)5、軟件仿真18單片機(jī)應(yīng)用設(shè)計(jì)方法1、提出要求2、系統(tǒng)設(shè)計(jì)方案;3、確定硬件4、程序設(shè)計(jì)5、軟件仿真6、硬件制作與測試19單片機(jī)應(yīng)用設(shè)計(jì)方法1、提出要求2、系統(tǒng)設(shè)計(jì)方案;3、確定硬件4、程序設(shè)計(jì)5、軟件仿真6、硬件制作與測試20第一章微型計(jì)算機(jī)基礎(chǔ)1.1微型計(jì)算機(jī)概述1.2微處理器1.3存儲器1.4微機(jī)工作原理1.5輸入輸入接口21第一章微型計(jì)算機(jī)基礎(chǔ)1.1微型計(jì)算機(jī)概述計(jì)算機(jī)的產(chǎn)生是20世紀(jì)重大的科技成果之一。微型機(jī)的出現(xiàn)和計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,使得計(jì)算機(jī)已應(yīng)用于社會的各行各業(yè),已進(jìn)入到我們的家庭與生活。計(jì)算機(jī)的飛速發(fā)展大大促進(jìn)了知識經(jīng)濟(jì)的發(fā)展和社會信息化的進(jìn)程,引起了社會的深刻變革。也改變了人們的知識結(jié)構(gòu),不會使用計(jì)算機(jī)將無法面對21世紀(jì)的工作、學(xué)習(xí)與生活。
22
1946年2月,世界上第一臺計(jì)算機(jī)在美國賓西法尼亞大學(xué)研制成功。體積:占地170平方米,長30m,寬1m,高3m,重30噸元件:18000個電子管,70000個電阻,10000個電容,60000個繼電器容量:
ROM16Kbit,RAM為1Kbit功耗:功耗174KW,平均工作時間2.5小時速度:每秒只能進(jìn)行5000次加減法運(yùn)算。在性能方面與今天的計(jì)算機(jī)無法相比,但是它的問世標(biāo)志著電子計(jì)算機(jī)時代的到來,它用電子的快速運(yùn)動代替了機(jī)械的運(yùn)動。
23<第一代計(jì)算機(jī)的核心部件,真空電子管>
24第一代計(jì)算機(jī)(1946-1958):
缺點(diǎn):1、體積大、耗電多、重量重、性能低。
2、沒有操作系統(tǒng):用戶在這些計(jì)器上的操作和編程,完全由手工進(jìn)行,以絕對的機(jī)器語言形式(二進(jìn)制代碼形式)編程,采用接插板或開關(guān)板控制計(jì)算機(jī)操作;3、沒有顯示設(shè)備,由氖燈或數(shù)碼顯示。4、在這一階段,幾乎沒有程序設(shè)計(jì)語言,用戶面對的也是一個很不方便的操作環(huán)境。在這類早期的計(jì)算機(jī)系統(tǒng)中,有了程序,但沒有操作系統(tǒng)。25第二代計(jì)算機(jī)(1958-1964年):使用晶體管作為主要電子器件。在晶體管時代,由于有了計(jì)算機(jī)語言和相應(yīng)的程序,就產(chǎn)生了對用戶所提交的程序進(jìn)行管理的程序,這就是監(jiān)控程序(monitor)的雛形。第二代計(jì)算機(jī)的重要貢獻(xiàn):
(1)開創(chuàng)了計(jì)算機(jī)處理文字和圖形的新階段;
(2)高級語言已投入使用;
(3)開始有了通用機(jī)和專用機(jī)之分;
(4)開始使用鼠標(biāo)作為輸入設(shè)備。
26<貝爾實(shí)驗(yàn)室研制的世界上第一臺全晶體管計(jì)算機(jī)TRADIC>
27第三代計(jì)算機(jī)(1965-1971年):使用小規(guī)模集成電路SSI(smallscaleintegration)和中規(guī)模額的集成電路MIS(mediumscaleintegration)作為主要電子元件。
應(yīng)用:科學(xué)計(jì)算,文字處理、企業(yè)管理、自動控制等領(lǐng)域,出現(xiàn)了計(jì)算機(jī)技術(shù)與通信技術(shù)相結(jié)合的信息管理系統(tǒng),可用于生產(chǎn)管理、交通管理、情報檢索等領(lǐng)域。
第三代計(jì)算機(jī)的主要貢獻(xiàn):
(1)運(yùn)算速度已達(dá)到100萬次/秒以上;
(2)操作系統(tǒng)更完善;
(3)序列機(jī)的推出,較好地解決了“硬件不斷更新,而軟件相對穩(wěn)定”的矛盾;
(4)機(jī)器可根據(jù)其性能分為巨型機(jī)、大型機(jī)和小型機(jī)。
28〈第三代計(jì)算機(jī)的標(biāo)志性產(chǎn)品,IBM360大型機(jī)的局部圖〉
29第四代計(jì)算機(jī)(20世紀(jì)70年代以后):使用大規(guī)模集成電路LSI(largescaleintegration)和超大規(guī)模集成電路VLSI(verylargescaleintegrtion)作為主要的電子器件。各種性能上都得到了大幅度的提高,對應(yīng)的軟件也越來越豐富,其應(yīng)用涉及到國民經(jīng)濟(jì)的各個領(lǐng)域,已經(jīng)在辦公自動化、數(shù)據(jù)庫管理、圖象識別、專家系統(tǒng)等眾多領(lǐng)域中得到了廣泛應(yīng)用,并且以不可阻礙的勢頭大量進(jìn)入家庭。<早期的第四代計(jì)算機(jī),由DEC公司生產(chǎn)>
30作為第四代計(jì)算機(jī)的典型代表——微型計(jì)算機(jī)應(yīng)運(yùn)而生。微型計(jì)算機(jī)由微處理器、半導(dǎo)體存儲器和輸入輸出接口組成。微型計(jì)算機(jī)的出現(xiàn)和發(fā)展,掀起了計(jì)算機(jī)大普及的浪潮,微型機(jī)比小型機(jī)體積更小、價格更低廉,且通用性強(qiáng)、靈活性好、可靠性高、使用方便。
31計(jì)算機(jī)的發(fā)展核心部件為CPU,它的發(fā)展經(jīng)歷以下過程:1971年,Intel推出第一片4位微處理器4004。1978年,Intel首次推出16位處理器8086,1979年,Intel又推出8088。1982-1990年,相繼推出16位80286,32位80386,80486等1993年,Intel推出了新一代高性能微處理器Pentium(奔騰)。
……….1981年IBMPC的正式推出,一個全新的個人計(jì)算機(jī)時代開始了。計(jì)算機(jī)發(fā)展趨勢:巨型化,微型化,網(wǎng)絡(luò)化,智能化和多功能化32Intel公司CPU圖標(biāo)33計(jì)算機(jī)的分類按照綜合性能指標(biāo),通用電子計(jì)算機(jī)可以分為:巨型機(jī)、大型機(jī)、中型機(jī)、小型機(jī)、微型機(jī)主要區(qū)別是在于運(yùn)算速度、數(shù)據(jù)存儲容量、輸入/輸出能力、指令系統(tǒng)規(guī)模和價格等因素。34第一章微型計(jì)算機(jī)基礎(chǔ)1.1.1微型計(jì)算機(jī)的硬件
1.計(jì)算機(jī)的組成圖1.1計(jì)算機(jī)的組成結(jié)構(gòu)3536第一章微型計(jì)算機(jī)基礎(chǔ)2.計(jì)算機(jī)的字長計(jì)算機(jī)內(nèi)所有的信息都是以二進(jìn)制代碼的形式表示的。計(jì)算機(jī)的字長:一臺計(jì)算機(jī)所用的二進(jìn)制代碼的位數(shù)
或者CPU在單位時間內(nèi)(同一時間)能一次處理的二進(jìn)制數(shù)的位數(shù)叫字長
微型計(jì)算機(jī)的字長有4位、8位、16位、32位、64位等。目前最為廣泛學(xué)習(xí)的主要是8位微機(jī)和16位微機(jī),而當(dāng)前在市場上購買的主流產(chǎn)品是32位微機(jī)和64位微機(jī)。37第一章微型計(jì)算機(jī)基礎(chǔ)3.微型計(jì)算機(jī)的組成微處理器:運(yùn)算器、控制器、寄存器集成在一塊硅片上,成為獨(dú)立的芯片,稱為微處理器(MicroProcessor),也稱CPU或MPU。
計(jì)算機(jī)的字長越長,它能代表的數(shù)值就越大,能表示的數(shù)值的有效位數(shù)也越多,計(jì)算的精度就越高。但是位數(shù)越長,用來表示進(jìn)制代碼的邏輯電路也越多,使得計(jì)算機(jī)的結(jié)構(gòu)變得越龐大,電路變得越復(fù)雜,造價也越高。用戶通常要根據(jù)不同的任務(wù)選擇不同字長的計(jì)算機(jī)。38第一章微型計(jì)算機(jī)基礎(chǔ)微型計(jì)算機(jī):微處理器芯片、存儲器芯片、輸入/輸出接口芯片(Input/OutputInterface,簡稱I/O接口)之間由總線(Bus)連接,就構(gòu)成了微型計(jì)算機(jī)(MicroComputer)圖1.2微型計(jì)數(shù)機(jī)的組成結(jié)構(gòu)3.微型計(jì)算機(jī)的組成39微處理器(CPU)CPU是微型計(jì)算機(jī)的核心,它由運(yùn)算器、控制器和寄存器三大部分組成。運(yùn)算器:ALU(ArithmeticLogicUnit)構(gòu)成。作用:ALU是對傳送到微處理器的數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算或邏輯運(yùn)算的部件,能夠執(zhí)行加法、減法運(yùn)算,邏輯與、邏輯或等運(yùn)算??刂破鳎褐饕〞r鐘電路和控制電路。作用:時鐘電路產(chǎn)生時鐘脈沖,用于微機(jī)各部分電路的同步定時??刂齐娐樊a(chǎn)生完成各種操作所需的控制信號。寄存器:CPU中有多個寄存器,用來存放操作數(shù)、地址和運(yùn)算的中間結(jié)果等。40第一章微型計(jì)算機(jī)基礎(chǔ)(2)存儲器計(jì)算機(jī)有了存儲器才具備記憶功能。
存儲器由許多存儲單元組成,在8位微機(jī)中,每個存儲單元存放8位二進(jìn)制代碼,8位二進(jìn)制代碼稱為一個字節(jié),即8位微機(jī)的每個存儲單元能存放一個字節(jié)(Byte)的代碼。
410000000001101100000000011010001100000010111001010000001100000100……1111111011111111圖1.3存儲器單元地址容量:假如存儲器有256個單元,每個單元存放一個字節(jié)代碼,那么該存儲器容量為256字節(jié),或256×8位。在容量較大的存儲器中,存儲容量以KB或MB為單位,1KB=210B=1024個存儲單元,1MB=220B=1024KB。
42存儲器“寫”:微機(jī)工作時,CPU將數(shù)碼存入存儲器的過程稱為“寫”操作;寫入存儲單元的數(shù)碼取代了原有的數(shù)碼,而且在下一個新的數(shù)碼寫入之前一直保留著,即存儲器具有記憶數(shù)碼的功能。存儲器“讀”:CPU從存儲器中取數(shù)碼的過程為“讀”操作。在執(zhí)行讀操作后,存儲單元中原有的內(nèi)容不變,即存儲器的讀出是非破壞性的。
第一章微型計(jì)算機(jī)基礎(chǔ)43第一章微型計(jì)算機(jī)基礎(chǔ)存儲單元的地址:對存儲器所有單元按順序進(jìn)行的編號,這種編號就是是存儲的地址。每個單元都有唯一的地址。地址用二進(jìn)制數(shù)表示,地址的二進(jìn)制位數(shù)N與存儲容量Q的關(guān)系是Q=
。
例如:在8086微機(jī)系統(tǒng)中,地址的位數(shù)是20,則存儲器的容量為220B=1MB。
44第一章微型計(jì)算機(jī)基礎(chǔ)(3)輸入/輸出接口
I/O接口是溝通CPU與外部設(shè)備的重要部件。外部設(shè)備種類繁多,其運(yùn)行速度、數(shù)據(jù)形式、電平等可能存在差異,常常與CPU不一致,所以要用I/O接口作為橋梁,起到信息轉(zhuǎn)換與協(xié)調(diào)的作用。例如:
打印機(jī)打印一行字符需1s左右,而微機(jī)輸出一行字符只需1ms左右,要使打印機(jī)與微機(jī)同步工作,必須采用相應(yīng)的接口芯片來協(xié)調(diào)連接。45第一章微型計(jì)算機(jī)基礎(chǔ)(4)總線總線:是在微型計(jì)算機(jī)各芯片之間或芯片內(nèi)部各部件之間傳輸信息的一組公共線路。
前者稱為系統(tǒng)總線(片間總線),后者稱為片內(nèi)總線。
46圖1.48位系統(tǒng)總線如圖1.4所示,為芯片之間的一組系統(tǒng)總線,該總線由8根導(dǎo)線組成,可以在芯片之間并行傳送8位二進(jìn)制數(shù)據(jù)。
47常見的微機(jī)采用三總線結(jié)構(gòu),即數(shù)據(jù)總線DB(DataBus)在芯片之間傳送數(shù)據(jù)信息;地址總線AB(AddressBus)傳送地址信息;控制總線CB(ControlBus)傳送控制信息。有的微機(jī)則采用一組總線分時傳送地址和數(shù)據(jù)信息,稱為地址/數(shù)據(jù)分時復(fù)用總線。
48與微機(jī)相關(guān)的幾個概念:單板機(jī):若將微處理器、存儲器、I/O接口以及簡單的I/O設(shè)備組裝在一塊印制電路板(PCB)上,則稱為單板微型計(jì)算機(jī),簡稱單板機(jī)。例如,如SDK-86、Z-80等都是常用的單板機(jī)單片機(jī):若將微處理器、存儲器和I/O接口集成在一塊芯片上,則稱為單片微型計(jì)算機(jī),簡稱單片機(jī)。例如MCS-51、MCS-96系列等都是常見的單片機(jī)。
49微型計(jì)算機(jī)系統(tǒng):微型計(jì)算機(jī)與外圍設(shè)備、電源構(gòu)成了硬件總體,配合軟件一起則構(gòu)成了微型計(jì)算機(jī)系統(tǒng)。如圖1.6所示,概括了微處理器、微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)三者之間的關(guān)系。
圖1.6微型計(jì)算機(jī)系統(tǒng)50第一章微型計(jì)算機(jī)基礎(chǔ)1.1.2微型計(jì)算機(jī)的軟件軟件是使用和管理計(jì)算機(jī)的各種程序(Program),而程序是由一條條的指令(Instruction)組成的。1.指令指令是指控制計(jì)算機(jī)進(jìn)行各種操作的命令。指令主要由操作碼和操作數(shù)兩大部分組成。操作碼表示該指令執(zhí)行何種操作,操作數(shù)表示參加運(yùn)算的數(shù)據(jù)或數(shù)據(jù)所在存儲器單元的地址。51書寫形式為MOVA,#29;(A)29
其中“(A)29”是用符號表示的該指令功能。將寄存器A的內(nèi)容與數(shù)38相加的指令稱為加法(Additive)指令,書寫形式為ADDA,#38;(A)(A)+38該指令將運(yùn)算結(jié)果送回累加器A保存。小知識:累加器是專門存放算術(shù)或邏輯運(yùn)算的一個操作數(shù)和運(yùn)算結(jié)果的寄存器。能進(jìn)行加、減、讀出、移位、循環(huán)移位和求補(bǔ)等操作。是運(yùn)算器的主要部分。例如,將立即數(shù)29傳送(Move)到累加器A的指令稱為傳送指令,52例如,計(jì)算63+56+36+14=?編制的程序如下。MOVA,#63;數(shù)63送入累加器A。ADDA,#56;A的內(nèi)容63與數(shù)56相加,其和119送回A。ADDA,#36;A的內(nèi)容119與數(shù)36相加,其和155送回A。ADDA,#14;A的內(nèi)容155與數(shù)14相加,運(yùn)算結(jié)果169保存在A中。2.程序?yàn)榱擞?jì)算一個數(shù)學(xué)式,或者要控制一個生產(chǎn)過程,需要事先制定計(jì)算機(jī)的計(jì)算步驟或操作步驟。計(jì)算步驟或操作步驟是由一條條指令來實(shí)現(xiàn)的。這種一系列指令的有序集合稱為程序。53匯編語言
匯編指令:用助記符(通常是指令功能的英文縮寫)表示操作碼,用字符(字母、數(shù)字、符號)表示操作數(shù)的指令。用匯編指令編制的程序稱為匯編語言程序。
特點(diǎn):占用存儲器單元較少、執(zhí)行速度較快、能夠準(zhǔn)確掌握執(zhí)行時間,可實(shí)現(xiàn)精細(xì)控制,因此特別適用于實(shí)時控制。缺點(diǎn):匯編語言是面向機(jī)器的語言,各種計(jì)算機(jī)的匯編語言是不同的,必須對所用機(jī)器的結(jié)構(gòu)、原理和指令系統(tǒng)比較清楚才能編寫出匯編語言程序,而且不能通用于其它機(jī)器。3.編程語言編制程序可以采用的程序設(shè)計(jì)語言分為三類:機(jī)器語言、匯編語言和高級語言。54特點(diǎn):用高級語言編寫程序時主要著眼于算法,而不必了解計(jì)算機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),因此易學(xué)易用。適用于科學(xué)計(jì)算、數(shù)據(jù)處理等方面。高級語言是獨(dú)立于機(jī)器的,同一個程序可在其它機(jī)器中使用。高級語言高級語言是面向過程的語言,常用的高級語言有BASIC,F(xiàn)ORTRAN,PASCAL,C等等。機(jī)器語言
計(jì)算機(jī)中只能存放和處理二進(jìn)制數(shù)據(jù),這種二進(jìn)制代碼形式的程序就是機(jī)器語言程序。相應(yīng)的二進(jìn)制代碼形式的指令稱為機(jī)器指令或機(jī)器碼。缺點(diǎn):機(jī)器語言直接編寫程序十分困難。55采用匯編語言或高級語言編寫的程序又稱為源程序,而機(jī)器語言程序則稱為目標(biāo)程序。源程序(匯編語言/高級語言)人工匯編機(jī)器匯編目標(biāo)程序(機(jī)器語言)實(shí)現(xiàn)“匯編”的兩種方式由于計(jì)算機(jī)只能執(zhí)行機(jī)器語言,往往先用匯編語言或高級語言編寫源程序,然后再轉(zhuǎn)換成目標(biāo)程序。將語言程序翻譯成目標(biāo)程序的過程稱為匯編。564.軟件軟件是指根據(jù)解決問題的思想、方法和過程而編寫的程序的有序集合。軟件按其功能分為應(yīng)用軟件和系統(tǒng)軟件兩大類。應(yīng)用軟件是用戶為解決某種具體問題而編制的程序,如科學(xué)計(jì)算程序、自動控制程序、數(shù)據(jù)處理程序等。系統(tǒng)軟件用于實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)的管理、調(diào)度、監(jiān)視和服務(wù)等,系統(tǒng)軟件分成以下幾類:(1)操作系統(tǒng)(2)語言處理程序(3)標(biāo)準(zhǔn)庫程序(4)服務(wù)性程序總之,軟件系統(tǒng)是在硬件系統(tǒng)的基礎(chǔ)上,為有效地使用計(jì)算機(jī)而配備的。沒有系統(tǒng)軟件,現(xiàn)代計(jì)算機(jī)系統(tǒng)就無法正常地、有效地運(yùn)行。沒有應(yīng)用軟件,計(jì)算機(jī)就不能發(fā)揮效能。571.1.3微型計(jì)算機(jī)的數(shù)制第一章微型計(jì)算機(jī)基礎(chǔ)定義:數(shù)制是指利用符號來計(jì)數(shù)的科學(xué)方法。
分類:在微型計(jì)算機(jī)中經(jīng)常使用的是十進(jìn)制(D)、二進(jìn)制(B)十六進(jìn)制(H)。581.?dāng)?shù)制的種類數(shù)制所使用的數(shù)碼的個數(shù)稱為基,數(shù)制每一位所具有的值稱為權(quán)。(1)十進(jìn)制十進(jìn)制的基為“10”,每位數(shù)字的值都是以該位數(shù)字乘以基數(shù)的冪次來表示,通常將基數(shù)的冪次稱為權(quán),(2)二進(jìn)制二進(jìn)制的基為“2”,即其使用的數(shù)碼為0、1共2個。二進(jìn)制各位的權(quán)是以2為底的冪。(3)十六進(jìn)制十六進(jìn)制的基為“16”,即其使用的數(shù)碼為0~9、A~F共16個,其中A~F相當(dāng)于十進(jìn)制數(shù)的10~15。十六進(jìn)制的權(quán)是以16為底的冪。59(4)二-十進(jìn)制二-十進(jìn)制數(shù)稱為二進(jìn)制編碼的十進(jìn)制數(shù)(BinaryCodedDecimal),簡稱BCD碼。在BCD碼中是用四位二進(jìn)制數(shù)給0~9這十個數(shù)字編碼。*數(shù)制表示:為了區(qū)別以上四種數(shù)制,在數(shù)的后面加寫英文字母來區(qū)別,B、D、H、BCD分別表示為二進(jìn)制數(shù)、十進(jìn)制數(shù)、十六進(jìn)制數(shù)、二-十進(jìn)制數(shù),通常對十進(jìn)制可不加標(biāo)志。若十六進(jìn)制數(shù)是字母A~F打頭,則前面需加一個0。2.?dāng)?shù)制的轉(zhuǎn)換(1)二進(jìn)制、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制數(shù)只需將二進(jìn)制、十六進(jìn)制數(shù)按權(quán)展開后相加即可。例如,十六進(jìn)制的7BDH轉(zhuǎn)化為十進(jìn)制,表示為=1792+176+13=1981D。60(2)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制、十六進(jìn)制數(shù)通常采用除基取余法。例如,十進(jìn)制數(shù)45678D轉(zhuǎn)化為十六進(jìn)制數(shù),表示為0B26EH。(3)二進(jìn)制、十六進(jìn)制數(shù)相互轉(zhuǎn)換
1位十六進(jìn)制數(shù)轉(zhuǎn)換為4位二進(jìn)制數(shù)。(4)BCD碼與十進(jìn)制的相互轉(zhuǎn)換按照BCD的十位編碼與十進(jìn)制的關(guān)系,進(jìn)行轉(zhuǎn)換。613.常用的編碼(1)BCD碼BCD碼是一種具有十進(jìn)制權(quán)的二進(jìn)制編碼,即它是一種既能為計(jì)算機(jī)所接受,又基本上符合人的十進(jìn)制數(shù)運(yùn)算習(xí)慣的二進(jìn)制編碼。BCD碼的種類較多,常用的有8421碼、2421碼、余3碼和格雷碼等,其中最為常用的是8421BCD編碼。62表1.18421BCD碼表十進(jìn)制數(shù)8421BCD碼十進(jìn)制數(shù)8421BCD碼00000B50101B10001B60110B20010B70111B30011B81000B40100B91001B63(2)ASCII編碼ASCII碼是一種較完善的字符編碼,現(xiàn)已成為國際通用的標(biāo)準(zhǔn)編碼,廣泛用于微型計(jì)算機(jī)與外設(shè)的通信。它是用七位二進(jìn)制數(shù)碼來表示的,七位二進(jìn)制數(shù)碼共有128種組合,包括圖形字符96個和控制字符32個。
96個圖形字符包括十進(jìn)制數(shù)字符10個、大小寫英文字母52個和其它字符34個,這類字符有特定形狀,可以顯示在顯示器上或打印出來。
32個控制字符包括回車符、換行符、退格符、設(shè)備控制符和信息分隔符等,這類字符沒有特定形狀,字符本身不能在顯示器上顯示或打印。644.?dāng)?shù)在計(jì)算機(jī)中的表示數(shù)在計(jì)算機(jī)中的表示形式統(tǒng)稱為機(jī)器數(shù),機(jī)器數(shù)有兩個基本特點(diǎn),一是數(shù)的符號數(shù)值化,通常以“0”代表“+”號,以“1”代表“一”號。二是機(jī)器數(shù)的位數(shù)受計(jì)算機(jī)硬件(字長)的限制。(1)無符號數(shù)
把計(jì)算機(jī)字長的所有二進(jìn)制位都用來表示數(shù)值,稱為無符號數(shù)。例如8位機(jī)中的無符號數(shù)
00001001B=
=9
10001001B==13765(2)有符號數(shù)有符號數(shù)一般有三種表示方法,即源碼、反碼和補(bǔ)碼,8位二進(jìn)制的數(shù)表示如表1.2所示。原碼:就是用符號為“0”表示正數(shù),“1”表示負(fù)數(shù),后面再加上數(shù)值位的二進(jìn)制數(shù)。
例如:+4的8位原碼表示為[+4]原=00000100B—4的8位原碼表示為[—4]原=10000100B反碼:正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼是原碼符號位不變、數(shù)值位取反。例如:+4的8位反碼表示為[+4]反=00000100B—4的8位反碼表示為[—4]反=11111011B66補(bǔ)碼:正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼是反碼加1,即原碼符號位不變、數(shù)值位取反加1。例如:
+4的8位補(bǔ)碼表示為[+4]反=00000100B—4的8位補(bǔ)碼表示為[—4]反=11111100B67二進(jìn)制數(shù)碼無符號數(shù)原碼反碼補(bǔ)碼000000000+0+0+0000000011+1+1+1000000102+2+2+2……01111111127+127+127+12710000000128-0-127-12810000001129-1-126-12710000010130-2-125-126……11111101253-125-2-311111110254-126-1-211111111255-127-0-1表1.28位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表示681.2微處理器微處理器是微型計(jì)算機(jī)的核心,不同型號微處理器的結(jié)構(gòu)有所不同。圖1.8是典型的8位微處理器的結(jié)構(gòu)框圖,包括運(yùn)算器、控制器、寄存器三部分。該微處理器的外部采用三總線結(jié)構(gòu),內(nèi)部是單總線結(jié)構(gòu)。69圖1.8微處理器的結(jié)構(gòu)運(yùn)算器由算術(shù)邏輯單元ALU、累加器A、暫存寄存器TR、標(biāo)志寄存器F等部分組成。算術(shù)邏輯單元ALU是微型計(jì)算機(jī)執(zhí)行算術(shù)運(yùn)算和邏輯運(yùn)算的主要部件。累加器A是一個8位寄存器。很多8位雙操作數(shù)運(yùn)算一個操作數(shù)來自A,運(yùn)算結(jié)果又送回A,所以累加器A是使用最頻繁的寄存器。
另一個操作數(shù)可以來自CPU內(nèi)部的寄存器,也可以來自存儲器或I/O接口,它總是通過內(nèi)部總線送來的,由于總線只能分時傳送數(shù)據(jù),故用暫存寄存器在內(nèi)部總線與ALU之間起緩沖作用。
微機(jī)的運(yùn)算器可執(zhí)行加法、減法等算術(shù)運(yùn)算,有些微機(jī)還可以執(zhí)行乘法、除法運(yùn)算,運(yùn)算器執(zhí)行的邏輯運(yùn)算有與、或、求反、異或、清零、移位等。701.2.1運(yùn)算器運(yùn)算器由算術(shù)邏輯單元ALU、累加器A、暫存寄存器TR、標(biāo)志寄存器F等部分組成。1.2.2控制器控制器由指令寄存器IR、指令譯碼器ID及時序與控制電路三部分組成。71控制器由指令寄存器IR、指令譯碼器ID及時序與控制電路三部分組成。微機(jī)工作時,由時序與控制電路按照一定的時間順序發(fā)出一系列控制信號,使微機(jī)各部件能按一定的時間節(jié)拍協(xié)調(diào)一致地工作,從而使指令得以執(zhí)行。一條指令的執(zhí)行分成取指令和執(zhí)行指令兩個階段。具體步驟如下:(1)從存儲器中取回該指令的機(jī)器碼,送指令寄存器IR寄存,直至該指令執(zhí)行完畢。(2)由指令譯碼器ID譯碼,以識別該指令需要執(zhí)行何種操作。(3)由時序與控制電路產(chǎn)生一系列控制信號,送到計(jì)算機(jī)各部件以完成這一指令。時序與控制電路除了接收譯碼器送來的信號外,還接收CPU外部送來的信號,如中斷請求信號、復(fù)位信號等,這些信號由控制總線送入。時序與控制電路產(chǎn)生的控制信號一部分用于CPU內(nèi)部,控制CPU各部件的工作,另一部分通過控制總線輸出,用于控制存儲器和I/O接口的工作。
721.2.3寄存器寄存器用于暫存數(shù)據(jù),暫存存儲器或I/O端口的地址,暫存程序運(yùn)行中的狀態(tài)信息。
通常寄存器分為三大類:數(shù)據(jù)寄存器、地址寄存器和狀態(tài)寄存器。
1.?dāng)?shù)據(jù)寄存器數(shù)據(jù)寄存器用于存放經(jīng)常操作的數(shù)據(jù)、變量和中間結(jié)果。2.地址寄存器地址寄存器用于存放存儲器或I/O端口地址,以縮短指令長度,加快指令運(yùn)行速度,并能靈活修改地址,以便循環(huán)程序處理。其中較為重要的如程序計(jì)數(shù)器PC(ProgramCounter),也稱指令指針I(yè)P(InstructionPointer)是管理程序執(zhí)行次序的特殊功能寄存器。
73程序的執(zhí)行有兩種情況,即順序執(zhí)行和跳轉(zhuǎn),程序計(jì)數(shù)器具有以下功能:(1)復(fù)位功能。微機(jī)通電時有上電復(fù)位,運(yùn)行時有操作復(fù)位。復(fù)位時微機(jī)進(jìn)入初始狀態(tài),PC的內(nèi)容將自動清零。程序計(jì)數(shù)器0002H0001H0000HPC程序存儲器PC始終指示下一條將要執(zhí)行指令的地址74(2)計(jì)數(shù)功能。微處理器讀取一條指令時,總是將PC的內(nèi)容作為指令地址,每取回指令代碼的一個字節(jié),PC的內(nèi)容自動加1。因此,在執(zhí)行指令的階段,PC的內(nèi)容已是按順序排列的下一條指令的地址。(3)置位功能。PC能直接接收內(nèi)部總線送來的數(shù)據(jù),并用該數(shù)據(jù)取代其原有的內(nèi)容,程序發(fā)生跳轉(zhuǎn)必須借助這一功能來實(shí)現(xiàn)。程序計(jì)數(shù)器作用0002H0001H0000H00C2H753.狀態(tài)寄存器
狀態(tài)寄存器用于存放指令(處理器)的運(yùn)行狀態(tài),如:微處理器工作狀態(tài)(監(jiān)控態(tài)或用戶態(tài))、存儲器工作狀態(tài)(或管理模式)、指令執(zhí)行結(jié)果的狀態(tài)(比如是否溢出等)、中斷狀態(tài)(如是否允許中斷)等。各微機(jī)其狀態(tài)寄存器的內(nèi)容不同。其中較為重要的標(biāo)志寄存器F(Flag)又稱處理器狀態(tài)字PSW(ProcessorStatusWord),用來存放ALU運(yùn)算結(jié)果的一些特征,如溢出(OV)、進(jìn)位(C)、輔助進(jìn)位(AC)、奇偶(P)、結(jié)果為零(Z)等。761.3存儲器
存儲器是微機(jī)的重要組成部分。由于存儲器存儲了需要處理的數(shù)據(jù)和程序,使微機(jī)具有了“記憶功能”,微機(jī)才能脫離人的直接干預(yù)而自動地工作。衡量存儲器的性能指標(biāo)主要有三個,即容量、速度和成本。
第一章微型計(jì)算機(jī)基礎(chǔ)77
為了在一個存儲器系統(tǒng)中兼顧以上三個方面的指標(biāo),目前在計(jì)算機(jī)系統(tǒng)中通常采用三級存儲器結(jié)構(gòu),即使用高速緩沖存儲器、主存儲器和輔助存儲器,由這三者構(gòu)成一個統(tǒng)一的存儲系統(tǒng)。781.3.1存儲器分類
1.按存儲介質(zhì)分類半導(dǎo)體存儲器、光電存儲器以及光盤存儲器等。
2.按存取方式分類隨機(jī)存取存儲器(RAM)只讀存儲器(ROM)(1)隨機(jī)訪問存儲器RAM
隨機(jī)訪問存儲器(RandomAccessMemory)又稱讀寫存儲器,指通過指令可以隨機(jī)地對各個存儲單元進(jìn)行訪問。
(2)只讀存儲器ROM
只讀存儲器(ReadOnlyMemory)指在微機(jī)系統(tǒng)在線工作過程中,對其內(nèi)容只能讀出不能寫入的存儲器。它通常用來存放固定不變的程序,漢字字型庫、字符等不變的數(shù)據(jù)。
79隨著半導(dǎo)體技術(shù)的發(fā)展,只讀存儲器也出現(xiàn)了不同的種類,1)可擦除可編程只讀存儲器EPROM(ErasablePROM),2)電可擦除可編程只讀存儲器EEPROM(ElectricalEPROM),3)快擦寫型存儲器(F1ashMemory)。803.按在微機(jī)中的作用分類1)主存儲器(內(nèi)存)、2)輔助存儲器(外存)、3)緩沖存儲器等。主存儲器速度快,但容量較小,位價格較高。輔存速度慢,容量大,位價格較低。緩沖存儲器用在兩個不同工作速度的部件之間,在交換信息過程中起緩沖作用。
81存儲器分類如下圖所示821.3.2存儲器結(jié)構(gòu)地址譯碼器831.3.2存儲器結(jié)構(gòu)通常一個存儲器系統(tǒng)由以下幾部分組成。1.基本存儲單元一個基本存儲單元可以存放一位二進(jìn)制信息,其內(nèi)部具有兩個穩(wěn)定的且相互對立的狀態(tài),并能夠在外部對其狀態(tài)進(jìn)行識別和改變。2.存儲體
M表示M個存儲單元,N表示每個存儲單元存放的數(shù)據(jù),故M×N個表示能存儲的總的二進(jìn)制信息,843.地址譯碼器作用:就是用來接收CPU送來的地址信號并對它進(jìn)行譯碼,選擇與此地址碼相對應(yīng)的存儲單元,以便對該單元進(jìn)行讀/寫操作。
854.片選與讀/寫控制片選信號用以實(shí)現(xiàn)芯片的選擇。對于一個芯片來講,只有當(dāng)片選信號有效時,CPU才能對其進(jìn)行讀/寫操作。865.I/O及其它外圍電路
I/O電路位于系統(tǒng)數(shù)據(jù)總線與被選中的存儲單元之間,用來控制數(shù)據(jù)的讀出與寫入。87靜態(tài)RAM存儲器芯片Intel2114Intel2114是一種1K×4的靜態(tài)RAM芯片,其最基本的存儲單元就是如上所述的六管存儲電路。另外常用的靜態(tài)RAM芯片還有Intel6116、6264、62256等。
Intel2114的外部管腳881.3.5堆棧微型計(jì)算機(jī)中的堆棧是RAM中的一個特殊區(qū)域,是一組按照“后進(jìn)先出”的方式工作的、用于暫存數(shù)據(jù)的存儲單元。1.堆棧的作用調(diào)用常用子程序。
注意:保護(hù)斷點(diǎn)地址和保護(hù)現(xiàn)場。2.堆棧操作
入棧:將數(shù)據(jù)送入堆棧;PUSHA;
出棧:堆棧中內(nèi)容取出來的操作;POPA
893.堆棧指針
堆棧指針SP(StackPointer)是一個專用地址寄存器,它指明棧頂?shù)奈恢茫?fù)責(zé)管理堆棧工作。根據(jù)SP變化規(guī)律的不同,堆棧分為兩種類型,即向上生長型和向下生長型,如下圖所示。
MCS-51:進(jìn)棧:SP先加1,后寫數(shù)據(jù)出棧:后讀數(shù)據(jù),SP后減1,901.4微機(jī)工作流程計(jì)算機(jī)之所以能在沒有人干預(yù)的情況下自動地完成各種工作任務(wù),是因?yàn)槿耸孪葹樗幹屏送瓿蛇@些任務(wù)所需的工作程序,并把程序存放到存儲器中,這就是程序存儲。計(jì)算機(jī)的工作過程就是執(zhí)行程序的過程,控制器按照預(yù)先規(guī)定好的順序,從存儲器中一條一條地取出指令,分析指令,根據(jù)不同的指令向各個部件發(fā)出完成該指令所規(guī)定操作的控制信號,這就是程序控制。91
下面以“10+20求和運(yùn)算,結(jié)果送30單元”的操作過程為例,分析微機(jī)的工作流程。匯編語言源程序如下。MOVAL,10;AL=10ADDAL,20;AL=AL+20=10+20=30MOV[30],AL;AL送30單元
HLT;系統(tǒng)暫停功能助記符機(jī)器碼說明立即數(shù)m送ALMOVAL,m01110100m雙字節(jié)指令A(yù)L內(nèi)容加立即數(shù)nADDAL,n00110100n結(jié)果在AL中AL內(nèi)容送M為地址的存儲單元MOV[M],AL01010011M雙字節(jié)指令停止操作HLT01000011單字節(jié)指令92
對上述匯編語言源程序進(jìn)行匯編,將其翻譯成機(jī)器碼。MOVAL,10;0111010000001010740AHADDAL,20;00110100000101003414HMOV[30],AL;
0101001100011110
531EHHLT;
01000011
43H93將機(jī)器碼存入從00單元開始的存儲器中,即程序存儲。如下圖所示。94微機(jī)自動的運(yùn)行,實(shí)施程序控制,步驟如下。1.取指令階段微機(jī)接通電源,復(fù)位電路使程序計(jì)數(shù)器PC(也稱指令指針I(yè)P)的內(nèi)容自動置0,不同型號微機(jī)的PC初值可能不同,即程序的起始地址不同,它指出了第一條指令所在的存儲單元地址,在時鐘脈沖作用下,CPU開始取指令。
95①PC的內(nèi)容00H送地址寄存器AR,然后它的內(nèi)容自動加1變?yōu)?1H,指向下一個字節(jié)。AR把地址碼00H通過地址總線送至存儲器,經(jīng)存儲器內(nèi)部的地址譯碼器譯碼后,選中00單元。②CPU內(nèi)的控制電路發(fā)出存儲器讀命令,并施加存儲器的輸出允許端。③存儲器00單元的內(nèi)容74H輸出到數(shù)據(jù)總線上,并把它送至數(shù)據(jù)寄存器DR。④由于指令的第一個字節(jié)必然是操作碼,故CPU發(fā)出有關(guān)控制信號,將其送到指令譯碼器進(jìn)行譯碼,準(zhǔn)備進(jìn)入執(zhí)行階段。
962.執(zhí)行指令經(jīng)指令譯碼后,CPU知道操作碼74H的功能是將緊跟其后的操作數(shù)送累加器AL,故發(fā)出相關(guān)控制信號,以執(zhí)行這條指令。①PC的內(nèi)容01H送地址寄存器AR,然后它的內(nèi)容自動加1變?yōu)?2H,指向下一個字節(jié)。AR把地址碼01H通過地址總線送至存儲器,經(jīng)存儲器內(nèi)部的地址譯碼器譯碼后,選中01單元。②CPU內(nèi)的控制電路發(fā)出存儲器讀命令,并施加到存儲器的輸出允許端。③存儲器01單元的內(nèi)容0AH輸出到數(shù)據(jù)總線上,并把它送至數(shù)據(jù)寄存器DR。④通過前面的指令譯碼,CPU已經(jīng)知道這是送往累加器AL的操作數(shù),故把它送到累加器AL。
97
CPU緊接著取第二條指令,過程與前面的分析類似。1.5輸入輸出接口對于不同的應(yīng)用場合,可為微機(jī)配置不同的外部設(shè)備,以擴(kuò)展系統(tǒng)功能。然而,外部設(shè)備的差異很大,各自的功能不同,工作速度不同。因此,外部設(shè)備與CPU聯(lián)接時,不像CPU與存儲器相連那樣簡單。存儲器功能單一,品種有限,其存取速度基本上可以和CPU的工作速度相匹配,這些就決定了存儲器可以通過總線和CPU相連,即直接將存儲器掛在系統(tǒng)總線上。
98外部設(shè)備的功能卻是多種多樣的??梢允菃我坏妮斎朐O(shè)備或輸出設(shè)備,也可以既作為輸入設(shè)備又作為輸出設(shè)備,還可作為檢測設(shè)備或控制設(shè)備。從信息傳輸?shù)男问絹砜?,一個具體的設(shè)備,它所使用的信息可能是數(shù)字式的,也可能是模擬式的。從信息傳輸?shù)姆绞絹砜?,有些外設(shè)的信息傳輸是并行的,有些外設(shè)的信息傳輸是串行的。
99
為了使CPU能適應(yīng)各種各樣的外設(shè),就需要在CPU與外設(shè)之間增加一個接口電路,由它完成相應(yīng)的信號轉(zhuǎn)換、速度匹配、數(shù)據(jù)緩沖等功能,以實(shí)現(xiàn)CPU與外設(shè)的連接,完成相應(yīng)的輸入輸出操作。值得注意的是,加入I/O接口以后,CPU就不再直接對外設(shè)進(jìn)行操作,而是通過接口來完成。1001.5.1I/O接口的功能1.CPU與I/O設(shè)備之間的信號
CPU和外部設(shè)備之間傳輸?shù)男畔⒂幸韵聨最悺?1)數(shù)據(jù)信息
CPU和外部設(shè)備交換的基本信息就是數(shù)據(jù)。數(shù)據(jù)信息大致分為數(shù)字量、模擬量和開關(guān)量等三種形式。數(shù)字量:是指由鍵盤、磁盤機(jī)等輸入的信息,或者主機(jī)送給打印機(jī)、顯示器及繪圖儀的信息,是以二進(jìn)制數(shù)、BCD碼或ASCII碼表示的數(shù)據(jù)及字符,通常是8位或16位。
101模擬量:當(dāng)微機(jī)系統(tǒng)應(yīng)用于實(shí)時控制,多數(shù)情況下的輸入信息就是現(xiàn)場的連續(xù)變化的物理量,如溫度、濕度、位移、壓力、流量等。這些物理量一般通過傳感器先變成電壓信號,再經(jīng)過模/數(shù)(A/D)轉(zhuǎn)換,才能送入微機(jī)系統(tǒng)進(jìn)行處理,處理之后,微機(jī)輸出的數(shù)字量要經(jīng)過數(shù)/模(D/A)轉(zhuǎn)換,變?yōu)槟M信號后經(jīng)功率放大才能用于控制現(xiàn)場。開關(guān)量:是指二狀態(tài)量,如開關(guān)的閉合和斷開,閥門的打開和關(guān)閉,電機(jī)的運(yùn)轉(zhuǎn)與停止,LED燈的亮與滅等,可以用一位二進(jìn)制數(shù)來表示這兩個不同的狀態(tài)。上述這些數(shù)據(jù)信息,其傳輸方向通常是雙向的,可以由外設(shè)通過接口傳遞給微機(jī)系統(tǒng),或由微機(jī)系統(tǒng)通過接口傳遞給外設(shè)。102(2)狀態(tài)信息狀態(tài)信息反映了當(dāng)前外設(shè)所處的工作狀態(tài),是由外設(shè)通過接口傳往CPU供其查詢。如用“準(zhǔn)備好”(READY)信號來表明輸入設(shè)備是否準(zhǔn)備就緒,用“忙”(BUSY)信號表示輸出設(shè)備是否處于空閑狀態(tài)等。(3)控制信息控制信息是CPU通過接口發(fā)送給外設(shè)的,用于控制外設(shè)的工作。常見的有啟動(START)信號,用于啟動一個外設(shè)工作,選通(STROBE)信號,往外設(shè)送入一個數(shù)據(jù)等。控制信息往往隨著外設(shè)的具體工作和電路原理的不同而有不同的含義。1032.接口電路的功能接口的作用是在系統(tǒng)總線和外部設(shè)備之間架起一座橋梁,以實(shí)現(xiàn)CPU與外部設(shè)備之間的信息傳輸。為完成以上任務(wù),接口應(yīng)具備的常用功能如下。(1)端口尋址功能微機(jī)系統(tǒng)中往往接有多個外設(shè),一個外設(shè)中也可能與CPU傳送多種信息(如數(shù)據(jù)信息、狀態(tài)信息、控制信息),而CPU在同一時間里只能與一個端口交換信息,因此需要通過接口的地址譯碼電路對端口進(jìn)行尋址。一般來說,通過高位地址產(chǎn)生外設(shè)的片選信號,低位地址作為芯片內(nèi)部寄存器或鎖存器尋址,以選定所需的端口,只有被選中的端口才能與CPU交換信息。104(2)輸入/輸出功能接口要根據(jù)送來的讀/寫信號決定當(dāng)前進(jìn)行的是輸入操作還是輸出操作,并且隨之能從總線上接收從CPU送來的數(shù)據(jù)和控制信息,或者將數(shù)據(jù)或狀態(tài)信息送到總線上。(3)數(shù)據(jù)緩沖功能輸入/輸出接口是掛在系統(tǒng)總線上的,應(yīng)具備緩沖的功能。接口中一般都設(shè)置有數(shù)據(jù)寄存器或鎖存器,以解決高速的主機(jī)與低速的外設(shè)之間的速度匹配問題,避免因主機(jī)與外設(shè)的速度不匹配而丟失數(shù)據(jù)。輸入時要緩沖,輸出時要鎖存、驅(qū)動等。105(4)信號轉(zhuǎn)換功能外設(shè)提供的數(shù)據(jù)、狀態(tài)和控制信號可能與微機(jī)的總線信號不兼容,所以接口電路應(yīng)進(jìn)行相應(yīng)的信號轉(zhuǎn)換。信號轉(zhuǎn)換包括CPU信號與外設(shè)信號間的邏輯關(guān)系、時序匹配、并串轉(zhuǎn)換和電平轉(zhuǎn)換等。微機(jī)輸入/輸出的信號大多采用TTL電平,高電平+5V代表邏輯“1”,低電平0V代表邏輯“0”。如果外設(shè)的信號不是TTL電平,那么在這些外設(shè)與微機(jī)連接時,I/O接口電路要完成電平轉(zhuǎn)換的工作。(5)可編程功能接口電路大多由可編程接口芯片組成,可以在不改變硬件電路的情況下,只要修改接口程序就可以改變接口的工作方式,提高了接口的靈活性和可擴(kuò)充性。
106(6)聯(lián)絡(luò)功能當(dāng)接口從總線上接收一個數(shù)據(jù)或者把一個數(shù)據(jù)送到總線上以后,能發(fā)一個就緒信號,以通知CPU數(shù)據(jù)傳輸已經(jīng)完成,從而準(zhǔn)備進(jìn)行下一次傳輸。在接口設(shè)計(jì)中,常常要考慮對錯誤的檢測問題。如傳輸錯誤和覆蓋錯誤等,如果發(fā)現(xiàn)有錯,則對狀態(tài)寄存器中的相應(yīng)位進(jìn)行置位以便提供給CPU查詢。除此之外,一些接口還可根據(jù)具體情況設(shè)置其它的檢測信息。(7)中斷管理功能作為中斷控制器的接口應(yīng)該具有發(fā)送中斷請求信號和接收中斷響應(yīng)信號的功能,而且還有發(fā)送中斷類型碼的功能。此外,如果總線控制邏輯中沒有中斷優(yōu)先級管理電路,那么,接口還應(yīng)該具有中斷優(yōu)先級管理功能。1073.接口部件的I/O端口接口中通常包含一組寄存器,當(dāng)CPU與外設(shè)之間進(jìn)行數(shù)據(jù)傳送時,不同的信息進(jìn)入不同的寄存器。把I/O接口中能被CPU直接訪問的寄存器或某些特定器件稱為I/O端口(Port)。一個接口可能含有一個或幾個端口。其中,用來存放來自CPU和內(nèi)存的數(shù)據(jù)或外設(shè)送往CPU和內(nèi)存的數(shù)據(jù)的端口稱為數(shù)據(jù)端口,簡稱數(shù)據(jù)口。用來存放外設(shè)或接口本身當(dāng)前工作狀態(tài)的端口,稱為狀態(tài)口。CPU通過對狀態(tài)口的訪問可以檢測并了解外設(shè)或接口當(dāng)前的狀態(tài)。用來存放CPU發(fā)出的控制外設(shè)或接口執(zhí)行具體操作的命令的端口稱為控制口。一般來講。數(shù)據(jù)端口可讀可寫,狀態(tài)端口只讀,而控制端口是只寫。微機(jī)和外部設(shè)備通過接口的I/O端口進(jìn)行溝通。
108系統(tǒng)中每個I/O端口都有一個地址,稱為端口地址。CPU要訪問接口中的某一端口,需要先通過地址總線輸出端口地址,一般用高位地址經(jīng)地址譯碼選中接口芯片,用低位地址選擇具體要訪問的端口,在讀/寫命令的配合下實(shí)現(xiàn)數(shù)據(jù)的傳送。I/O端口的編制方法有兩種,及統(tǒng)一編址和獨(dú)立編址。(1)統(tǒng)一編址統(tǒng)一編址又稱存儲器映像編址,把每一端口視為一個存儲單元,將它們和存儲單元聯(lián)合在一起編排地址,即I/O端口和存儲器使用統(tǒng)一的地址空間。這樣,可利用訪問內(nèi)存的指令去訪問I/O端口,而不需要專門的I/O指令。CPU采用存儲器讀寫控制信號,并經(jīng)地址譯碼控制來確定是訪問存儲器還是訪問I/O端口。109(2)獨(dú)立編址獨(dú)立編址方式是指I/O端口的地址空間和存儲器地址空間是獨(dú)立的、分開的,即端口地址不占用存儲器的地址空間。微機(jī)系統(tǒng)中I/O端口數(shù)較存儲單元數(shù)少很多,.所以I/O端口地址空間小于存儲器地址空間,CPU只需用地址總線的低位部分對I/O端口尋址,如PC機(jī)僅使用A9–A0對I/O端口進(jìn)行尋址。通過控制總線的/M或IO/來確定CPU到底要訪問內(nèi)存空間還是I/O空間。為確保控制總線發(fā)出正確的信號,系統(tǒng)提供了專用的輸入/輸出指令(IN和OUT)來實(shí)現(xiàn)數(shù)據(jù)傳送。1101.5.2數(shù)據(jù)傳輸控制方式輸入/輸出操作對微機(jī)來講是必不可少的。由于外設(shè)的工作速度相差很大,對接口的要求也不盡相同,因此,對CPU來講,輸入/輸出數(shù)據(jù)的傳輸控制方式就是一個較復(fù)雜的問題,應(yīng)根據(jù)不同的外設(shè)要求選擇不同的傳輸控制方式以滿足數(shù)據(jù)傳輸?shù)囊?。一般來說,CPU與外設(shè)之間傳輸數(shù)據(jù)的控制方式有三種,即程序方式、中斷方式和DMA方式。這三種控制方式控制傳輸?shù)臋C(jī)制各不相同,但要完成輸入輸出操作都需要有相應(yīng)的接口電路的支持。
1111.5.2.1程序方式程序方式就是指用程序來控制進(jìn)行輸入輸出數(shù)據(jù)傳輸?shù)姆绞健o@然,這是一種軟件控制方式。根據(jù)程序控制的方法不同,又可分為無條件傳送方式和條件傳送方式,其中后者亦稱為查詢方式。1.5.2.2中斷方式中斷方式就是
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樁基工程勞務(wù)分包施工方案
- 民居圍墻大門施工方案
- 裝飾砂漿施工方案
- 甘肅防火電纜托架施工方案
- 安徽大樓消防維保施工方案
- 2025年玻璃鋼車門行業(yè)深度研究分析報告
- 中國飼料行業(yè)市場需求預(yù)測與投資戰(zhàn)略規(guī)劃分析報告
- 固原半導(dǎo)體設(shè)備項(xiàng)目申請報告
- 2025年芯料拉絲造粒機(jī)項(xiàng)目投資可行性研究分析報告
- 養(yǎng)殖場天然氣配送服務(wù)協(xié)議
- 奶茶督導(dǎo)述職報告
- 山東萊陽核電項(xiàng)目一期工程水土保持方案
- 白熊效應(yīng)(修訂版)
- 小學(xué)數(shù)學(xué)知識結(jié)構(gòu)化教學(xué)
- 視頻監(jiān)控維保項(xiàng)目投標(biāo)方案(技術(shù)標(biāo))
- 社會組織能力建設(shè)培訓(xùn)
- 立項(xiàng)報告蓋章要求
- 2022年睪丸腫瘤診斷治療指南
- 被執(zhí)行人給法院執(zhí)行局寫申請范本
- 主變壓器試驗(yàn)報告模板
- 安全防護(hù)通道施工方案
評論
0/150
提交評論