第7章 AT89C51系統(tǒng)擴(kuò)展技術(shù)_第1頁
第7章 AT89C51系統(tǒng)擴(kuò)展技術(shù)_第2頁
第7章 AT89C51系統(tǒng)擴(kuò)展技術(shù)_第3頁
第7章 AT89C51系統(tǒng)擴(kuò)展技術(shù)_第4頁
第7章 AT89C51系統(tǒng)擴(kuò)展技術(shù)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

北京世紀(jì)智源教育科技有限公司·1·第七章AT89C51系統(tǒng)擴(kuò)展技術(shù)學(xué)習(xí)目標(biāo)了解AT89C51單片機(jī)的外部三總線的構(gòu)成;熟悉AT89C51單片機(jī)存儲(chǔ)器ROM和RAM擴(kuò)充的方法;熟悉應(yīng)用8255進(jìn)行單片機(jī)I/O的擴(kuò)展;掌握單片機(jī)外接兩種非編碼鍵盤;掌握單片機(jī)外接靜態(tài)、動(dòng)態(tài)顯示的LED數(shù)碼顯示器;掌握單片機(jī)外接LCD顯示器;理解單片機(jī)外接A/D、D/A電路的工作原理和使用方法。北京世紀(jì)智源教育科技有限公司·3·本章知識(shí)結(jié)構(gòu)北京世紀(jì)智源教育科技有限公司·4·7.1AT89C51接口擴(kuò)展原理系統(tǒng)擴(kuò)展是指單片機(jī)內(nèi)部各功能部件不能滿足工程應(yīng)用系統(tǒng)要求時(shí),在單片機(jī)外部連接相應(yīng)的電路芯片來適應(yīng)工程應(yīng)用系統(tǒng)要求。AT89C51單片機(jī)系統(tǒng)擴(kuò)展的方法分為并行擴(kuò)展法和串行擴(kuò)展法兩種。并行擴(kuò)展法是指利用單片機(jī)芯片外部引腳構(gòu)成的三總線結(jié)構(gòu),即地址總線、數(shù)據(jù)總線和控制總線(AB、DB和CB)。單片機(jī)通過這三組總線與外部電路芯片進(jìn)行連接,進(jìn)行相應(yīng)的系統(tǒng)擴(kuò)展.串行擴(kuò)展法主要是利用SPI三線總線或I2C雙線總線等串行通信標(biāo)準(zhǔn)進(jìn)行系統(tǒng)模擬擴(kuò)展。北京世紀(jì)智源教育科技有限公司·5·7.1.1并行接口擴(kuò)展原理圖7.2AT89C51單片機(jī)外部三總線構(gòu)成原理圖AT89C51單片機(jī)的部分外引腳構(gòu)成了計(jì)算機(jī)三總線結(jié)構(gòu),可以進(jìn)行單片機(jī)的并行接口擴(kuò)展。如圖7.2所示。北京世紀(jì)智源教育科技有限公司·6·①地址總線(AB)地址總線用于傳送單片機(jī)輸出的地址信號(hào),寬度為16位,可尋址儲(chǔ)存空間為64KB。地址總線由P0口提供低8位地址A0~A7,P2口提供高8位地址A8~A15。由于P0口是地址總線低8位A0~A7和8位數(shù)據(jù)線D0~D7的共用口,分時(shí)使用地址線和數(shù)據(jù)線,所以P0口輸出低8位地址數(shù)據(jù)必須用8位鎖存器鎖存。一般在此選用74LS373作為地址鎖存器,鎖存器的地址鎖存控制信號(hào)由控制信號(hào)ALE提供。P2口具有輸出鎖存功能,故不需要外加鎖存器。P0、P2口在系統(tǒng)擴(kuò)展中用作地址總線后,就不能作為一般通用I/O口使用。北京世紀(jì)智源教育科技有限公司·7·②數(shù)據(jù)總線(DB)數(shù)據(jù)總線由三態(tài)雙向口P0口提供,寬度為8位,用D0~D7表示,是應(yīng)用系統(tǒng)中使用最為頻繁的通道。數(shù)據(jù)總線為雙向總線,單片機(jī)與外部電路交換的數(shù)據(jù)、指令和信息,絕大多數(shù)是通過P0口傳送的。注意:數(shù)據(jù)總線是并聯(lián)到多個(gè)支路外圍電路芯片的數(shù)據(jù)線上,而在同一時(shí)間里,僅允許一個(gè)支路的電路芯片是有效的數(shù)據(jù)傳送通道。具體哪個(gè)支路的數(shù)據(jù)通道有效,則由地址線控制各個(gè)芯片的片選端口來選擇。北京世紀(jì)智源教育科技有限公司·8·③控制總線(CB)控制總線是一組控制及狀態(tài)信號(hào)線,有從單片機(jī)發(fā)出的,也有由外圍部件返回的,傳輸方向各不相同,但任意一根控制線都是單向的。?ALE:輸出P0口上地址與數(shù)據(jù)隔離信號(hào),用于鎖存P0口輸出的低8位地址。通常,ALE信號(hào)的下降沿控制鎖存器來鎖存地址數(shù)據(jù),通常選擇下降沿選通的鎖存器做低8位地址鎖存器。?/PSEN:輸出,用于讀片外程序存儲(chǔ)器(EPROM)中的數(shù)據(jù)?!白x”取EPROM中數(shù)據(jù)(指令)時(shí),不能用“/RD”信號(hào)。?/EA:輸入,用于選擇片內(nèi)或片外程序存儲(chǔ)器。當(dāng)/EA=0時(shí),只訪問外部程序存儲(chǔ)器。當(dāng)/EA=1時(shí),先訪問內(nèi)部程序存儲(chǔ)器,內(nèi)部程序存儲(chǔ)器全部訪問完之后,再訪問外部程序存儲(chǔ)器。?/WR、/RD:輸出,用于片外數(shù)據(jù)存儲(chǔ)器(RAM)的讀、寫。當(dāng)執(zhí)行片外數(shù)據(jù)存儲(chǔ)器操作指令MOVX時(shí),自動(dòng)生成/WR、/RD控制信號(hào)。北京世紀(jì)智源教育科技有限公司·9·AT89C51單片機(jī)并行擴(kuò)展接口概況請(qǐng)見圖7.3

