《單片機原理、接口與C51應用程序設計》課件第8章_第1頁
《單片機原理、接口與C51應用程序設計》課件第8章_第2頁
《單片機原理、接口與C51應用程序設計》課件第8章_第3頁
《單片機原理、接口與C51應用程序設計》課件第8章_第4頁
《單片機原理、接口與C51應用程序設計》課件第8章_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章MCS-51系統(tǒng)擴展8.1概述

8.2存儲器擴展

8.3I/O口的擴展

8.1概述

MCS-51單片機片內(nèi)集成了CPU、I/O口、定時器/計數(shù)器、中斷系統(tǒng)、存儲器等計算機的基本部件,但在較為復雜的系統(tǒng)設計中,若片內(nèi)資源不夠用,就需要對系統(tǒng)資源進行擴展。系統(tǒng)擴展主要包括外部擴展存儲器、I/O接口和管理功能器件等。

MCS-51單片機的片外具有如圖8.1所示的三總線結(jié)構(gòu)。圖8.1MCS-51系列單片機片外總線結(jié)構(gòu)

1.地址總線

地址總線(AddressBus,AB)用于傳送單片機送出的地址信號,以便訪問外部存儲器單元或I/O端口。地址總線是單向的,地址信號只由單片機向外發(fā)出。地址總線的數(shù)目決定了可直接訪問的存儲器單元的數(shù)目。

MCS-51單片機的16位地址線的高8位由P2口提供,低8位由P0口提供。P2口作為地址線時,具有輸出鎖存功能,輸出地址能保留到下一次新地址的輸出。當外擴存儲器小于64KB時,只用P2口的其中一部分;當外部存儲器小于256B時,根本不用P2口。P0口作為低8位地址線時,無地址鎖存功能,需外加地址鎖存器來鎖存輸出的地址信息。地址鎖存的控制由單片機的地址鎖存控制信號ALE提供。常用的地址鎖存器有帶三態(tài)緩沖輸出的8D鎖存器74LS373、帶有清除端的74LS273,其引腳圖如圖8.2所示。圖8.274LS373、74LS273引腳圖圖8.374LS373、74LS273與單片機的連接

2.數(shù)據(jù)總線

數(shù)據(jù)總線(DataBus,DB)用于在單片機與存儲器之間或單片機與I/O端口之間傳送數(shù)據(jù)。單片機數(shù)據(jù)總線的位數(shù)與單片機處理數(shù)據(jù)的字長一致。例如,MCS-51單片機是8位字長,所以數(shù)據(jù)總線的位數(shù)也是8位。數(shù)據(jù)總線是雙向的,即可以進行兩個方向的數(shù)據(jù)傳送。MCS-51單片機8位的數(shù)據(jù)總線由P0口提供。P0作為數(shù)據(jù)總線時,不需外加其它芯片。在進行系統(tǒng)擴展時,P0口時分地作為數(shù)據(jù)總線和地址總線。

3.控制總線

控制總線(ControlBus,CB)實際上就是一組控制信號線,包括單片機發(fā)出的以及從其它部件送給單片機的各種控制或聯(lián)絡信號。對于一條控制信號線來說,其傳送方向是單向的,但是由不同方向的控制信號線組合地控制總線則表示為雙向的。系統(tǒng)擴展時用到的控制信號主要有下列4種。圖8.4MCS-51系列單片機系統(tǒng)擴展結(jié)構(gòu)

8.2存儲器擴展

8.2.1程序存儲器的擴展

1.常見程序存儲器芯片

常用的EPROM有2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等,其中2764的引腳如圖8.5所示,對應的操作如表8.1所示。圖8.52764的引腳圖表8.1對2764的操作圖8.6單片2764與單片機的連接圖8.7通過線選法實現(xiàn)了兩片2764擴展成16KB程序存儲器。圖8.7兩片2764與單片機的連接

3)譯碼法

譯碼法就是利用譯碼器對系統(tǒng)的高位地址譯碼,以譯碼器的輸出作為存儲芯片的片選信號。常用的譯碼器有74LS139(雙2-4譯碼器)和74LS138(3-8譯碼器)等,它們的CMOS型芯片分別是74HC139和74HC138。74LS138的引腳圖如圖8.8所示,其邏輯功能如表8.2所示。譯碼法適用于大容量多芯片存儲器擴展。圖8.874LS138的引腳圖表8.274LS138的邏輯功能

