AT89S51單片機并行I/O端口的擴展
1 引言
單片機面向工業(yè)控制領(lǐng)域,控制功能強,在工業(yè)測控系統(tǒng)、智能儀表、智能通信產(chǎn)品、智能家用電器和智能終端設(shè)備等領(lǐng)域得到廣泛應(yīng)用。最常用的80C51系列單片機有4個并行端口(P0,P1,P2,P3端口),但對稍復(fù)雜的應(yīng)用系統(tǒng),真正可供用戶使用的并行端口只有P1端口,且常因擴展I2C和SPI的器件需占用P1端口,迫使用戶不得不擴展并行端口以滿足實際需要。
這里研究80C51系列單片機中的AT89S51并行I/O端口的擴展,采用并行可編程接口器件Intel 8155擴展并行I/O端口,并在擴展的I/O端口上實現(xiàn)數(shù)碼管動態(tài)顯示。
2 系統(tǒng)設(shè)計
2.1 系統(tǒng)硬件設(shè)計
Intel 8155與AT89S51接口方法(圖1):P0接8155的地址數(shù)據(jù)線AD0~AD7;單片機的ALE接8155的ALE;8155的CE與單片機的 P2.6相連接;8155的復(fù)位線RESET與單片機復(fù)位線RESET相連接;8155的RD和WR與AT89S51的RD和WR一一對應(yīng)相連;IO/M 和P2.7相連。
為節(jié)省I/O端口線,常使用數(shù)碼管動態(tài)顯示方式。將所有數(shù)碼管的a,b,c,d,e,f,g,sp引線并聯(lián)在一起,由一個8位I/O端口控制,而公共端由另一個I/O端口控制。動態(tài)方式顯示時,各數(shù)碼管分時輪流選通,在某一時刻只選通一位數(shù)碼--管,并送出相應(yīng)的段碼,在另一時刻選通另一位數(shù)碼管。并送出相應(yīng)的段碼。依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符。雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可給人以同時顯示的感覺。
評論