AT89C51單片機(jī)通過三總線擴(kuò)展外部設(shè)備裝置的結(jié)構(gòu)示意圖。常用的地址鎖存器如圖7.19所示。?74LS373:8D鎖存緩沖器,鎖存允許信號(hào)G是電平鎖存。當(dāng)G從高電平轉(zhuǎn)為低電平時(shí),將其輸入端的數(shù)據(jù)鎖存在輸出端。?74LS273:8D鎖存器,CLK上升沿鎖存。當(dāng)ALE出現(xiàn)下降沿后,8D鎖存器74LS373的輸出即為A0~A7,這時(shí)P0口上出現(xiàn)的是數(shù)據(jù),實(shí)現(xiàn)了地址低8位和數(shù)據(jù)線的分離。注意:在使用74LS273時(shí),為了與ALE下降沿出現(xiàn)地址信號(hào)相一致,需增加一個(gè)反相器。北京世紀(jì)智源教育科技有限公司·10·并行擴(kuò)展方式的編址技術(shù)在單片機(jī)應(yīng)用系統(tǒng)中,為了唯一地選擇片外某一支路存儲(chǔ)單元或I/O端口,需要進(jìn)行兩次選擇。一是首先找到并選擇該支路存儲(chǔ)單元或I/O端口所在的電路芯片,稱為“片選”;二是通過對(duì)該支路電路芯片內(nèi)部所具有的地址線進(jìn)行譯碼,然后選擇并確定唯一的存儲(chǔ)單元或I/O端口,稱為“字選”?!捌x”保證每次讀或?qū)憰r(shí),只選中某一片存儲(chǔ)器芯片或I/O接口芯片。常用的方法有四種:“線選法”、“地址譯碼法”、應(yīng)用“可編程器件PAL/GAL”或“I/O口線”。北京世紀(jì)智源教育科技有限公司·11·(1)線選法:是利用單片微機(jī)最高幾位空余的地址線中一根(如P2.7)作為某一片存儲(chǔ)器芯片或I/O接口芯片的“片選”控制線。用于應(yīng)用系統(tǒng)中擴(kuò)展芯片較少的場合。(2)譯碼法:用譯碼器對(duì)空余的高位地址線進(jìn)行譯碼,而譯碼器的輸出作為“片選”控制線。常用的譯碼器有3/8譯碼器74LS138、雙2/4譯碼器74LS139、4/16譯碼器74LS154等。北京世紀(jì)智源教育科技有限公司·12·7.1.2串行接口擴(kuò)展原理AT89C51單片機(jī)常用的串行接口擴(kuò)展方法主要是利用一些廣泛應(yīng)用的串行通信標(biāo)準(zhǔn)。這里主要介紹SPI(SerialPeriPheralInterface)三線總線和I2C

(Inter-IntegratedCircuit)二線總線。1.SPI總線結(jié)構(gòu)SPI總線是一種同步串行外設(shè)接口,可直接使單片機(jī)與多種標(biāo)準(zhǔn)外圍器件直接接口,外圍設(shè)備如FLASHRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、A/D轉(zhuǎn)換器等和單片機(jī)以串行通信方式進(jìn)行信息交換。SPI系統(tǒng)有如下的特性:全雙工、三線同步傳送;主、從機(jī)工作方式;可程控的主機(jī)位傳送速率、時(shí)鐘發(fā)送方向、極性和相位;發(fā)送完成產(chǎn)生中斷標(biāo)志;寫沖突產(chǎn)生保護(hù)標(biāo)志。北京世紀(jì)智源教育科技有限公司·13·圖7.4系統(tǒng)擴(kuò)展SPI總線的組成示意圖