對于74LS138輸入端A2A1A0的不同組合,有唯一的輸出端為低電平,可用該低電平作為存儲器的片選信號。圖8.9為采用譯碼法實現(xiàn)4片2764擴展成32KB的程序存儲器。單片機地址總線P2.7、P2.6和P2.5通過74LS138譯碼器形成4個2764的片選信號,譯碼器的輸出端Y0、Y1、Y2和Y3分別與4片2764的片選線相連。譯碼法的特點是每片2764的地址空間是唯一的。圖8.9譯碼法實現(xiàn)4片2764與MCS-51單片機的連接圖8.106264的引腳圖表8.36264的操作

2.?RAM的擴展

(1)低8位地址線尋址的外部數(shù)據(jù)區(qū)。此區(qū)域?qū)ぶ房臻g為256B。CPU可以使用下列讀/寫指令來訪問此存儲區(qū):

讀存儲器數(shù)據(jù)指令:MOVX

A,@Ri。

寫存儲器數(shù)據(jù)指令:MOVX@Ri,A。

由于8位尋址指令字節(jié)少,程序運行速度快,所以經(jīng)常被采用。

(2)?16位地址線尋址的外部數(shù)據(jù)區(qū)。當外部RAM容量較大,要訪問RAM地址空間大于256B時,需要采用如下16位尋址指令:

讀存儲器數(shù)據(jù)指令:MOVX

A,@DPTR。

寫存儲器數(shù)據(jù)指令:MOVX@DPTR,A。

擴展電路如圖8.11所示。圖8.11單片6264與單片機的連接

3.綜合擴展

在單片機應用系統(tǒng)中,經(jīng)常既要擴展程序存儲器又要擴展數(shù)據(jù)存儲器。采用線選法擴展2片2764和2片6264的電路連接圖如圖8.12所示。圖中,P2.5直接接到2764(1)和6264(1)的片選,P2.6直接接到2764(2)和6264(2)的片選。每次保證P2.5和P2.6中僅有一個為低電平,ROM和RAM各選中一個。圖8.12ROM和RAM的綜合擴展(線選法) 8.3I/O口的擴展

8.3.1概述

1.?I/O接口的作用

(1)速度協(xié)調(diào)。外設的速度快慢差異很大(高速磁盤每秒提供幾十位數(shù)據(jù),而繼電器幾秒鐘提供不了一位數(shù)據(jù)),所以外設只能工作于異步方式,即只有外設有數(shù)據(jù)傳輸時才進行I/O操作,所以要在CPU和外設之間進行速度協(xié)調(diào)。

(2)數(shù)據(jù)鎖存。數(shù)據(jù)輸出都要通過公用數(shù)據(jù)總線,且CPU速度很快,數(shù)據(jù)在總線上停留的時間不能滿足慢速外設的數(shù)據(jù)接收要求,需要將輸出的數(shù)據(jù)先放在鎖存器中,所以輸出接口電路應包含輸出鎖存器。

(3)三態(tài)緩沖。輸入設備向單片機輸入數(shù)據(jù)也要通過公用數(shù)據(jù)總線。為了滿足高速CPU的需要,先將外設輸入的數(shù)據(jù)放在輸入緩沖器中,所以輸入接口電路應包含三態(tài)緩沖器。

(4)數(shù)據(jù)轉(zhuǎn)換。數(shù)據(jù)轉(zhuǎn)換主要包括ADC、DAC、串/并轉(zhuǎn)換、并/串轉(zhuǎn)換和電平轉(zhuǎn)換等。

從上述分析可知,對MCS-51單片機的I/O口進行擴展時,對于輸出設備的接口電路要提供鎖存器,對輸入設備的接口電路要提供輸入三態(tài)緩沖電路。

2.?I/O接口的編址方式

