摘 要:本文重點闡述數(shù)碼管顯示及鍵盤接口專用控制芯片BC7281A與MCU串行通訊中應(yīng)注意的幾個問題,給出了有效的解決方法,并提出了改進建議。
關(guān)鍵詞:嵌入式系統(tǒng);串行通信;BC7281A
傳統(tǒng)的數(shù)碼管顯示和鍵盤接口一般直接采用MCU的I/O口對鍵盤或數(shù)碼管進行動態(tài)掃描的方法,硬件上需要較多的外圍部件,且占用MCU大量I/O口,軟件上則浪費CPU資源,且給編程人員帶來很大的不便。數(shù)碼管顯示及鍵盤接口專用控制芯片以其實現(xiàn)方法簡單、功能強大等顯著特點得到廣泛的應(yīng)用。這種芯片外圍部件少、與MCU通訊一般采用串行接口或總線、在硬件上和軟件上都占用極少資源、且功能強大、使得編程人員可以將更多的時間花在控制上。目前的這類接口芯片主要有:BC728X、HD7279A、ZLG7290、CH451等,BC7281A是其中性價比較高的一種。
典型應(yīng)用電路
BC7281A的典型應(yīng)用電路如圖1所示,顯示位數(shù)為16位,連接的鍵盤個數(shù)為64個,其外接移位寄存器采用74HC164,控制MCU采用ATMEL公司的AT89C51,為簡單起見,圖中僅畫出與BC7281A相關(guān)的電路。
BC7281A與MCU之間的通訊
BC7281A與MCU之間的通訊是采用2線高速串行接口,這兩個連線分別是數(shù)據(jù)線DAT和同步時鐘線CLK,其中DAT為雙向數(shù)據(jù)傳輸線,BC7281A既用該線從MCU接收數(shù)據(jù),也用該線向MCU發(fā)送數(shù)據(jù)。BC7281A的DAT引腳為漏極開路輸出結(jié)構(gòu),使用時須在該線上加20KW左右的上拉電阻。CLK引腳為串行時鐘接口的同步時鐘,由MCU控制,下降沿有效。串行接口數(shù)據(jù)寬度為8位,時序圖如圖2所示。
由于BC7281A的2線串行接口是自行規(guī)定的,一般MCU都不具備此通訊接口,但可以采用軟件實現(xiàn)。MCU發(fā)送指令或數(shù)據(jù)到BC7281A子程序為SEND,MCU接收數(shù)據(jù)子程序為RECEIVE,采用51