多數(shù)場合,使用一個(gè)單片即作為主機(jī),控制數(shù)據(jù)向一個(gè)或多個(gè)從機(jī)(外圍器件)的傳送。一般SPI系統(tǒng)至少使用四個(gè)I/O引腳,即系統(tǒng)只包括一個(gè)主機(jī)一個(gè)從機(jī)。請(qǐng)見圖7.4系統(tǒng)擴(kuò)展SPI總線的組成示意圖。北京世紀(jì)智源教育科技有限公司·14·MISO:主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線;MOSI:主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線;SCLK:串行時(shí)鐘線;/SS:從機(jī)選擇線。(有的SPI接口芯片帶有中斷信號(hào)線INT或INT、有的SPI接口芯片沒有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。

由于SPI系統(tǒng)總線一共只需3~4位數(shù)據(jù)線和控制即可實(shí)現(xiàn)與具有SPI總線接口功能的各種I/O器件進(jìn)行接口,而擴(kuò)展并行總線則需要8根數(shù)據(jù)線、8~16位地址線、2~3位控制線,因此,采用SPI總線接口可以簡化電路設(shè)計(jì),節(jié)省很多常規(guī)電路中的接口器件和I/O口線,提高設(shè)計(jì)的可靠性。

可見,在MCS51系列等不具有SPI接口的單片機(jī)組成的智能儀器和工業(yè)測控系統(tǒng)中,當(dāng)傳輸速度要求不是太高時(shí),使用SPI總線可以增加應(yīng)用系統(tǒng)接口器件的種類,提高應(yīng)用系統(tǒng)的性能北京世紀(jì)智源教育科技有限公司·15·

2.I2C總線結(jié)構(gòu)使用兩根信號(hào)線(數(shù)據(jù)SDA和時(shí)鐘SCL)串行的方法進(jìn)行信息傳送,并允許若干兼容器件共享的雙線總線,稱為I2C總線。SDA:串行數(shù)據(jù)線,用于傳輸雙向的數(shù)據(jù)。SCL:串行時(shí)鐘線,用于傳輸時(shí)鐘信號(hào),在傳輸時(shí)用來同步串行數(shù)據(jù)線上的數(shù)據(jù)。

在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各自的號(hào)碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。北京世紀(jì)智源教育科技有限公司·16·圖7.5系統(tǒng)擴(kuò)展I2C總線的組成示意圖北京世紀(jì)智源教育科技有限公司·17·7.2外部存儲(chǔ)器的擴(kuò)充1.外部RAM的擴(kuò)充片外數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí)的總線功能和讀、寫操作時(shí)序。80C51單片微機(jī),對(duì)片外數(shù)據(jù)存儲(chǔ)器讀、寫操作的指令有以下4條: MOVXA,@Ri ;片外RAM→(A),讀(/RD)操作 MOVX@Ri,A ;(A)→片外RAM,寫(/WR)操作這組指令由于@Ri只能提供8位地址,因此,僅能擴(kuò)展256個(gè)字節(jié)的片外RAM。 MOVXA,@DPTR ;片外RAM→(A),讀操作 MOVX@DPTR,A ;(A)→片外RAM,寫操作這組指令由于@DPTR能提供16位地址,因此,可以擴(kuò)展64KB的片外RAM。北京世紀(jì)智源教育科技有限公司·18·擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器的硬件電路在80C51的擴(kuò)展系統(tǒng)中,片外數(shù)據(jù)存儲(chǔ)器一般由隨機(jī)存取存儲(chǔ)器組成,最大可擴(kuò)展64KB。

例:用一片6264擴(kuò)展8KB片外數(shù)據(jù)存儲(chǔ)器,其硬件電路如圖7.6所示:北京世紀(jì)智源教育科技有限公司·19·7.2.2外部ROM的擴(kuò)充程序存儲(chǔ)器擴(kuò)展時(shí)的總線功能和操作時(shí)序/EA為片外程序存儲(chǔ)器讀選擇信號(hào)。正常運(yùn)行時(shí),該引腳不能浮空。根據(jù)連接電平的不同,單片微機(jī)有兩種取指過程:(1)當(dāng)/EA=1時(shí),80C51單片微機(jī)所有片內(nèi)程序存儲(chǔ)器有效。當(dāng)程序計(jì)數(shù)器PC運(yùn)行于片內(nèi)程序存儲(chǔ)器的尋址范圍內(nèi)(對(duì)80C51、87C51、89C51為0000H~0FFFH,共4KB;對(duì)80C52、87C52/89C52為0000H~1FFFH,共8KB)時(shí),P0口、P2口及/PSEN線沒有信號(hào)輸出;當(dāng)程序計(jì)數(shù)器PC的值超出上述范圍后,P0口、P2口及/PSEN線才有信號(hào)輸出。80C51訪問片外程序存儲(chǔ)器時(shí),使用如下的信號(hào):P0口:分時(shí)輸出程序存儲(chǔ)器的低8位地址和8位數(shù)據(jù)。北京世紀(jì)智源教育科技有限公司·20·ALE:輸出,在ALE的下降沿時(shí),P0口上出現(xiàn)穩(wěn)定的程序存儲(chǔ)器的低8位地址,用ALE信號(hào)鎖存這低8位地址。P2口:在整個(gè)取指周期中,輸出穩(wěn)定的程序存儲(chǔ)器的高8位地址。/PSEN線:輸出,低電平有效。在ALE的下降沿之后,由高變?yōu)榈?,此時(shí)片外程序存儲(chǔ)器的內(nèi)容(指令字)送到P0口,而后在/PSEN的上升沿將指令字送入指令寄存器。因而,/PSEN信號(hào)作為片外程序存儲(chǔ)器的“讀”選通信號(hào)。(2)當(dāng)/EA=0時(shí),80C51單片微機(jī)所有片內(nèi)程序存儲(chǔ)器無效,只能訪問片外程序存儲(chǔ)器。伴隨著單片微機(jī)復(fù)位,P0口、P2口及/PSEN線均有信號(hào)輸出。北京世紀(jì)智源教育科技有限公司·21·擴(kuò)展片外程序存儲(chǔ)器的硬件電路例:擴(kuò)展64K×8位片外程序存儲(chǔ)器其硬件電路原理圖如圖7.7所示。北京世紀(jì)智源教育科技有限公司·22·7.3單片機(jī)顯示接口應(yīng)用7.3.1LED顯示應(yīng)用