I/O接口的編址方式有統(tǒng)一編址方式和獨立編址方式兩種。統(tǒng)一編址方式是指I/O接口與RAM統(tǒng)一編址,I/O接口共用存儲器的地址空間,每個I/O端口視為一個存儲單元,用訪問RAM的指令訪問I/O口。獨立編址方式是指外部I/O接口有獨立的地址空間,有專用I/O控制信號和I/O指令,I/O接口獨立編址,不占用存儲器的地址空間。MCS-51采用統(tǒng)一編址方式。MCS-51單片機有片內(nèi)I/O接口和擴展I/O接口。片內(nèi)I/O接口寄存器在SFR中,使用片內(nèi)數(shù)據(jù)存儲器空間;擴展I/O接口使用片外數(shù)據(jù)存儲器地址空間。

3.單片機I/O的直接輸入/輸出

在簡單系統(tǒng)中,若用有內(nèi)部存儲器的芯片,則無需擴展外部存儲器,此時P0、P1、P2、P3都可以作為通用I/O口使用。由于P0、P1、P2、P3輸入數(shù)據(jù)時均可以輸入緩沖,輸出時均可以鎖存,并且具有一定的負載能力,所以I/O口可以直接接外部設備,如開關、發(fā)光二極管、打印機等。

4.簡單I/O口的擴展

簡單I/O口的擴展就是指通過數(shù)據(jù)緩沖器和鎖存器來擴展I/O口,如用74LS244、74LS245等三態(tài)緩沖器擴展輸入口,用74LS273、74LS373等鎖存器擴展輸出口。實際上只要具有輸入三態(tài)、輸出鎖存的電路都可以用作I/O口的擴展。

圖8.13是用74LS244和74LS373擴展I/O口的電路圖。圖8.13用74LS244和74LS373擴展I/O口

74LS244是一種8位的三態(tài)緩沖器,其引腳如圖8.14(a)所示。74LS373是有8個輸入端D0~D7,8個輸出端Q0~Q7的鎖存器,其引腳如圖8.14(b)所示。圖8.1474LS244緩沖器和74LS373鎖存器引腳8.3.2可編程芯片8155

1.?8155的結(jié)構(gòu)與引腳

8155采用40引腳,雙列直插式封裝,單一+5V電源供電,其引腳排列如圖8.15所示,其邏輯結(jié)構(gòu)如圖8.16所示。圖8.158155引腳圖圖8.168155邏輯結(jié)構(gòu)圖表8.48155的RAM和I/O口地址分配

3.?8155寄存器

8155內(nèi)部共有6個寄存器。其中,命令寄存器(只寫)和狀態(tài)寄存器(只讀)共用一個地址×××××000B,故稱命令/狀態(tài)寄存器,由讀/寫指令來區(qū)別;定時器寄存器的高8位和低8位各有其地址,為×××××101B和×××××100B。

1)命令寄存器

命令寄存器只能寫,不能讀??梢园岩粋€命令寫入×××××000B地址中改變命令寄存器的內(nèi)容來實現(xiàn)編程,即控制I/O接口的工作方式和數(shù)據(jù)流向。命令寄存器的格式及功能如圖8.17所示。圖8.17命令寄存器的格式及功能

2)狀態(tài)寄存器

狀態(tài)寄存器只能讀出,不能寫入,包含7位,其中6位用于表示A口和B口的狀態(tài),1位表示定時器/計數(shù)器的狀態(tài)。狀態(tài)寄存器的位格式如圖8.18所示。圖8.18狀態(tài)寄存器位格式

3)?PA、PB寄存器

PA、PB寄存器的引腳分別為PA0~PA7、PB0~PB7,地址分別為×××××001B、×××××010B。PA、PB寄存器的功能是按照命令寄存器的內(nèi)容對PA、PB口的工作方式進行控制。

4)?PC寄存器

PC寄存器的引腳為PC0~PC5,地址為×××××011B,由命令寄存器的內(nèi)容對PC口的工作方式進行控制。PC口的工作方式如表8.5所示。表8.5PC口的工作方式

5)?8155的定時器/計數(shù)器

8155片內(nèi)的定時器/計數(shù)器是一個14位的減計數(shù)器。計數(shù)器分為高6位和低8位寄存器,高字節(jié)地址為×××××101B,低字節(jié)地址為×××××100B,其格式如圖8.19所示。計數(shù)器的計數(shù)初值由程序預置,

溫馨提示

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

評論

0/150

提交評論