《單片機(jī)原理及工程應(yīng)用》課件-第6章 系統(tǒng)擴(kuò)展_第1頁
《單片機(jī)原理及工程應(yīng)用》課件-第6章 系統(tǒng)擴(kuò)展_第2頁
《單片機(jī)原理及工程應(yīng)用》課件-第6章 系統(tǒng)擴(kuò)展_第3頁
《單片機(jī)原理及工程應(yīng)用》課件-第6章 系統(tǒng)擴(kuò)展_第4頁
《單片機(jī)原理及工程應(yīng)用》課件-第6章 系統(tǒng)擴(kuò)展_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

16.1單片機(jī)系統(tǒng)總線的形成最小應(yīng)用系統(tǒng)2系統(tǒng)總線形成電路地址總線:

P2口作為高8位地址總線PO口為地址/數(shù)據(jù)分時復(fù)用口。它分時用作低8位地址總線和8位雙向數(shù)據(jù)總線。因此,構(gòu)成系統(tǒng)總線時,應(yīng)加1個鎖存器74LS373,用于鎖存低8位地址信號A7~A0,這樣就構(gòu)成了16位地址線,確定了其最大尋址空間為216=64KB。3數(shù)據(jù)總線:P0口作為數(shù)據(jù)總線D7~D0。數(shù)據(jù)總線是雙向三態(tài)總線??刂瓶偩€:

系統(tǒng)擴(kuò)展時常用的控制信號有:ALE——地址鎖存允許信號。當(dāng)CPU訪問外部部件時,利用ALE信號的正脈沖鎖存出現(xiàn)在P0口的低8位地址。4/PSEN——片外程序存儲器訪問允許信號,低電平有效。當(dāng)CPU訪問外部程序存儲器時,該信號有效,CPU通過數(shù)據(jù)總線讀回指令或常數(shù)。擴(kuò)展外部程序存儲器時,用該信號作為程序存儲器的讀出允許信號。當(dāng)CPU訪問外部數(shù)據(jù)存儲器期間,該信號無效。/RD——片外數(shù)據(jù)存儲器讀信號,低電平有效。

/WR——片外數(shù)據(jù)存儲器寫信號,低電平有效。56

6.2外部數(shù)據(jù)存儲器擴(kuò)展硬件系統(tǒng)擴(kuò)展,核心是譯碼電路設(shè)計和讀取各存儲器、端口的地址。希望通過學(xué)習(xí),讀者能夠達(dá)到給定地址能夠設(shè)計譯碼電路;拿到硬件電路圖能夠分析出相關(guān)存儲器、端口地址。7