1.LED顯示器的工作原理發(fā)光二極管一般為砷化鎵半導(dǎo)體二極管,在發(fā)光二極管兩端加上正向電壓,則發(fā)光二極管發(fā)光。而數(shù)碼管LED是由若干發(fā)光二極管組合而成的,一般的“8”字型LED由“a,b,c,d,e,f,g,dp”8個(gè)發(fā)光二極管組成,如圖7.8所示,每個(gè)發(fā)光二極管稱為一字段。七段LED有共陰極和共陽極兩種結(jié)構(gòu)形式。顯示電路一般分為靜態(tài)顯示和動(dòng)態(tài)顯示兩類。北京世紀(jì)智源教育科技有限公司·23·共陽極接法 把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極。使用時(shí)公共陽極接VCC,當(dāng)某陰極端為低電平時(shí),該段發(fā)光二極管就導(dǎo)通發(fā)光。共陰極接法 把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時(shí)公共陰極接GND,當(dāng)某陽極端為高電平時(shí),該段發(fā)光二極管就導(dǎo)通發(fā)光。七段LED包含七段發(fā)光二極管和小數(shù)位發(fā)光二極管,共需8位I/O口線控制,其代碼為一個(gè)字節(jié)。七段LED字型碼見表7-1所示。北京世紀(jì)智源教育科技有限公司·24·LED顯示電路由N個(gè)LED顯示塊可構(gòu)成N位LED顯示器,需要N根位選線和8×N根段選線。顯示電路主要有靜態(tài)顯示和動(dòng)態(tài)顯示二種。根據(jù)顯示電路不同,位選線和段選線的聯(lián)接方式不同,實(shí)際所需的位選線和段選線的根數(shù)也不一樣。(1)

靜態(tài)顯示電路LED顯示器工作在靜態(tài)顯示時(shí),其公共陽極(或陰極)接VCC(或GND),一直處于顯示有效狀態(tài),所以每一位的顯示內(nèi)容必須由鎖存器加以鎖存,顯示各位相互獨(dú)立。靜態(tài)顯示電路如圖7.9所示。北京世紀(jì)智源教育科技有限公司·25·(2)

動(dòng)態(tài)顯示電路

將所有位的段選線的同名端聯(lián)在一起,由一個(gè)8位I/O口控制,形成段選線的多位復(fù)用。而各位的公共陽極或公共陰極則分別由相應(yīng)的I/O口線控制,實(shí)現(xiàn)各位的分時(shí)選通,即某一時(shí)刻只有被選通位是能顯示相應(yīng)的字符,而其他所有位都是熄滅的。由于人眼有視覺暫留效應(yīng),只要每位顯示間隔足夠短,則會(huì)造成多位同時(shí)點(diǎn)亮的假象。需要單片機(jī)不間斷地對(duì)LED顯示器進(jìn)行控制刷新,用大量的CPU時(shí)間來換取輔助元件的減少以及顯示功耗的降低。動(dòng)態(tài)掃描顯示實(shí)驗(yàn)。電路由6個(gè)共陰極LED數(shù)碼管構(gòu)成。單片機(jī)的P0口輸出顯示段碼,經(jīng)由一片74LS245驅(qū)動(dòng)輸出給LED數(shù)碼管,由P1口輸出位碼,經(jīng)由74LS06輸出給LED數(shù)碼管。動(dòng)態(tài)顯示電路請(qǐng)見圖7.106位LED數(shù)碼管動(dòng)態(tài)掃描顯示電路原理圖。北京世紀(jì)智源教育科技有限公司·26·7.3.2LCD顯示應(yīng)用LCD液晶顯示器常見的有二種形式,一種是液晶顯示器件,包括前后偏振片在內(nèi)的液晶顯示器件,簡稱LCD;另一種是液晶顯示模塊,包括組裝好的線路板、LCD驅(qū)動(dòng)及控制電路及其它附件,簡稱LCM。液晶顯示器顯示原理與LED不同,其本身并不發(fā)光,必須要通過環(huán)境光來顯示信息,因此功耗低,在環(huán)境光不足,達(dá)不到顯示要求時(shí),可選用背光源來保證LCD顯示信息。LCD按不同的顯示特征,劃分為段式LCD、點(diǎn)陣式LCD;或字符型LCD,圖形LCD;或單色LCD,彩色LCD。如圖7.11所示,是采用點(diǎn)陣為122×32液晶顯示屏進(jìn)行顯示的電路原理圖。北京世紀(jì)智源教育科技有限公司·27·7.4單片機(jī)鍵盤接口應(yīng)用在測量控制系統(tǒng)中,通常是用單片機(jī)進(jìn)行實(shí)時(shí)控制和數(shù)據(jù)處理的。作為實(shí)現(xiàn)人機(jī)對(duì)話,鍵盤是個(gè)性價(jià)比高而最常用的功能配置。利用按鍵可以實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令、功能切換等,是人工干預(yù)單片機(jī)應(yīng)用系統(tǒng)的主要手段之一。鍵盤有兩種類型:編碼鍵盤和非編碼鍵盤。編碼鍵盤具有必要的硬件芯片,鍵按下后便產(chǎn)生對(duì)應(yīng)的代碼,在新鍵按下之前,一直保持該碼.鍵的數(shù)目增多時(shí),硬件芯片等電路變得復(fù)雜。非編碼鍵盤只有兩個(gè)動(dòng)作狀態(tài):閉合或斷開,由1或0來表示。單片機(jī)應(yīng)用系統(tǒng)中用得較多的是非編碼鍵盤。非編碼鍵盤可分為兩類:獨(dú)立式鍵盤和矩陣式鍵盤。北京世紀(jì)智源教育科技有限公司·28·7.4.1獨(dú)立式鍵盤應(yīng)用

