




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、7.1 擴(kuò)展使用的三總線擴(kuò)展使用的三總線地址總線:地址總線:P0低8位 P2高8位數(shù)據(jù)總線:數(shù)據(jù)總線:P0控制總線控制總線:RD、WR、 ALE、 PSEN ( 讀、讀、 寫、寫、 地址鎖存允許、地址鎖存允許、 外部外部ROM讀選通讀選通)程序存儲器的擴(kuò)展程序存儲器的擴(kuò)展 在在8051單片機(jī)外部擴(kuò)展單片機(jī)外部擴(kuò)展8K字節(jié)程序存儲器字節(jié)程序存儲器2764的連接圖的連接圖數(shù)據(jù)存儲器擴(kuò)展數(shù)據(jù)存儲器擴(kuò)展在在8051單片機(jī)外部擴(kuò)展一片單片機(jī)外部擴(kuò)展一片8K字節(jié)數(shù)據(jù)存儲器字節(jié)數(shù)據(jù)存儲器6264的連接圖的連接圖7.2系統(tǒng)擴(kuò)展選址方法系統(tǒng)擴(kuò)展選址方法1 1、線選法:、線選法: 利用單片機(jī)的一根空閑高位地址線(
2、通常采用P2的某根口線)選中一個外部擴(kuò)展I/O端口芯片,若要選中某個芯片工作,將對應(yīng)芯片的片選信號端設(shè)為低電平,其它未被選中芯片的片選信號端設(shè)為高電平,從而保證只選中指定的芯片工作。 優(yōu)點(diǎn):不需要地址譯碼器,可以節(jié)省器件,減小 體積,降低成本 缺點(diǎn):可尋址的器件數(shù)目受到很大限制,而且地 址空間不連續(xù),這些都會給系統(tǒng)設(shè)計帶來 不便。線選法進(jìn)行外部擴(kuò)展舉例線選法進(jìn)行外部擴(kuò)展舉例 6264的地址范圍:的地址范圍:高高8位位地址變化范圍地址變化范圍 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 1 1 0 低低8位位地址變化范圍:地址變化范圍:P0.7 P0.6 P0
3、.5 P0.4 P0.3 P0.2 P0.1 P0.0 由此可得由此可得6264的地址范圍為:的地址范圍為:C000HDFFFH。8255的地址范圍:的地址范圍: 高高8位地址變化范圍位地址變化范圍 :P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 1 0 1 1 1 1 1 1低低8位地址變化范圍:位地址變化范圍:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 1 1 1 1 1 由此可得由此可得8255的地址范圍為:的地址范圍為:BFFCHBFFFH。0832的地址:的地址:高高8位地址變化范圍:位地址變化范圍: P2.7
4、 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 0 1 1 1 1 1 1 1 低低8位地址變化范圍:位地址變化范圍: P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 1 1 1 1 1 1 1由此可得由此可得0832的地址為:的地址為:7FFFH。 2 2、地址譯碼法、地址譯碼法 對于容量較大的存儲器或I/O端口較多的單片機(jī)應(yīng)用系統(tǒng)進(jìn)行外部擴(kuò)展,當(dāng)芯片所需要的片選信號多于可利用的高位地址線時,就需要采用地址譯碼法。地址譯碼法必須采用地址譯碼器,常用的地址譯碼器有3-8譯碼器74LS138、雙2-4譯碼器74LS139等。擴(kuò)擴(kuò) 展展
5、器器 件件片內(nèi)字節(jié)地址數(shù)片內(nèi)字節(jié)地址數(shù)地址編碼地址編碼626462648K8K0000H0000H1FFFH1FFFH825582554 43FFCH3FFCH3FFFH3FFFH083208321 17FFFH7FFFH825582554 49FFCH9FFCH9FFFH9FFFH地址譯碼進(jìn)行外部擴(kuò)展舉例地址譯碼進(jìn)行外部擴(kuò)展舉例 7.3并行并行I/OI/O端口擴(kuò)展芯片端口擴(kuò)展芯片一. 8255可編程并行I/O接口擴(kuò)展芯片二. 8155可編程并行I/O接口擴(kuò)展芯片7.3.1 I/O數(shù)據(jù)的傳送方式數(shù)據(jù)的傳送方式為實(shí)現(xiàn)和不同外設(shè)的速度匹配速度匹配,須根據(jù)不同外設(shè)選擇恰當(dāng)?shù)腎/O數(shù)據(jù)傳送方式數(shù)據(jù)傳送
6、方式。I/O數(shù)據(jù)傳送方式有:同步傳送、異步傳送和中斷傳送。1同步傳送同步傳送又稱無條件傳送。當(dāng)外設(shè)速度和單片機(jī)的速度相比擬時,常采用同步傳送方式,典型的同步傳送是單片機(jī)和外部數(shù)據(jù)單片機(jī)和外部數(shù)據(jù)存儲器之間存儲器之間的數(shù)據(jù)傳送數(shù)據(jù)傳送。2查詢傳送查詢傳送又稱有條件傳送(也稱異步式傳送)。通過查詢外設(shè)“準(zhǔn)備好”后,再進(jìn)行數(shù)據(jù)傳送。優(yōu)點(diǎn)是通用性好,硬件連線和查詢程序簡單,但工作效率不高。113中斷傳送中斷傳送為提高提高單片機(jī)對外設(shè)的工作效率工作效率,常采用中斷傳送方式,來實(shí)現(xiàn)I/O數(shù)據(jù)的傳送。單片機(jī)只有在外設(shè)準(zhǔn)備好后,才中斷只有在外設(shè)準(zhǔn)備好后,才中斷主程序的執(zhí)行主程序的執(zhí)行,從而進(jìn)入與外設(shè)數(shù)據(jù)傳送的
7、中斷服務(wù)子程序,進(jìn)行數(shù)據(jù)傳送。中斷服務(wù)完成后又返回主程序斷點(diǎn)處繼續(xù)執(zhí)行。采用中斷方式可大大提高工作效率提高工作效率。7.3.2 I/O接口電路接口電路常用的外圍I/O接口芯片:(1)82C55:可編程通用并行接口(3個8位I/O口);12 (2)81C55:可編程的IO/RAM擴(kuò)展接口電路(2個8位I/O口,1個6位I/O口,256RAM單元,1個14位的減法計數(shù)器)。都可以和AT89S51直接連接,接口邏輯簡單。7.3.4 AT89S51擴(kuò)展擴(kuò)展I/O接口芯片接口芯片82C55的設(shè)計的設(shè)計 先介紹可編程并行I/O接口芯片82C55的應(yīng)用特性應(yīng)用特性,然后介紹AT89S51與82C55的接口電
8、路接口電路以及軟件設(shè)計軟件設(shè)計。一、一、 82C55芯片簡介芯片簡介 Intel公司的可編程并行I/O接口芯片,3個個8位并行位并行I/O口,口,3種工作方式,種工作方式,單片機(jī)與多種外設(shè)連接時的中間接口電路。中間接口電路。引腳及內(nèi)部結(jié)構(gòu)如圖圖9-1和圖圖9-2。1382C55的引腳圖 82C55的內(nèi)部結(jié)構(gòu)14(1)引腳說明引腳說明共40個引腳個引腳,引腳功能如下引腳功能如下:D7D0:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)的P0口連接,用來與單片機(jī)之間傳送數(shù)據(jù)信息。CS*:片選信號線,低有效,表示本芯片被選中。RD*:讀信號線,低有效,讀82C55端口數(shù)據(jù)的控制信號。WR*:寫信號線,低電平有效,用來向8
9、2C55寫入端口數(shù)據(jù)的控制信號。Vcc:+5V電源。15 PA7PA0:端口A輸入/輸出線。 PB7PB0:端口B輸入/輸出線。 PC7PC0:端口C輸入/輸出線。 A1、A0:地址線,用來選擇82C55內(nèi)部的4個端口。 RESET:復(fù)位引腳,高電平有效。(2)內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 如圖圖,3個并行數(shù)據(jù)輸入個并行數(shù)據(jù)輸入/輸出端口輸出端口,兩種工作方式兩種工作方式的控制電路,一個讀/寫控制邏輯電路和一個8位數(shù)據(jù)總線緩沖器。各部件的功能如下:16端口端口PA、PB、PC3個8位并行口PA、PB和PC,都可選為輸入/輸出工作模式,功能和結(jié)構(gòu)上有差異。PA口:口:一個8位數(shù)據(jù)輸出鎖存器和緩沖器輸出鎖存器
10、和緩沖器;一個8位數(shù)據(jù)輸入鎖存輸入鎖存器。PB口:口:一個8位數(shù)據(jù)輸出鎖存器和緩沖器輸出鎖存器和緩沖器;一個8位數(shù)據(jù)輸入緩沖器輸入緩沖器。PC口:口:一個8位的輸出鎖存器輸出鎖存器;一個8位數(shù)據(jù)輸入緩沖器輸入緩沖器。通常PA口、口、PB口口作為輸入/輸出口,PC口口既可作為輸入/輸出口,也可在軟件控制下,分為兩個4位端口,作為端口PA、PB選通方式操作時的狀態(tài)控制信號。17A組和組和B組控制電路組控制電路是兩組根據(jù)AT89S51寫入的“命令字命令字”控制82C55工作方式的控制電路。A組組控制PA口和PC口的上半部上半部(PC7PC4);B組組控制PB口和PC口的下半部下半部(PC3PC0),
11、并可用“命令字”來對端口PC的每一位實(shí)現(xiàn)按位置“1”或清“0”。數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個三態(tài)雙向8位緩沖器,作為82C55與系統(tǒng)總線之間的接口,用來傳送用來傳送數(shù)據(jù)、指令、控制命令以及外部狀態(tài)信息。18讀讀/寫控制邏輯電路寫控制邏輯電路接收接收AT89S51單片機(jī)發(fā)來單片機(jī)發(fā)來的控制信號控制信號RD* 、WR* 、RESET、地址信號地址信號A1、A0等,然后根據(jù)控制信號的要求,端口數(shù)據(jù)被AT89S51單片機(jī)讀出,或者將AT89S51單片機(jī)送來的數(shù)據(jù)寫入端口。各端口工作狀態(tài)與控制信號的關(guān)系如表表9-1。1920RDWRCS二、二、 工作方式選擇控制字及端口工作方式選擇控
12、制字及端口PC置位置位/復(fù)位控制字復(fù)位控制字可向向82C55控制寄存器寫入兩種控制寄存器寫入兩種不同的控制字不同的控制字。1工作方式選擇控制字工作方式選擇控制字82C55有3種種基本工作方式:(1)方式)方式0基本輸入/輸出;(2)方式)方式1選通輸入/輸出;(3)方式)方式2雙向傳送(僅PA口有此工作方式)。3種工作方式方式控制字來決定。格式格式如圖圖。最高位D7=1,為本方式控制字的標(biāo)志標(biāo)志,以便與另一控制字相區(qū)別(最高位D7 = 0)。212282C55的方式控制字格式PCPC口分兩部分口分兩部分,隨,隨PAPA口口稱為稱為A A組組,隨,隨PBPB口口稱為稱為B B組組。其中。其中PA
13、PA口口可工作于方式可工作于方式0 0、1 1和和2 2,而,而PBPB口口只能工作在只能工作在方式方式0 0和和1 1?!纠纠?-57-5】AT89S51單片機(jī)向單片機(jī)向82C55的控制字寄存器的控制字寄存器(假設(shè)假設(shè)端口地址為端口地址為FF7FH)寫入工作方式控制字寫入工作方式控制字95H,根據(jù)圖,根據(jù)圖9-3所所示,可將示,可將82C55編程設(shè)置為:編程設(shè)置為:PA口方式口方式0輸入,輸入,PB口方式口方式1輸出,輸出,PC口的上半部分(口的上半部分(PC7PC4)輸出,)輸出,PC口的下半口的下半部分(部分(PC3PC0)輸入。)輸入。#include #define COM8255
14、 XBYTE0 xff7f/*0 xff7f為為82C55的控制寄存器地址的控制寄存器地址*/#define uchar unsigned charvoid init8255(void)23COM 8255=0 x95;/*工作方式選擇控制字寫入工作方式選擇控制字寫入82C55的控制的控制寄存器寄存器*/2PC口按位置位口按位置位/復(fù)位控制字復(fù)位控制字 82C55的另一個控制字為的另一個控制字為PC口按位置位口按位置位/復(fù)位控制字。即復(fù)位控制字。即PC口口8位中的任何一位,可用一個寫入位中的任何一位,可用一個寫入82C55控制口的置位控制口的置位/復(fù)位復(fù)位控制字來對控制字來對PC口按位置口按位
15、置“1”或清或清“0”。該功能主要用于位控。該功能主要用于位控。PC口按位置位口按位置位/復(fù)位控制字的格式如復(fù)位控制字的格式如圖圖所示。所示。 【例【例7-6】 AT89S51單片機(jī)向單片機(jī)向82C55的控制字寄存器寫入工的控制字寄存器寫入工作方式控制字作方式控制字07H,則,則PC3置置1;08H寫入控制口,則寫入控制口,則PC4清清0。假設(shè)假設(shè)82C55的端口寄存器的地址為的端口寄存器的地址為FF7FH,程序段如,程序段如下:下:#include #define COM 8255 XBYTE0 xff7f /*0 xff7f為為82C55的控制寄存器地址的控制寄存器地址*/void ini
16、t8255(void) COM 8255=0 x07;/*PC置置/復(fù)位控制字寫控制寄存器,復(fù)位控制字寫控制寄存器,PC3=1 */COM 8255=0 x08;/*PC置置/復(fù)位控制字寫入控制寄存器,復(fù)位控制字寫入控制寄存器,PC4=0*/ 25圖圖 PC口按位置位/復(fù)位控制字格式三三 82C55的的3種工作方式種工作方式1方式方式0 基本輸入基本輸入/輸出方式輸出方式。T89S51可對82C55進(jìn)行I/O數(shù)據(jù)的無條件傳送無條件傳送。 例如,例如,AT89S51單片機(jī)從82C55的某一輸入口讀入一組開關(guān)狀態(tài),從82C55輸出控制一組指示燈的亮、滅。并不需并不需要任何條件,要任何條件,外設(shè)I/
17、O數(shù)據(jù)可在82C55的各端口得到鎖存和緩沖。因此,方式方式0稱為基本輸入基本輸入/輸出方式輸出方式。 方式0下,3個端口都可以由軟件設(shè)置為輸入或輸出,不需要應(yīng)答聯(lián)絡(luò)信號。方式0基本功能基本功能:27 (1)具有兩個8位端口(PA、PB)和兩個4位端口(PC的上半部分和下半部分); (2)任何端口都可以設(shè)定為輸入或輸出,各端口的輸入、輸出共有16種組合。 PA口、口、PB口和口和PC口口均可設(shè)定為均可設(shè)定為方式方式0,并可根據(jù)需要,向控制寄存器寫入工作方式控制字,規(guī)定各端口為輸入或輸出方式。【例【例7-7】假設(shè)假設(shè)82C55的控制字寄存器端口地址為的控制字寄存器端口地址為FF7FH,則令則令PA
18、口和口和PC口的高口的高4位工作在方式位工作在方式0輸出,輸出,PB口和口和PC口口的低的低4位工作于方式位工作于方式0輸入,初始化程序如下:輸入,初始化程序如下:uchar xdata COM8255 _at_0 xff7f/*0 xff7f為82C55的控制寄存器地址*/void init8255(void) COM8255=0 x83;/*工作方式選擇控制字寫入控制寄存器*/292 2方式方式1 1應(yīng)答聯(lián)絡(luò)應(yīng)答聯(lián)絡(luò)的輸入的輸入/輸出工作方式輸出工作方式。PA口、PB口皆可設(shè)成這種工作方式。方式1下,82C55的PA口和口和PB口口通常用于I/O數(shù)據(jù)的傳送,PC口口用作PA口和PB口的應(yīng)答
19、聯(lián)絡(luò)信號線應(yīng)答聯(lián)絡(luò)信號線,以實(shí)現(xiàn)采用中斷方式來傳送I/O數(shù)據(jù)。PC口的PC7PC0的應(yīng)答聯(lián)絡(luò)線是規(guī)定好的應(yīng)答聯(lián)絡(luò)線是規(guī)定好的,其各位分配如圖如圖所示,圖中,標(biāo)有I/O的各位仍可用作基本輸入/輸出,不作應(yīng)答聯(lián)絡(luò)用。介紹方式1輸入/輸出時的應(yīng)答聯(lián)絡(luò)信號應(yīng)答聯(lián)絡(luò)信號與工作原理工作原理。30圖圖 方式方式1輸入應(yīng)答聯(lián)絡(luò)信號輸入應(yīng)答聯(lián)絡(luò)信號(1)方式)方式1輸入輸入 方式1輸入應(yīng)答聯(lián)絡(luò)信號如圖圖。其中STB* 與IBF為一對一對應(yīng)答聯(lián)絡(luò)信號。各應(yīng)答聯(lián)絡(luò)信號應(yīng)答聯(lián)絡(luò)信號的功能功能如下。STB*:是由輸入外設(shè)輸入外設(shè)發(fā)給82C55的選通輸入信號選通輸入信號,低有效。IBF:輸入緩沖器滿,應(yīng)答信號。82C55
20、通知外設(shè)已收到外設(shè)發(fā)來的且已進(jìn)入輸入緩沖器的數(shù)據(jù),高有效。INTR:由82C55向AT89S51單片機(jī)發(fā)出的中斷請求信號,高有效。INTEA:控制PA口是否允許中斷口是否允許中斷的控制信號,由PC4的置位/復(fù)位來控制。32INTEB:控制PB口是否允許中斷的控制信號,由PC2的置位/復(fù)位來控制。方式1輸入如圖圖。下面以PA口的方式1輸入為例,介紹方方式式1輸入的工作過程。輸入的工作過程。 當(dāng)外設(shè)向82C55輸入一個數(shù)據(jù)并送到PA7PA0時,外設(shè)自動在STB*上向82C55發(fā)送一個低電平選通信號。 82C55收到STB*后,先把PA7PA0輸入的數(shù)據(jù)存入存入PA口的輸入數(shù)據(jù)緩沖/鎖存器,然后使輸
21、出應(yīng)答線IBF變?yōu)楦撸ㄖ斎胪庠O(shè),PA口已收到它送來的數(shù)據(jù)。 82C55檢測到STB*由低電平變?yōu)楦唠娖?、IBFA(PC5)為“1”狀態(tài)和中斷允許INTEA(PC4)=1時,使INTRA(PC3)33圖圖 PA口方式1輸入工作過程示意圖變?yōu)楦唠娖阶優(yōu)楦唠娖?,向單片機(jī)發(fā)出中斷請求。INTEA的狀態(tài)可由用戶通過指令對PC4的單一置位/復(fù)位控制字來控制。 單片機(jī)響應(yīng)中斷后,進(jìn)入中斷服務(wù)子程序進(jìn)入中斷服務(wù)子程序來讀取讀取PA口口的外設(shè)發(fā)來的輸入數(shù)據(jù)的外設(shè)發(fā)來的輸入數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)被單片機(jī)讀走后,82C55撤銷撤銷INTRA上的中斷請求上的中斷請求,并使IBFA變低低,通知輸入通知輸入外設(shè)外設(shè)可傳送下
22、一個輸入數(shù)據(jù)。35(2)方式)方式1輸出輸出 方式1輸出時,應(yīng)答聯(lián)絡(luò)信號如圖圖。OBF*與與ACK* 構(gòu)成一一對對應(yīng)答聯(lián)絡(luò)信號應(yīng)答聯(lián)絡(luò)信號,應(yīng)答聯(lián)絡(luò)信號功能如下。OBF*:端口輸出緩沖器滿信號,低有效,它是82C55發(fā)給外設(shè)的聯(lián)絡(luò)信號,表示外設(shè)可以將數(shù)據(jù)取走。ACK*:外設(shè)應(yīng)答信號,低有效。表示外設(shè)已把82C55發(fā)出的數(shù)據(jù)取走。INTR:中斷請求信號,高有效。表示該數(shù)據(jù)已被外設(shè)取走,向單片機(jī)單片機(jī)發(fā)中斷請求,如果AT89S51響應(yīng)該中斷,在中斷服務(wù)子程序中向82C55寫入要輸出的下一數(shù)據(jù)。36圖圖 方式1輸出應(yīng)答聯(lián)絡(luò)信號INTEA控制PA口是否允許中斷,由PC6控制。INTEB控制PB口是否允
23、許中斷,由PC2控制。方式1輸出工作示意如圖圖。以PB口的方式口的方式1輸出輸出為例,介紹工作過程。 AT89S51可以通過“MOVX Ri,A”指令把輸出數(shù)據(jù)送到B口的輸出數(shù)據(jù)鎖存器,82C55收到后便令輸出緩沖器滿引腳 OBF* (PC1)變低,以通知輸出設(shè)備輸出的數(shù)據(jù)已在PB口的PB7PB0上。 輸出外設(shè)收到OBF*上低電平后,先從PB7PB0上取走輸出數(shù)據(jù),然后使ACKB* 變低電平,以通知82C55輸出外設(shè)已收到82C55輸出的數(shù)據(jù)。38 圖圖 PB口方式1輸出工作過程示意圖39 82C55從應(yīng)答輸入線從應(yīng)答輸入線ACKB*收到低電平后就對收到低電平后就對OBF*和和中斷允許控制位中
24、斷允許控制位INTEB狀態(tài)進(jìn)行檢測,若皆為高電平,則狀態(tài)進(jìn)行檢測,若皆為高電平,則INTRB變?yōu)楦唠娖阶優(yōu)楦唠娖蕉騿纹瑱C(jī)請求中斷。而向單片機(jī)請求中斷。 AT89S51單片機(jī)單片機(jī)響應(yīng)響應(yīng)INTRB上中斷請求后便可通過中斷上中斷請求后便可通過中斷服務(wù)程序把服務(wù)程序把下一個輸出數(shù)據(jù)下一個輸出數(shù)據(jù)送到送到PB口的輸出數(shù)據(jù)鎖存器。重口的輸出數(shù)據(jù)鎖存器。重復(fù)上述過程,完成數(shù)據(jù)的輸出。復(fù)上述過程,完成數(shù)據(jù)的輸出?!纠?-8】設(shè)置設(shè)置PA口為應(yīng)答方式輸入,口為應(yīng)答方式輸入,PB口為應(yīng)答方式輸口為應(yīng)答方式輸出。假設(shè)出。假設(shè)82C55的端口寄存器的地址為的端口寄存器的地址為FF7FH,程序如下:程序如下:u
25、char xdata COM8255 _at_0 xff7f/*0 xff7f為為82C55的控制寄存器地址的控制寄存器地址*/40void init8255(void) COM8255=0 xb4;/*工作方式選擇控制字寫入控制寄存器*/ 3方式方式2只有PA口有方式2。圖圖 為工作示意圖。方式方式2是是方式方式1輸入輸入和和輸出輸出組合組合。PA7PA0為雙向I/O總線。當(dāng)作為輸入口使用,PA7PA0受STBA 和IBFA控制;當(dāng)作輸出端口輸出端口使用,PA7PA0受OBFA*、ACKA* 控制。圖圖9-9 PA口在方式2下的工作示意圖方式方式2 2特別適用于像鍵盤、顯示器一類的外部設(shè)備特
26、別適用于像鍵盤、顯示器一類的外部設(shè)備,因?yàn)?,因?yàn)橛袝r需要把鍵盤上輸入的編碼信號通過有時需要把鍵盤上輸入的編碼信號通過PAPA口送給單片機(jī),有口送給單片機(jī),有時又需把單片機(jī)發(fā)出的數(shù)據(jù)通過時又需把單片機(jī)發(fā)出的數(shù)據(jù)通過PAPA口送給顯示器顯示??谒徒o顯示器顯示。7.3.4 AT89S51單片機(jī)與單片機(jī)與82C55的接口設(shè)計的接口設(shè)計1硬件接口電路硬件接口電路如圖為AT89S51擴(kuò)展一片82C55的電路。P0.1、P0.0經(jīng)經(jīng)74LS373與與82C55的的A1、A0連接連接;P0.7經(jīng)74LS373與片選端CS*相連,其它地址線懸空;82C55的控制線RD*、WR* 直接與單片機(jī)RD*和和 WR*端
27、相連;單片機(jī)數(shù)據(jù)總線P0.0P0.7與82C55數(shù)據(jù)線D0D7連接。442確定確定82C55端口地址端口地址圖圖中中82C5582C55只有只有3 3條線與條線與AT89S51AT89S51地址線相接,片選端地址線相接,片選端 CSCS* *、端口地址選擇端端口地址選擇端A1A1、A0A0,分別接于,分別接于P0.7P0.7、P0.1P0.1和和P0.0P0.0,其他,其他地址線全懸空。顯然只要保證地址線全懸空。顯然只要保證P0.7P0.7為低為低電平時,電平時,即可選中即可選中82C5582C55;若;若P0.1P0.1、P0.0P0.0再為再為“00”00”,則選中,則選中82C5582C
28、55的的PAPA口。同口。同理理P0.1P0.1、P0.0P0.0為為“01”01”、“10”10”、“11”11”分別選中分別選中PBPB口、口、PCPC口及控制口??诩翱刂瓶?。若端口地址用若端口地址用1616位表示,其他無用端全設(shè)為位表示,其他無用端全設(shè)為“1”1”(也可(也可把無用端全設(shè)為把無用端全設(shè)為“0”0”),則),則82C5582C55的的A A、B B、C C及控制口及控制口地址地址分別為分別為FF7CHFF7CH、FF7DHFF7DH、FF7EHFF7EH、FF7FHFF7FH。45 圖圖 AT89S51單片機(jī)擴(kuò)展一片82C55的接口電路46如果沒有用到的位取如果沒有用到的位
29、取“0”0”,則,則4 4個端口地址分別為個端口地址分別為0000H0000H、0001H0001H、0002H0002H、0003H0003H,只要保證只要保證 、A1A1、A0A0的狀態(tài),無用位的狀態(tài),無用位設(shè)為設(shè)為“0”0”或或“1”1”均可。均可。3軟件編程軟件編程在實(shí)際設(shè)計中,須根據(jù)外設(shè)的類型選擇82C55的操作方式,并在初始化程序中把相應(yīng)控制字寫入控制口在初始化程序中把相應(yīng)控制字寫入控制口。下面根據(jù)圖圖9-10,介紹對82C55進(jìn)行操作的編程?!纠纠?-9】根據(jù)上例根據(jù)上例圖圖,要求,要求82C55的的PC口工作在方式口工作在方式0,并從并從PC5腳輸出連續(xù)的方波信號,頻率為腳輸
30、出連續(xù)的方波信號,頻率為500Hz,參考程序,參考程序如下:如下:47#include #include #define PA8255 XBYTE0 xff7c/*0 xff7c為82C55 PA端口地址*/#define PB8255 XBYTE0 xff7d/*0 xff7d為82C55 PB端口地址*/#define PC8255 XBYTE0 xff7e/*0 xff7e為82C55 PC端口地址*/#define COM8255 XBYTE0 xff7f/*0 xff7f為82C55控制寄存器地址*/#define uchar unsigned charextern void del
31、ay_1000us ( );48void init8255(void) COM8255=0 x85;/*工作方式選擇控制字寫入控制寄存器*/void main(void) init8255(void)for(;)COM8255=0 x0b;/*PC5腳為高電平*/delay_1000us ( );/*高電平持續(xù)1000微秒*/COM8255=0 x0a;/*PC5腳為低電平*/delay_1000us ( ) ;/*低電平持續(xù)1000微秒*/ 8155 8155可編程并行可編程并行I/OI/O接口擴(kuò)展芯片接口擴(kuò)展芯片(1 1)81558155內(nèi)部結(jié)構(gòu)及引腳功能內(nèi)部結(jié)構(gòu)及引腳功能(2 2)815
32、58155的控制字格式的控制字格式XTIMINTEBBBFINTRBINTEAABFINTRAA口 中 斷 請 求 標(biāo) 志A口 緩 沖 器 滿 /空 標(biāo) 志允 許 A口 中 斷 標(biāo) 志B口 中 斷 請 求 標(biāo) 志B口 緩 沖 器 滿 /空 標(biāo) 志D7D6D5D4D3D2D1D0允 許 B口 中 斷 標(biāo) 志定 時 器 中 斷 標(biāo) 志 , 計 數(shù) 滿 該 位 置 “ 1” 中 斷 請 求 , 復(fù) 位 后 為 “ 0”空(3 3)81558155的狀態(tài)字格式的狀態(tài)字格式 8155片內(nèi)可編程定時/計數(shù)器由兩個8位寄存器組成,低8位和高6位存放計數(shù)初值,最高2位控制定時器的工作方式 (4 4)81558
33、155的定時器使用的定時器使用M2M1 T13 T12 T11 T10 T9T8D7D6D5D4D3D2D1D0M2M1 T13 T12 T11 T10 T9T8D7D6D5D4D3D2D1D0定時方式計數(shù)初值高6位計數(shù)初值低8位(5 5)81558155的端口地址分配的端口地址分配AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0選選 中中 的的 寄寄 存存 器器 0 0 0 0 0 0命令命令/ /狀態(tài)寄存器狀態(tài)寄存器 0 0 1 0 0 1PAPA口口 0 1 0 0 1 0PBPB口口 0 1 1 0 1 1PC
34、PC口口 1 0 0 1 0 0定時計數(shù)器的低定時計數(shù)器的低8 8位寄存器位寄存器 1 0 1 1 0 1定時計數(shù)器的高定時計數(shù)器的高6 6位寄存器及位寄存器及工作方式字工作方式字(2(2位位) )81558155接口擴(kuò)展舉例接口擴(kuò)展舉例(1 1)82558255與單片機(jī)連接圖與單片機(jī)連接圖 81558155的端口地址編碼為:的端口地址編碼為:命令/狀態(tài)寄存器地址:7F00H,片內(nèi)RAM字節(jié)地址: 7E00H7EFFH,PA口地址: 7F01H,PB口地址: 7F02H,PC口地址: 7F03H,定時計數(shù)器低位地址: 7F04H,定時計數(shù)器高位地址: 7F05H。 若要求若要求81558155
35、的的PAPA、PBPB作為基本輸出口,作為基本輸出口,PCPC作為基本輸作為基本輸入口,不允許中斷,不啟動定時計數(shù)器,則命令字為入口,不允許中斷,不啟動定時計數(shù)器,則命令字為03H03H,初始化編程下:,初始化編程下: MOV DPTR, #7F00H MOV DPTR, #7F00H ;81558155命令口地址命令口地址 MOV A, #03H MOV A, #03H MOVX DPTR, A MOVX DPTR, A ;寫入命令字;寫入命令字(2 2) 81558155初始化初始化 I2C總線是PHILIPS公司開發(fā)的一種簡單、雙向二線制同步串行總線, 它只需要兩根線(串行時鐘線和串行數(shù)
36、據(jù)線)即可在連接于總線上的器件之間傳送信息。 主要特性如下:總線只有兩根線:串行時鐘線和串行數(shù)據(jù)線; 每個連到總線上的器件都可由軟件以唯一的地址尋址,并建立簡單的主/從關(guān)系, 主器件既可作為發(fā)送器, 也可作為接收器;它是一個真正的多主總線, 帶有競爭檢測和仲裁電路, 可使多主機(jī)任意同時發(fā)送而不破壞總線上的數(shù)據(jù);同步時鐘允許器件通過總線以不同的波特率進(jìn)行通信;同步時鐘可以作為停止和重新啟動串行口發(fā)送的握手方式;連接到同一總線的集成電路數(shù)只受400PF的最大總線電容的限制。利用利用I2CI2C總線進(jìn)行系統(tǒng)擴(kuò)展總線進(jìn)行系統(tǒng)擴(kuò)展 I2C總線接口的電氣結(jié)構(gòu)如圖所示, 組成I2C總線的串行數(shù)據(jù)線SDA和串
37、行時鐘線SCL 必須經(jīng)過上拉電阻Rp接到正電源上, 連接到總線上的器件的輸出級必須為“開漏”或“開集” 的形式,以便完成“線與”功能。SDA和SCL都為雙向I/O口線, 總線空閑時皆為高電平。 總線上數(shù)據(jù)傳送最高速率可達(dá)100Kbit/s。I2CI2C總線的電氣結(jié)構(gòu)總線的電氣結(jié)構(gòu) I2C總線可以構(gòu)成多主數(shù)據(jù)傳送系統(tǒng), 但只有帶CPU的器件可以成為主器件。 主器件發(fā)送時鐘、啟動位、數(shù)據(jù)工作方式, 從器件則接收時鐘及數(shù)據(jù)工作方式。接收或發(fā)送則根據(jù)數(shù)據(jù)的傳送方向決定。I2C總線上數(shù)據(jù)傳送時的啟動、結(jié)束和有效狀態(tài)都由SDA、SCL的電平狀態(tài)決定, 在I2C總線規(guī)程中啟動和停止條件規(guī)定如下:啟動條件:
38、在SCL為高電平時, SDA出現(xiàn)一個下降沿則啟動I2C總線。 停止條件: 在SCL為高電平時, SDA出現(xiàn)一個上升沿則停止使用I2C總線。 在啟動和停止條件之間可轉(zhuǎn)送的數(shù)據(jù)不受限制,但每個字節(jié)必須為8位,先傳送最高位, 在每個字節(jié)之后必須跟一個響應(yīng)位。主器件收發(fā)每個字節(jié)后產(chǎn)生一個時鐘應(yīng)答脈沖, 在這期間, 發(fā)送器必須保證 SDA為高, 由接收器將SDA拉低, 稱為應(yīng)答信號(ACK)。主器件為接收器時, 在接收了最后一個字節(jié)之后不發(fā)應(yīng)答信號, 也稱為非應(yīng)答信號(NOT ACK)。I2CI2C總線的數(shù)據(jù)傳輸總線的數(shù)據(jù)傳輸 總線中每個器件都有自己唯一確定的地址, 啟動條件后主機(jī)發(fā)送的第一個字節(jié)就是被讀寫的從器件地址, 其中第8位為方向位, “0”(W)表示主器件發(fā)送,“1”(R)表示主器件接收。總線上每個器件在啟動條件后都把自己的地址與前7位相比較, 如相同則器件被選中, 產(chǎn)生應(yīng)答, 并根據(jù)讀寫位決定在數(shù)據(jù)傳送中是接
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年山東水發(fā)高科發(fā)展集團(tuán)有限公司第三季度社會招聘筆試參考題庫附帶答案詳解
- 2024年甘肅公交建集團(tuán)清傅項(xiàng)目收費(fèi)運(yùn)營工作人員招聘(90人)筆試參考題庫附帶答案詳解
- 第26課《詩詞五首:赤壁》教學(xué)設(shè)計 2024-2025學(xué)年統(tǒng)編版語文八年級上冊
- 《與妻書》教學(xué)設(shè)計-2023-2024學(xué)年高一語文統(tǒng)編版必修下冊
- 2024年安徽交控集團(tuán)界阜蚌公司招聘收費(fèi)協(xié)管員12人筆試參考題庫附帶答案詳解
- 2025年廣西農(nóng)業(yè)工程職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫完整
- 2024年12月國家中醫(yī)藥管理局機(jī)關(guān)服務(wù)中心編外合同制人員公開招聘2人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2024年12月2025陜西延安市教育類事業(yè)單位校園公開招聘141人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 建設(shè)工程安全生產(chǎn)技術(shù)題庫+答案
- 變電站值班員-中級工練習(xí)題及答案
- 2022年南京信息職業(yè)技術(shù)學(xué)院職業(yè)適應(yīng)性測試模擬試題及答案解析
- 英語演講素材OfMiceandMen課件
- 廣東佛山祖廟導(dǎo)游詞
- 硬筆書法紙可打印
- 正丁烷的理化性質(zhì)及危險特性表
- 入團(tuán)志愿書(2016版本)(可編輯打印標(biāo)準(zhǔn)A4) (1)
- 《朝天子詠喇叭》教學(xué)設(shè)計
- 《金融學(xué)基礎(chǔ)》實(shí)訓(xùn)手冊
- 稅收基礎(chǔ)知識考試題庫
- 1t燃?xì)庹羝仩t用戶需求(URS)(共13頁)
- 廣發(fā)證券分支機(jī)構(gòu)人員招聘登記表
評論
0/150
提交評論