6.2外部數(shù)據(jù)存儲器擴(kuò)展51系列單片機(jī)內(nèi)部RAM的容量是有限的,只有128B或256B。當(dāng)單片機(jī)用于實時數(shù)據(jù)采集或處理大批量數(shù)據(jù)時,僅靠片內(nèi)提供的RAM是不夠的。我們可以利用單片機(jī)的擴(kuò)展功能,擴(kuò)展外部數(shù)據(jù)存儲器。數(shù)據(jù)存儲器即隨機(jī)存取存儲器(RandomAccessMemory),簡稱RAM,用于存放可隨時修改的數(shù)據(jù)信息。常用的外部數(shù)據(jù)存儲器有靜態(tài)RAM稱為SRAM和動態(tài)RAM稱為兩種。SRAM讀/寫速度高,不需要刷新電路,使用方便,易于擴(kuò)展;缺點是集成度低,成本高,功耗大。DRAM集成度高,成本低,功耗相對較低;缺點是需要增加動態(tài)刷新電路,硬件電路復(fù)雜。因此,單片機(jī)擴(kuò)展數(shù)據(jù)存儲器時一般都采用靜態(tài)RAM。8常用的靜態(tài)RAM芯片有6264(8k×8)、62128(16K×8)、62256(32k×8)等芯片,其管腳配置均為28腳,使用方便,工程師可結(jié)合系統(tǒng)成本及性能需求選用。最長用的是6264。9存儲器擴(kuò)展的核心問題是存儲器的編址問題,就是給存儲單元分配地址。由于存儲器通常由多塊芯片組成,因此,存儲器的編址分為兩個層次:存儲器芯片內(nèi)部存儲單元編址和存儲器芯片編址。前者,靠存儲器芯片內(nèi)部的譯碼器選擇芯片內(nèi)部的存儲單元。后者,必須利用譯碼電路實現(xiàn)對芯片的選擇。10譯碼電路是將輸入的一組二進(jìn)制編碼變換為一個特定的輸出信號,即:將輸入的一組高位地址信號通過譯碼,產(chǎn)生一個有效的輸出信號,用于選中某一個存儲器芯片,從而確定該存儲器芯片所占用的地址范圍,這一過程稱為地址譯碼。常用的譯碼方法有三種:全譯碼、部分譯碼和線選法。116.2.1全譯碼方式全譯碼是用全部的地址信號都參與譯碼。其特點是:地址與存儲單元一一對應(yīng),也就是說1個存儲單元占用1個唯一的地址,地址空間的利用率高。12例6.2.1:利用全譯碼為AT89C51擴(kuò)展16KB的外部數(shù)據(jù)存儲器,存儲器芯片選用SRAM6264,要求外部數(shù)據(jù)存儲器占用從0000H開始的連續(xù)地址空間。解:首先確定要使用的6264芯片的數(shù)目:芯片數(shù)目=系統(tǒng)擴(kuò)展的存儲容量÷6264芯片的容量=16KB÷8KB=2片然后進(jìn)行地址分配,畫出地址譯碼關(guān)系圖。所謂地址譯碼關(guān)系圖,是一種用簡單的符號來表示系統(tǒng)地址與芯片所占用的地址之間相互關(guān)系的示意圖13然后進(jìn)行地址分配,畫出地址譯碼關(guān)系圖。所謂地址譯碼關(guān)系圖,是一種用簡單的符號來表示系統(tǒng)地址與芯片所占用的地址之間相互關(guān)系的示意圖141516例6.2.2:利用全譯碼為AT89C51擴(kuò)展40KB的外部數(shù)據(jù)存儲器,存儲器芯片選用SRAM6264。要求外部數(shù)據(jù)存儲器占用從6000H開始的連續(xù)地址空間。解:首先確定要使用的6264芯片的數(shù)目:芯片數(shù)目=系統(tǒng)擴(kuò)展的存儲容量÷6264芯片容量=40KB÷8KB=5片3-8譯碼器74LS138是一種常用的地址譯碼器173-8譯碼器74LS138是一種常用的地址譯碼器18

6.2.2部分譯碼部分譯碼是只用部分地址參與了譯碼。其特點是:地址與存儲單元不是一一對應(yīng),而是1個存儲單元占用多個地址。我們把不參與譯碼的地址線稱為無關(guān)項,若1根地址線不參與譯碼,一個單元占用2(21)個地址;若n根地址線不參與譯碼,則一個單元占用2n個地址,n為無關(guān)項的個數(shù)。部分譯碼會造成地址空間的浪費,但譯碼器電路簡單,對地址譯碼電路的設(shè)計帶來很大方便。一般在較小的系統(tǒng)中常采用部分譯碼。19

6.2.2部分譯碼例6.2.3:分析圖6.8中的譯碼方法,寫出存儲器芯片SRAM6264占用的地址范圍。2021

6.2.3線選法所謂線選法,是利用系統(tǒng)的某一根地址線作為芯片的片選信號。線選法實際上是部分譯碼的一種極端應(yīng)用,具有部分譯碼的所有特點,譯碼電路最簡單,甚至不使用譯碼器。如直接以系統(tǒng)的某一條地址線作為存儲器芯片的片選信號,只需把用到的地址線與存儲器芯片的片選端直接相連即可。當(dāng)一個應(yīng)用系統(tǒng)需要擴(kuò)展的芯片數(shù)目較少,需要的實際存儲空間較小時,采用線選法。22

6.2.3線選法例6.2.4:分析圖6.10中的譯碼方法,寫出各存儲器芯片SRAM6264占用的地址范圍。2324

6.3外部程序存儲器擴(kuò)展51系列單片機(jī)具有64KB的程序存儲器空間,其中87C51、AT89C51單片機(jī)含有4KB的片內(nèi)程序存儲器,而8031則無片內(nèi)程序存儲器。當(dāng)采用87C51、AT89C51單片機(jī)而程序超過4KB,或采用8031型單片機(jī)時,就需要擴(kuò)展程序存儲器。這里要注意的是,51系列單片機(jī)有一個管腳/EA

跟程序存儲器的擴(kuò)展有關(guān)。25

6.3.1EPROM擴(kuò)展擴(kuò)展程序存儲器常用的器件是EPROM芯片,如2764(8K×8bit)、27128(16K×8bit)、27256(32K×8bit)等。26程序存儲器擴(kuò)展276.3.2擴(kuò)展EEPROM286.4并行I/O端口的擴(kuò)展