獨(dú)立式鍵盤是最簡單的鍵盤電路,各個(gè)鍵相互獨(dú)立,每個(gè)按鍵獨(dú)立地與一根數(shù)據(jù)輸入線相連接。按CPU如何得知鍵盤的動(dòng)作,又分為中斷方式獨(dú)立鍵盤和查詢方式獨(dú)立鍵盤。中斷方式獨(dú)立鍵盤,任何一個(gè)按鍵按下時(shí),通過門電路都會(huì)向CPU申請(qǐng)中斷,在中斷服務(wù)程序中,讀入鍵盤連接口的值,從而判斷是哪一個(gè)按鍵被按下。查詢方式獨(dú)立鍵盤,CPU循環(huán)不間斷地查詢鍵盤連接口的狀態(tài),當(dāng)任何一個(gè)鍵被壓下時(shí),與之連接的輸入口線將被拉成低電平。北京世紀(jì)智源教育科技有限公司·29·需要注意的是:對(duì)按鍵是否被按下,需采用軟件消抖動(dòng)的辦法,以消除按鍵在閉合和斷開瞬間所伴隨有一連串抖動(dòng)所帶來的不利影響。獨(dú)立式鍵盤的優(yōu)點(diǎn)是結(jié)構(gòu)簡單、使用方便,缺點(diǎn)是在按鍵增多時(shí)所占用的I/O口線也要增加。不適用于按鍵較多的單片機(jī)應(yīng)用系統(tǒng)中。

圖7.12是8位查詢式獨(dú)立鍵盤組件電路原理圖。北京世紀(jì)智源教育科技有限公司·30·7.4.2.矩陣式鍵盤的應(yīng)用如圖7.13所示,若有4根行線,4根列線,則構(gòu)成4×4鍵盤,最多可定義16個(gè)按鍵。矩陣式鍵盤的工作過程①矩陣式鍵盤鍵掃描。CPU先通過輸出口P1.4~P1.7使所有列線輸出為低電平,然后從輸入口P1.0~P1.3讀入所有行線的狀態(tài)。若行線狀態(tài)都為高電平,則說明沒有鍵被按下,若行線中有低電平,則表明有鍵被按下。②判斷按鍵位置。CPU通過輸出口使列線從低位至高位逐位變低電平輸出,每次均讀入行線的狀態(tài),以確定那條列線為“0”狀態(tài)。由行、列線的狀態(tài)就可判斷是哪一個(gè)鍵被按下,即行、列交叉處。③當(dāng)判斷出哪個(gè)鍵按下后,程序轉(zhuǎn)入相應(yīng)的鍵處理程序。北京世紀(jì)智源教育科技有限公司·31·矩陣式鍵盤三種鍵掃描的方式①程控掃描方式:CPU的控制一旦進(jìn)入監(jiān)控程序,將反復(fù)不斷地掃描鍵盤,等待輸入命令或數(shù)據(jù)。②定時(shí)掃描方式:在初始化程序中對(duì)定時(shí)器/計(jì)數(shù)器進(jìn)行編程,使之產(chǎn)生10ms的定時(shí)中斷,CPU響應(yīng)定時(shí)中斷,執(zhí)行中斷服務(wù)程序,對(duì)鍵盤掃描一遍,檢查鍵盤的狀態(tài),實(shí)現(xiàn)對(duì)鍵盤的定時(shí)掃描。③中斷掃描方式:當(dāng)鍵位上有鍵壓下時(shí),由硬件電路產(chǎn)生中斷請(qǐng)求,CPU響應(yīng)中斷,執(zhí)行中斷服務(wù)程序,判斷按下的鍵的鍵號(hào),根據(jù)鍵的定義(數(shù)字鍵或功能鍵)作相應(yīng)的處理。北京世紀(jì)智源教育科技有限公司·32·7.5單片機(jī)I/O接口應(yīng)用及擴(kuò)展在計(jì)算機(jī)系統(tǒng)中,數(shù)據(jù)操作分別為兩類:一類是CPU和存儲(chǔ)器之間的數(shù)據(jù)讀/寫操作;另一類則是CPU和外部之間的數(shù)據(jù)輸入/輸出(I/O)操作。CPU和存儲(chǔ)器之間的數(shù)據(jù)讀/寫操作我們之前已經(jīng)學(xué)習(xí)過,本節(jié)我們將討論CPU與外部設(shè)備之間的I/O操作。在數(shù)據(jù)的I/O傳送中,接口電路主要有如下幾項(xiàng)功能:北京世紀(jì)智源教育科技有限公司·33·

