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