對一些簡單外設(shè)的接口,只要按照“輸入三態(tài),輸出鎖存”與總線相連的原則,選擇74LS系列的TTL或MOS器件即能組成擴(kuò)展接口電路。例如,可采用8位三態(tài)緩沖器74LS244、74LS245等作為輸入端口,采用8D鎖存器74LS273、74LS373、74LS377等作為輸出端口。采用這些簡單接口芯片進(jìn)行系統(tǒng)擴(kuò)展,接口電路簡單、配置靈活、編程方便、且價格低廉,是I/O端口擴(kuò)展的首選方案。2974LS244三態(tài)門3074LS2738D鎖存器31例6.4.1:采用74LS244和74LS273為AT89C51單片機(jī)擴(kuò)展8位輸入端口和8位輸出端口。簡單I/O端口擴(kuò)展請各位分析兩個8位輸入輸出端口的地址326.4.2LED數(shù)碼顯示器擴(kuò)展LED數(shù)碼顯示器(又稱為LED數(shù)碼管)是單片機(jī)應(yīng)用系統(tǒng)中最常用的顯示器之一。它由8個發(fā)光二極管(以下簡稱字段)構(gòu)成,通過不同的組合可用來顯示數(shù)字0~9、字符A~F、P、空白字符、符號“

”及小數(shù)點“.”等。LED數(shù)碼管分為共陽極和共陰極兩種產(chǎn)品,無論是共陽極還是共陰極其外形結(jié)構(gòu)與封裝形式相同。33它由8個發(fā)光二極管(以下簡稱字段)構(gòu)成,通過不同的組合可用來顯示數(shù)字0~9、字符A~F、P、空白字符、符號“

”及小數(shù)點“.”等。LED數(shù)碼管分為共陽極和共陰極兩種產(chǎn)品,無論是共陽極還是共陰極其外形結(jié)構(gòu)與封裝形式相同。輸出顯示形式分為靜態(tài)顯示和動態(tài)顯示。342位靜態(tài)LED顯示器356位動態(tài)LED顯示器366.4.3鍵盤接口由于單片機(jī)應(yīng)用系統(tǒng)都是按實際需要設(shè)置外部接口和設(shè)備的,所以,一個系統(tǒng)設(shè)置幾個按鍵都是根據(jù)具體應(yīng)用而定的,并且在多數(shù)情況下,都是一鍵多用的,其目的就是盡量精簡硬件設(shè)備。鍵盤按照其接口原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區(qū)別是識別鍵符及給出相應(yīng)鍵碼的方法不同。37編碼鍵盤主要是用硬件來實現(xiàn)對按鍵的識別,鍵盤接口電路能夠由硬件邏輯自動提供與鍵對應(yīng)的編碼。此外,編碼鍵盤一般還具有去抖動和多鍵、竄鍵保護(hù)電路。這種鍵盤使用方便,但需要較多的硬件,一般的單片機(jī)應(yīng)用系統(tǒng)較少采用。非編碼鍵盤的接口電路只是簡單地提供按鍵的行列矩陣,對按鍵的識別、編碼、去抖動等工作均由軟件完成。由于其經(jīng)濟(jì)實用、設(shè)置靈活,常應(yīng)用于單片機(jī)系統(tǒng)中。38一組鍵或一個鍵盤,總有一個接口電路與CPU相連。當(dāng)按鍵較多時一般采用行列式結(jié)構(gòu)并按矩陣形式排列。4×4表示有4根行線和4根列線,在每根行線和列線的交叉點上有1個按鍵,組成了一個有16個按鍵的矩陣鍵盤。39所謂行掃描法,就是通過行線逐行發(fā)出低電平信號,如果該行線所連接的鍵沒有按下,則列線的電平信號是全“1”;如果有鍵按下的話,則列線得到的是非全“1”信號。即根據(jù)列線的電平信號是否有“0”信號來判斷有無鍵按下。首先快速檢查整個鍵盤中是否有鍵按下,若無鍵按下,則結(jié)束鍵盤掃描程序。若有鍵按下,再用逐行掃描的方法來確定閉合鍵的具體位置408×4矩陣鍵盤電路41鍵盤掃描子程序應(yīng)具有以下功能(1)判斷有無鍵按下。其方法為:行輸出口輸出全為0,讀列輸入口信息,若列輸入值為全1,則說明無鍵按下;若不為全1,則說明有鍵按下。