①速度協(xié)調(diào)。單片機(jī)往往要比I/O設(shè)備快得多。速度上的差異,使得數(shù)據(jù)的I/O傳送只能以異步方式進(jìn)行。在接口電路中要設(shè)置鎖存器,保證CPU輸出的數(shù)據(jù)可以被輸出設(shè)備接收。從而解決單片機(jī)與I/O設(shè)備的速度協(xié)調(diào)問題。②設(shè)置輸入設(shè)備的三態(tài)緩沖電路。輸入設(shè)備向CPU傳送的數(shù)據(jù)也要通過數(shù)據(jù)總線,為了維護(hù)數(shù)據(jù)總線上數(shù)據(jù)傳送的有秩序,因此只允許當(dāng)前時(shí)刻正在進(jìn)行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其它數(shù)據(jù)源都必須與數(shù)據(jù)總線處于隔離狀態(tài)。③I/O信號(hào)轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)換。單片機(jī)引腳使用的電壓數(shù)字信號(hào),不同于I/O設(shè)備使用的信號(hào)類型(如模擬或數(shù)字、電流或電壓等)有些設(shè)備要使用接口電路進(jìn)行數(shù)據(jù)信號(hào)的轉(zhuǎn)換。其中包括:模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、串并轉(zhuǎn)換和并串轉(zhuǎn)換等。北京世紀(jì)智源教育科技有限公司·34·7.5.1單片機(jī)I/O接口直接應(yīng)用

AT89C51單片機(jī)具備4個(gè)八位口,其中,P0口為雙向口,P1、P2、P3口為準(zhǔn)雙向口,都具有I/O操作功能,都可以進(jìn)行簡單的I/O口應(yīng)用。這4個(gè)I/0口又屬于內(nèi)部的特殊功能寄存器SFR,對(duì)這些I/O口可以進(jìn)行非常方便操作,有豐富的軟件指令可供選擇,匯總?cè)缦拢?/p>

1.I/O口的數(shù)據(jù)傳送指令

向口輸出數(shù)據(jù)的指令有:

MOV Px,A MOV Px,Rn MOV Px,@Ri MOV Px,direct

從口輸入數(shù)據(jù)的指令有:

MOV A,Px MOV Rn,Px MOV @Ri,Px MOV direct,Px北京世紀(jì)智源教育科技有限公司·35·2.I/O口的位操作指令位傳送指令 MOV Px.y,C位清0指令 CLR Px.y

位置1指令 SETB Px.y

位取反 CPL Px.y

位為1轉(zhuǎn)移 JB Px.y,rel位為0轉(zhuǎn)移 JNB Px.y,rel位為1轉(zhuǎn)移并清零

JBC Px.y,rel3.I/O口其它操作指令

邏輯與指令 ANL Px,A

邏輯和指令 ORL Px,A

邏輯異與指令

XRL Px,A

加1指令 INC Px

減1指令 DEC Px

減1條件轉(zhuǎn)移指令DJNZ Px,rel

數(shù)值比較轉(zhuǎn)移指令

CJNE A,Px,rel

使用單片微機(jī)本身的I/O口,能完成一些簡單的數(shù)據(jù)I/O應(yīng)用。北京世紀(jì)智源教育科技有限公司·36·7.5.2單片機(jī)I/O接口的擴(kuò)充應(yīng)用北京世紀(jì)智源教育科技有限公司·37·在很多實(shí)際應(yīng)用系統(tǒng)中,有些開關(guān)量或并行數(shù)據(jù)需要直接輸入/輸出,如鍵盤,數(shù)碼管等,主機(jī)可以隨時(shí)與這些設(shè)備進(jìn)行信息交換。在這種情況下,應(yīng)該遵循“輸出鎖存,輸入三態(tài)”與總線相連的原則。輸出口的主要功能是進(jìn)行數(shù)據(jù)保持(鎖存),一般應(yīng)用鎖存器電路芯片實(shí)現(xiàn)。可作為8位I/O端口擴(kuò)展的芯片主要有74LS373、74LS377等。輸入口則需要采用8位三態(tài)門控制電路芯片,如74LS244等。7.5.38255可編程并行I/O接口擴(kuò)展應(yīng)用北京世紀(jì)智源教育科技有限公司·38·所謂可編程接口芯片是指其功能可由單片機(jī)的指令來加以改變,通過編程,可以使接口芯片執(zhí)行不同的接口功能。在單片機(jī)I/O擴(kuò)展中常用的并行可編程接口芯片有:8255

可編程通用并行接口芯片8155帶RAM和定時(shí)器、計(jì)數(shù)器的可編程并行接口芯片8279

