將AT89C52用作多功能外圍器件使用
摘要:介紹利用AT89C52單片機作為多功能可編程接口的方法。該接口具有1個(gè)鍵盤(pán)/顯示接口,2個(gè)16位定時(shí)/計數器和1個(gè)全雙工異步串行通信口。其模塊化的設計,可以給用戶(hù)使用帶來(lái)許多方便。
AT89C52(簡(jiǎn)稱(chēng)89C52)的廣泛使用,使單片機的價(jià)格大大下降。目前,89C52的市場(chǎng)零售價(jià)已經(jīng)低于8255、8279、8253、8250等專(zhuān)用接口芯片中的任何一種;而89C52的功能實(shí)際上遠遠超過(guò)以上芯片。因此,如把89C52作為接口芯片使用,在經(jīng)濟上是合算的。在本人設計的系統中,將89C52設計為多功能可編程接口,其相關(guān)程序固化在片內的Flash ROM中。該芯片(以下簡(jiǎn)稱(chēng)多功能接口)具有如下功能:①有1個(gè)專(zhuān)用的鍵盤(pán)/顯示接口;②有1個(gè)全雙工異步串行通信接口;③有2個(gè)16位定時(shí)/計數器。這樣,1個(gè)89C52芯片,承擔了3個(gè)專(zhuān)用接口芯片的工作;不僅使成本大大下降,而且優(yōu)化了硬件結構和軟件設計,給用戶(hù)帶來(lái)許多方便。
1 硬件結構
把89C52當作接口使用,接口自身必須盡可能地少占用硬件資源,與主系統之間的連接線(xiàn)也應盡可能少,這樣才能少占主機引腳,把更多的資源留給系統。本設計中,主機與多功能接口之間采用串行通信。主機與多功能接口之間有四根連接線(xiàn):CE、CLK、DAT、INTR。CE用于作片選信號輸入端。此引腳為低電平時(shí),主機能與多功能接口進(jìn)行數據傳送。CLK為時(shí)鐘輸入端,當主機向多功能接口發(fā)送指令時(shí),此引腳電平上升表示數據有效。DAT為串行數據輸入/輸出端。INTR為多功能接口輸出端。當多功能接口內的數據準備好時(shí),由INTR向主機發(fā)低電平,通知主機,數據已準備就緒,可以進(jìn)行讀操作。該信號可供主機查詢(xún),也可用作發(fā)向主機的中斷請求信號。
89C52的P0、P1、P2口用作鍵盤(pán)/顯示接口。用程序掃描的方法進(jìn)行鍵盤(pán)輸入和顯示輸出。P0口作為字段口,P1口作為鍵盤(pán)的列輸入口,P2作為顯示器的字位口以及鍵盤(pán)的行掃描輸出口。由于顯示器字位口電流較大,P2口需進(jìn)行電流驅動(dòng)。該多功能接口最多可連接8個(gè)LED顯示器和1個(gè)8
評論