MCS-51單片機(jī)輸入/輸出口的P0并行擴(kuò)展方法
本文引用地址:http://m.butianyuan.cn/article/171181.htm
2.1 74HC377芯片的功能
輸出接口擴(kuò)展通常用74HC377芯片來(lái)實(shí)現(xiàn)。該芯片是一個(gè)帶允許端的8D鎖存器,其芯片的引腳如圖4所示,各相關(guān)引腳的功能如下:
◇D0~D7為8位數(shù)據(jù)輸入端;
◇Q0~Q7為8位數(shù)據(jù)輸出端;
◇G為使能控制端;
◇CLK為時(shí)鐘信號(hào),上升沿鎖存數(shù)據(jù)。
表1所列是該芯片的真值表。
2.2 應(yīng)用74HC377芯片擴(kuò)展輸出接口
圖5是利用74HC377進(jìn)行輸出接口擴(kuò)展的電路連接圖。圖中,74HC377的G端與P2.6口相連,其地址是x0xxxxxxB,如果把“x”全置為1,則為1011 1111 1111 1111B,這樣,0BFFFH就是該芯片的地址了。
由于MCS-51的WR是與74HC377的CLK端相連的,當(dāng)WR信號(hào)由低變高時(shí),數(shù)據(jù)總線(xiàn)上的數(shù)據(jù)為輸出數(shù)據(jù),而此時(shí)P2.6輸出低電平,G有效,因此,數(shù)據(jù)就被鎖存。其相關(guān)程序如下:
MOV DPTR,#0BFFFH
MOV A,#DATA
MOVX @DPTR,A
此外,利用74HC373芯片、74HC573芯片也可以進(jìn)行P0口的擴(kuò)展。
3 接口擴(kuò)展實(shí)例
在實(shí)際的應(yīng)用系統(tǒng)中,可能需要同時(shí)擴(kuò)展多個(gè)I/O口,以滿(mǎn)足應(yīng)用系統(tǒng)的需要。而各個(gè)輸入、輸出擴(kuò)展I/O芯片應(yīng)通過(guò)74LS138進(jìn)行“全地址”譯碼選通,從而分時(shí)復(fù)用數(shù)據(jù)總線(xiàn)DB (DataBus)。為了防止過(guò)渡干擾對(duì)譯碼選通邏輯造成的影響,單片機(jī)系統(tǒng)所用的外圍芯片一般均設(shè)為雙步選通方式,即除了配置譯碼選通端外,還應(yīng)配置使能選通端。而74HC244芯片本身沒(méi)有明顯的片選和讀/寫(xiě)控制端,設(shè)計(jì)時(shí)通常采用譯碼和讀控制信號(hào)來(lái)同時(shí)控制74HC244的CS,從而有效地抑制輸入/輸出數(shù)據(jù)信息的過(guò)渡干擾。
此電路輸入口擴(kuò)展采用2個(gè)74HC244。其輸入端接鍵盤(pán)或其它數(shù)字信號(hào);而輸出口擴(kuò)展則選用2個(gè)74HC377,以用于控制數(shù)碼管、發(fā)光二極管、繼電器等。其詳細(xì)電路原理圖如圖6所示。
其部分代碼如下:
51單片機(jī)的數(shù)據(jù)/地址/控制總線(xiàn)端口都有一定的負(fù)載能力,P0口可驅(qū)動(dòng)8個(gè)TTL門(mén)電路,P1口、P2口和P3口可驅(qū)動(dòng)4個(gè)TTL門(mén)電路。負(fù)載超過(guò)上述規(guī)定一般應(yīng)加驅(qū)動(dòng)器??偩€(xiàn)驅(qū)動(dòng)器可以使用TTL型三態(tài)緩沖門(mén)電路74HC244、74HC245。另外,在擴(kuò)展口線(xiàn)的同時(shí),還應(yīng)兼顧配置總線(xiàn)驅(qū)動(dòng)器,注意總線(xiàn)負(fù)載平衡的配置。在總線(xiàn)上適當(dāng)安裝上拉電阻可以提高總線(xiàn)信號(hào)傳輸?shù)目煽啃浴?/p>
此外,一個(gè)系統(tǒng)可能由于存在各種干擾及不穩(wěn)定因素而出現(xiàn)故障,為解決這一問(wèn)題,設(shè)計(jì)時(shí)也可以從軟件設(shè)計(jì)方面采取一些措施。
4 結(jié)束語(yǔ)
與其它51單片機(jī)P0口擴(kuò)展相比,本文介紹的輸入/輸出口的P0并行擴(kuò)展方法,可以很方便的實(shí)現(xiàn)P0口的并行擴(kuò)展。所設(shè)計(jì)的接口擴(kuò)展電路已成功用于實(shí)際系統(tǒng)中。實(shí)際運(yùn)行表明,采用該方法擴(kuò)展的P0口系統(tǒng)能夠可靠、穩(wěn)定的運(yùn)行。
評(píng)論