可編程鍵盤/顯示器接口芯片8255是由Intel公司生產(chǎn)的通用可編程并行接口芯片,它有3個(gè)8位并行I/O接口,具有三種工作方式,可以通過編程設(shè)置這三個(gè)端口是作為輸入口還是作為輸出口等功能。北京世紀(jì)智源教育科技有限公司·39·系統(tǒng)I/O擴(kuò)展8255電路的原理圖如圖7.14所示。8255是一個(gè)40引腳雙列直插(DIP40)的集成電路芯片,它與單片機(jī)相連的引腳:D0~D7:雙向數(shù)據(jù)線,三態(tài),和單片機(jī)P0口數(shù)據(jù)總線相連。/CS—片選信號(hào)(低電平有效)/RD—讀信號(hào)(低電平有效)/WR—寫信號(hào)(低電平有效)A0、A1—端口選擇信號(hào)。RESET—復(fù)位信號(hào)(高電平有效)。復(fù)位之后,控制寄存器清除,各端口被置為輸入方式。

北京世紀(jì)智源教育科技有限公司·40·讀寫控制邏輯用于實(shí)現(xiàn)8255的硬件管理,其內(nèi)容包括芯片的選擇,口的尋址以及規(guī)定各端口和單片微機(jī)之間的數(shù)據(jù)傳送方向。詳見表7-2

8255A接口工作狀態(tài)選擇表。8255由以下4個(gè)部分組成:數(shù)據(jù)端口。8255有三個(gè)8位數(shù)據(jù)端口:端口A,端口B和端口C。其中,A口和B口是單純的數(shù)據(jù)口,而C口既可以用做數(shù)據(jù)口,又可以作為控制口,來實(shí)現(xiàn)對(duì)A口和B口的控制。北京世紀(jì)智源教育科技有限公司·41·