(2)消除按鍵的抖動。微機(jī)鍵盤通常使用機(jī)械觸點式按鍵開關(guān)。機(jī)械式按鍵在按下或釋放時,由于機(jī)械彈性作用的影響,通常伴隨有一定時間的觸點機(jī)械抖動,然后其觸點才穩(wěn)定下來。抖動時間的長短與開關(guān)的機(jī)械特性有關(guān),一般為5~10ms。42(3)逐行掃描。若有鍵按下,則逐行掃描,以判別閉合鍵的具體位置。(4)計算閉合鍵的鍵值。計算公式為:鍵值=行號×4+列號(5)判斷按鍵是否釋放。計算出閉合鍵的鍵值后,再判斷按鍵是否釋放?若按鍵未釋放,則等待;若鍵已釋放,則再延時消抖。(6)命令處理。根據(jù)閉合鍵的鍵值,程序應(yīng)完成該按鍵所設(shè)定的功能。436.5D/A轉(zhuǎn)換器及應(yīng)用D/A轉(zhuǎn)換器輸入的是數(shù)字量,經(jīng)轉(zhuǎn)換后輸出的是模擬量,常用在需要模擬量輸出的場合。D/A轉(zhuǎn)換器的主要性能指標(biāo)1.分辯率2.建立時間3.接口形式44典型D/A轉(zhuǎn)換器芯片DAC0832DAC0832是一個8位D/A轉(zhuǎn)換器。單電源供電,從+5V~+15V均可正常工作?;鶞?zhǔn)電壓的范圍為±10V;電流建立時間為1μs;CMOS工藝,低功耗20mW。采用了兩次緩沖輸入方式,即由輸入寄存器和DAC寄存器構(gòu)成兩級數(shù)據(jù)輸入鎖存器。這樣可以在輸出的同時接收下一個輸入數(shù)據(jù),以提高轉(zhuǎn)換速度。45DAC0832的接口與應(yīng)用51單片機(jī)與DAC0832的接口有3種連接方式:即直通方式、單緩沖方式及雙緩沖方式。直通方式不能直接與系統(tǒng)的數(shù)據(jù)總線相連,需另加鎖存器,故應(yīng)用較少。46DAC8032工作于單緩沖方式,其中輸入寄存器受控,而DAC寄存器直通。可選用輸入寄存器地址為FE00H對其編程。由于其基準(zhǔn)電壓Vref=-5.00V,用下列程序可以產(chǎn)生幅度為0V~+5V的鋸齒波:ORG 0200HSTART: MOV DPTR,#0FE00H ;0832輸入寄存器地址 MOV A,#00H;轉(zhuǎn)換初值

NEXT: MOVX @DPTR,A;D/A轉(zhuǎn)換 INC A NOP;延時 NOP SJMPNEXT47用同樣的方法也可以很方便地產(chǎn)生三角波、矩形波、梯形波,相信讀者能自行編寫程序。486.6A/D轉(zhuǎn)換器及應(yīng)用A/D轉(zhuǎn)換器用于實現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換,按轉(zhuǎn)換原理可分為4種:計數(shù)式A/D轉(zhuǎn)換器、雙積分式A/D轉(zhuǎn)換器、逐次逼近式A/D轉(zhuǎn)換器和并行式A/D轉(zhuǎn)換器。

最常用的是雙積分式A/D轉(zhuǎn)換器和逐次逼近式A/D轉(zhuǎn)換器。雙積分式A/D轉(zhuǎn)換器的主要優(yōu)點是轉(zhuǎn)換精度高,抗干擾性能好,價格便宜。其缺點是轉(zhuǎn)換速度較慢,因此,這種轉(zhuǎn)換器主要用于速度要求不高的場合。逐次逼近式A/D轉(zhuǎn)換器是一種速度較高,精度較高的轉(zhuǎn)換器,其轉(zhuǎn)換時間大約在幾μs到幾百μs之間。通常使用的逐次逼近式典型A/D轉(zhuǎn)換器芯片是ADC0809。49典型A/D轉(zhuǎn)換器芯片

ADC0809ADC0809是典型的8位8通道逐次逼近式A/D轉(zhuǎn)換器,CMOS工藝。5051單片機(jī)與ADC0809連接ADC0809與單片機(jī)的連接形式多種多樣。由于ADC0809內(nèi)部具有地址鎖存器和三態(tài)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論