A組和B組的控制電路。這兩組控制電路可以根據(jù)CPU的命令字來控制8255的工作方式。它們的控制寄存器可以接收CPU發(fā)出的控制字,并根據(jù)命令字分別決定兩組的工作方式。它們還可以根據(jù)CPU的命令字對(duì)端口C的每一位實(shí)現(xiàn)按位“復(fù)位”或“置位”。數(shù)據(jù)總線緩沖器。數(shù)據(jù)總線緩沖器為8位雙向三態(tài)緩沖器,可以直接與AT89C51的P0口數(shù)據(jù)線相連,擴(kuò)展系統(tǒng)中,與I/O操作有關(guān)的數(shù)據(jù),控制字和狀態(tài)信息都是通過該緩沖器進(jìn)行傳送。讀/寫控制邏輯。讀/寫控制邏輯電路負(fù)責(zé)管理8255的數(shù)據(jù)傳輸過程。它接收及其他來自系統(tǒng)地址總線的信號(hào)A0、A1和控制總線信號(hào)、和RESET,將這些信號(hào)進(jìn)行組合后,得到對(duì)A、B兩組控制部件的控制命令,并將命令發(fā)送給這兩個(gè)部件,從而完成對(duì)數(shù)據(jù)、狀態(tài)信息和控制信息的傳輸。北京世紀(jì)智源教育科技有限公司·42·8255的控制字8255是可編程接口芯片,使用8255時(shí),必須要把控制字寫入8255的控制字寄存器。8255的控制字有兩種:工作方式控制字和C口按位置位/復(fù)位控制字。工作方式控制字,工作方式控制字用于確定各口的工作方式及數(shù)據(jù)傳送方向;端口C按位置位/復(fù)位控制字。北京世紀(jì)智源教育科技有限公司·43·對(duì)于工作方式控制字要說明的幾點(diǎn):端口A可以工作于方式0、方式1、方式2共三種工作方式,可以作為輸入端口或輸出端口;端口B可以工作于方式0、方式1兩種工作方式,可以作為輸入端口或輸出端口;在方式1或方式2下,對(duì)C口的定義(輸入或輸出)不影響作為聯(lián)絡(luò)線使用的C口各位功能。最高位(D7)是特征位。固定為1,D7=1,標(biāo)明是設(shè)定方式選擇控制字。D7=0,表示是端口C按位置位/復(fù)位控制字。D3、D2、D1選擇端口C要進(jìn)行置位/復(fù)位操作的。北京世紀(jì)智源教育科技有限公司·44·8255的工作方式8255有三種工作方式:方式0、方式1和方式2。這些工作方式可以利用軟件編程來設(shè)定。①方式0(基本輸入/輸出方式)不需要任何選通信號(hào),A口、B口及C口的高4位和低4位都可以設(shè)定為輸入或輸出,各個(gè)口可以設(shè)定為輸入和輸出的任何組合。方式0適用于無條件的數(shù)據(jù)傳輸,也可以把C口的某一位作為狀態(tài)位,實(shí)現(xiàn)查詢式的數(shù)據(jù)傳送。北京世紀(jì)智源教育科技有限公司·45·②方式1(選通輸入/輸出方式)也稱為應(yīng)答方式。在這種工作方式下,A口和B口分別用于數(shù)據(jù)的輸入/輸出。而C口則作為數(shù)據(jù)傳送的聯(lián)絡(luò)信號(hào)。方式1適用于查詢方式或中斷方式的數(shù)據(jù)輸入/輸出。③方式2(雙向數(shù)據(jù)傳送方式)只有端口A才能選擇這種工作方式。在這種工作方式下,A口為8位雙向傳輸口,而C口的PC7~PC3則用作輸入/輸出的同步控制信號(hào)。A口輸入或輸出的數(shù)據(jù)都可以被鎖存。此時(shí)端口B仍可獨(dú)立工作在方式0或方式1。北京世紀(jì)智源教育科技有限公司·46·7.6A/D、D/A轉(zhuǎn)換器接口應(yīng)用測控系統(tǒng)是單片機(jī)應(yīng)用的重要領(lǐng)域之一。在測控系統(tǒng)中,被采集的實(shí)時(shí)信號(hào)多數(shù)是連續(xù)變化的物理量,即模擬信號(hào)。如:速度、溫度、電流、電壓等等。在單片機(jī)應(yīng)用系統(tǒng)中,凡是遇到有模擬量的地方,都要進(jìn)行模擬量向數(shù)字量,或者數(shù)字量向模擬量的轉(zhuǎn)換,涉及單片機(jī)的模/數(shù)(A/D)和數(shù)/模(D/A)轉(zhuǎn)換的接口技術(shù)。北京世紀(jì)智源教育科技有限公司·47·7.6.1ADC0809轉(zhuǎn)換器接口應(yīng)用A/D轉(zhuǎn)換器用于將連續(xù)的模擬信號(hào)轉(zhuǎn)換成適合于數(shù)字處理的二進(jìn)制數(shù),實(shí)現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換。依照轉(zhuǎn)換原理,A/D轉(zhuǎn)換器可分:計(jì)數(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)換器的主要技術(shù)指標(biāo)有:分辨率、轉(zhuǎn)換時(shí)間、量程等。ADC0809模數(shù)轉(zhuǎn)換實(shí)驗(yàn)的電路原理圖請(qǐng)見圖7.15。北京世紀(jì)智源教育科技有限公司·48·ADC0809的主要性能特征ADC0809是采用CMOS工藝制成的8位8通道逐次逼近式模數(shù)轉(zhuǎn)換器。它的主要特性是:轉(zhuǎn)換時(shí)間為100μs;模擬電壓輸入范圍為0~+5V,無需調(diào)零和滿刻度調(diào)整;功耗低,約為15mW;分辨率為8位;三態(tài)鎖存輸出;采用28引腳雙列直插式封裝。ADC0809的內(nèi)部邏輯結(jié)構(gòu)ADC0809的內(nèi)部邏輯結(jié)構(gòu)由圖7.16ADC0809的內(nèi)部邏輯結(jié)構(gòu)所示。由邏輯圖可以看出,ADC0809芯片主要由三部分構(gòu)成:8路模擬量的選通開關(guān)、8位A/D轉(zhuǎn)換器(圖內(nèi)虛線框起的部分)和三態(tài)輸出數(shù)據(jù)鎖存器。其余還包括:模擬開關(guān)的地址鎖存和譯碼電路等。北京世紀(jì)智源教育科技有限公司·49·圖7.16ADC0809的內(nèi)部邏輯結(jié)構(gòu)北京世紀(jì)智源教育科技有限公司·50·7.6.2DAC0832轉(zhuǎn)換器接口應(yīng)用D/A轉(zhuǎn)換器是一種將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)的器件。大多數(shù)常用的數(shù)/模轉(zhuǎn)換器的數(shù)字輸入是二進(jìn)制或BCD碼形式的,輸出的可以是電流也可以是電壓,而且多數(shù)是電流。如系統(tǒng)需要電壓輸出,則需要使用運(yùn)算放大器組成電流—電壓轉(zhuǎn)換器將電流輸出轉(zhuǎn)換為電壓輸出。D/A轉(zhuǎn)換器可按照其輸入口是否具有鎖存器而將其分為內(nèi)部有鎖存器的D/A和內(nèi)部無鎖存器的D/A。D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)有:分辨率、轉(zhuǎn)換精度、影響精度的誤差(增益誤差,零位誤差等)、轉(zhuǎn)換速度、輸出的電壓/電流范圍。北京世紀(jì)智源教育科技有限公司·51·圖7.17系統(tǒng)擴(kuò)展DAC0832數(shù)模轉(zhuǎn)換電路原理圖北京世紀(jì)智源教育科技有限公司·52·DAC0832的主要性能特征:DAC0832是采用CMOS工藝制造的8位電流輸出型D/A轉(zhuǎn)換器,其主要性能是:輸入數(shù)字量為8位,輸出類型為電流;邏輯電平與TTL兼容;電流建立時(shí)間為1μs,功耗低,為20Mw,具有單緩沖、雙緩沖和直通三種數(shù)據(jù)輸入工作方式。采用20引腳雙列直插式封裝。北京世紀(jì)智源教育科技有限公司·53·DAC0832的內(nèi)部邏輯結(jié)構(gòu)DAC0832的內(nèi)部邏輯結(jié)構(gòu)如圖7.18

所示,芯片內(nèi)部由一個(gè)8位的輸入鎖存器、一個(gè)8位的DAC寄存器和一個(gè)8位D/A轉(zhuǎn)換器以及控制電路組成。輸入鎖存器和DAC寄存器可以分別控制,從而可以根據(jù)需要接成兩級(jí)輸入鎖存的雙緩沖模式,一級(jí)輸入鎖存的單緩沖方式,或接成完全直通的無緩沖方式。兩級(jí)緩沖結(jié)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論