傳統(tǒng)的鍵盤(pán)顯示驅(qū)動(dòng)器件(如INTEL8279)通常采用并行接口,占用單片機(jī)至少10個(gè)I/0端口,,因此該鍵盤(pán)顯示驅(qū)動(dòng)器不適用于單片機(jī)資源緊張的應(yīng)用,。而改進(jìn)的采用SPI(Serial PeripIleral Interface)串行總線(xiàn)的ZLG7289器件與采用I2C(Intel IC Bus)串行總線(xiàn)的ZLG7290器件均須接入獨(dú)立的晶體振蕩器才能工作,不能直接支持RC振蕩器電路,,復(fù)位端必須接RC復(fù)位電路才使器件可靠復(fù)位,,且片選端CS一般不可直接接地,否則顯示可能出現(xiàn)閃爍,,軟件延時(shí)調(diào)試比較困難,。而鍵盤(pán)顯示驅(qū)動(dòng)專(zhuān)用器件HD7279A則不存在這樣的問(wèn)題,能夠穩(wěn)定可靠工作,,外圍電路簡(jiǎn)單,,可廣泛應(yīng)用于儀器儀表、工業(yè)控制器,、條形顯示器,、控制面板等。這里給出了HD7279A接口的典型應(yīng)用設(shè)計(jì)。
2 HD7279A簡(jiǎn)介
HD7279A是一款具有簡(jiǎn)單SPI串行接口" title="串行接口">串行接口的器件,,可直接驅(qū)動(dòng)8位共陰式數(shù)碼管(或64個(gè)獨(dú)立的LED),,管理多達(dá)64鍵鍵盤(pán),單片即可完成LED顯示和鍵盤(pán)接口的全部功能,,大大簡(jiǎn)化電路設(shè)計(jì),,占用單片機(jī)資源極少(最少2線(xiàn)),完全免調(diào)試,,外圍電路更簡(jiǎn)單,。HD7279A內(nèi)部含有譯碼器可直接接收BCD碼或16進(jìn)制碼,也可不譯碼,,并同時(shí)具有兩種譯碼方式,。此外,該器件還具有多種控制指令,,諸如消隱,,閃爍,左移,,右移和段尋址等,,顯示控制方式靈活,其段尋址能力可用于獨(dú)立的LED顯示或信息指示燈控制,。圖l為HD729A的引腳配置,,其各引腳功能描述如表1所列。HD7279A具有片選信號(hào),,可方便實(shí)現(xiàn)高于8位的顯示或高于64鍵的鍵盤(pán)接口,,采用多片級(jí)聯(lián),對(duì)片選信號(hào)進(jìn)行譯碼即可實(shí)現(xiàn),。當(dāng)應(yīng)用系統(tǒng)" title="應(yīng)用系統(tǒng)">應(yīng)用系統(tǒng)中只有一片HD7279A時(shí),,片選端CS可直接接地,圖2為其典型應(yīng)用電路,。
應(yīng)用中,,未用的鍵盤(pán)或LED數(shù)碼管均可省去,而且互不影響,。如果不用鍵盤(pán),,典型電路中8只10 kΩ位選電阻和8只100 kΩ下拉電阻均可省去,如果僅接下一個(gè)按鍵,,則8只100 kΩ下拉電阻必須全部連接,。除非不接LED,否則8只200 Ω限流電阻均不能省去,。外接RC振蕩電路的典型值為:R=1.5 kΩ,,C=15 pF,。下拉電阻與位選電阻的阻值應(yīng)遵循一定的比例關(guān)系。在不影響顯示的情況下,,下拉電阻應(yīng)盡可能小,,大大提高鍵盤(pán)抗干擾能力。驅(qū)動(dòng)大功率的LED時(shí)需增加驅(qū)動(dòng)電路,,或盡量采用高亮度LED以簡(jiǎn)化設(shè)計(jì),。復(fù)位端RESET也可由單片機(jī)直接控制以增加可靠性,但需占用單片機(jī)資源,,因此應(yīng)根據(jù)實(shí)際應(yīng)用要求選擇最佳連接方式,。因?yàn)镠D7279A采用動(dòng)態(tài)掃描方式,一般電流較大.故須在靠近電源端并聯(lián)去耦電容以減少于擾,,該電容典型值為100μF,。
3 HD7279A的工作原理
HD7279A最顯著的優(yōu)點(diǎn)是與單片機(jī)的接口簡(jiǎn)單,最多只需5條連接線(xiàn),,分別是復(fù)位端RESET,,片選輸入端CS,同步時(shí)鐘" title="同步時(shí)鐘">同步時(shí)鐘輸入端CLK,,數(shù)據(jù)輸入輸出端DATA和按鍵有效輸出端KEY,。在一般應(yīng)用系統(tǒng)中,RESET可直接接電源,,當(dāng)應(yīng)用系統(tǒng)中只有一片HD7279A器件時(shí),,CS也可以直接接地,此時(shí)只需占用3條單片機(jī)的I/O端口線(xiàn),,如果應(yīng)用系統(tǒng)中沒(méi)有鍵盤(pán),僅具有顯示功能,,或者即使有鍵盤(pán),,但單片機(jī)軟件任務(wù)不復(fù)雜,均可不接KEY線(xiàn),,使用定時(shí)讀取鍵盤(pán)鍵值代碼的方法,,則此時(shí)只需占用2條單片機(jī)的I/0端口線(xiàn)。
HD7279A與單片機(jī)采用SPI串行接口方式連接,,共有3種類(lèi)型16條命令格式,,即不帶數(shù)據(jù)的純指令,帶數(shù)據(jù)的指令和讀鍵盤(pán)鍵值代碼指令,。
(1)復(fù)位(清除)指令A(yù)4H 該指令清除所有顯示,,所有設(shè)置的字符消隱、閃爍等屬性也一并清除,,實(shí)際上電和系統(tǒng)上電初始化后所處狀態(tài)完全相同,,相當(dāng)于初始化命令。該指令為純指令。
(2)下載數(shù)據(jù)且按方式0譯碼指令該指令第一字節(jié)數(shù)據(jù)是命令,,其中a2,,al,a0是8位LED的某一位的二進(jìn)制編碼,。第二字節(jié)數(shù)據(jù)(D0~D7)的第D7位DP表示是否顯示LED的小數(shù)點(diǎn),,DP=l顯示,否則不顯示,;D6~D7是X位,,是無(wú)關(guān)位;D3~D0分別為d3,,d2,,d1,dO,,這4位按照方式0譯碼規(guī)則在該位LED顯示某個(gè)數(shù)字(0~9)或符號(hào)(H,,E,L,,P,,一,空),。
(3)讀鍵盤(pán)鍵值代碼指令15H該指令讀取鍵盤(pán)鍵值代碼,,第一字節(jié)數(shù)據(jù)D7~D0是從單片機(jī)流向HD7279A的命令,第二字節(jié)數(shù)據(jù)D7~D0是從HD7279A流向單片機(jī)的鍵值代碼,,其值的范圍是OOH~3FH:共64個(gè),,無(wú)有效按鍵時(shí)讀出的鍵值代碼是0FFH。其余指令均與上述3條指令類(lèi)似,。圖3為SIP/串行接口時(shí)序,。
4 HD7279A典型應(yīng)用
4.1 硬件設(shè)計(jì)
以基于單片機(jī)的醫(yī)療設(shè)備控制系統(tǒng)中的鍵盤(pán)顯示模塊" title="顯示模塊">顯示模塊為例,該模塊中HD7279A器件與單片機(jī)AT89C52只有3條線(xiàn)相連,,如圖4所示,,其中3引腳插座J1是單片機(jī)AT89C52與HD7279A的連接線(xiàn).占用單片機(jī)的3條I/0端口線(xiàn):P1.7/CLK是單片機(jī)產(chǎn)生的控制同步時(shí)鐘,P1.6/CS是HD7279A的片選線(xiàn),;P1.5/DATA是命令數(shù)據(jù)輸出/輸入線(xiàn),。鍵盤(pán)中斷線(xiàn)KEY懸空,CS端由單片機(jī)控制是基于省電考慮,,也可接地,。HD7279A器件控制4個(gè)LED數(shù)碼管動(dòng)態(tài)顯示,并監(jiān)測(cè)16鍵鍵盤(pán),。CLK時(shí)鐘頻率約100 kHz,,由單片機(jī)編程延時(shí)決定,。在CLK的同步時(shí)鐘作用下,控制命令,、顯示數(shù)據(jù)以及采用查詢(xún)方式讀取鍵盤(pán)鍵值代碼數(shù)據(jù)等均由DATA端輸入/輸出,。采用查詢(xún)方式讀取鍵值代碼可節(jié)省一條單片機(jī)的I/0端口線(xiàn),但需占用較多軟件資源,,由于該實(shí)例中單片機(jī)的任務(wù)并不復(fù)雜,,因此每間隔30 ms讀取一次鍵值代碼。
圖4中DIG4~DIG7既是4位共陰式數(shù)碼管位選控制線(xiàn),,又是鍵盤(pán)列掃描線(xiàn),。SSA~SSG,SDP共8條線(xiàn)是4位數(shù)碼管的段選控制線(xiàn),分別通過(guò)200Ω的限流電阻與HD7279A器件的SA~SG,,DP相連接,,其中SSD~SSG同時(shí)為鍵盤(pán)的行掃描線(xiàn)。排電阻RX1是8×lO kΩ的下拉電阻,,不可省去,。連接到HD7279A器件RC端的振蕩電路中,電阻R13=1.5 kΩ,,電容C2=15 pF都是必須的,,且R13在1~2 kΩ的阻值范同內(nèi)變化,C2在10P~20 pF范圍內(nèi)變化時(shí),,該電路均能穩(wěn)定工作,,而在此范圍之外有可能導(dǎo)致LED意外閃爍或響應(yīng)鍵盤(pán)不靈敏,需要注意的是R13與C2必須盡量靠近HD7279A器件的RC端放置,,以防止相互干擾,。Cl=100μF,為濾波電容,,有利于降低LED大電流工作對(duì)電源的沖擊,。LDl~LD4選用4位獨(dú)立共陰式高亮度數(shù)碼管LED,HD7279A采用動(dòng)態(tài)掃描方式控制LED的顯示,,因此應(yīng)該將4位不顯示位全部消隱,進(jìn)一步提高亮度,。為了使4位LED全亮并保證足夠的亮度,,整個(gè)顯示模塊的工作電流降低到50 mA,可以將8個(gè)限流電阻增大到250~270Ω,。需要注意的是HD7279A不具有雙鍵鎖定功能,,因此在需要雙鍵鎖定功能的應(yīng)用場(chǎng)合,可利用另外的單片機(jī)的I/O線(xiàn)與HD7279A器件聯(lián)合判定,。
由于HD7279A與單片機(jī)采用串行接口(最少2線(xiàn)),,對(duì)鍵盤(pán)的行列監(jiān)控掃描線(xiàn)與顯示控制的位選段選線(xiàn)共用,,外圍元件少,元件取值范圍較寬,,工作電流較小,,工作穩(wěn)定可靠,因此接口電路設(shè)計(jì)簡(jiǎn)單簡(jiǎn)潔,,操作方便,,性?xún)r(jià)比極高。
4.2 軟件設(shè)計(jì)
針對(duì)圖4中的鍵盤(pán)顯示模塊,,給出了圖5所示的軟件編程流程圖,。常規(guī)任務(wù)是指單片機(jī)應(yīng)用系統(tǒng)需要執(zhí)行的其他任務(wù),一次執(zhí)行時(shí)間不超過(guò)20 ms,;顯示任務(wù)是指單片機(jī)發(fā)送給HD7279A器件的顯示或控制命令,,執(zhí)行時(shí)間不超過(guò)5 ms;鍵盤(pán)一次按下保持時(shí)間一般在60 ms以上,,而定時(shí)讀取鍵值代碼的時(shí)間間隔大約為30 ms,,因此只要合理安排軟件執(zhí)行時(shí)序,則常規(guī)任務(wù),、顯示任務(wù)和鍵盤(pán)操作就不會(huì)產(chǎn)生任何沖突,,而且不會(huì)漏掉任何一次按鍵動(dòng)作。
5 結(jié)語(yǔ)
鍵盤(pán)顯示專(zhuān)用器件HD7279A與單片機(jī)的連接采用串口方式,,占用資源很少,,與鍵盤(pán)和顯示器件的連接簡(jiǎn)單,控制命令豐富,,顯示方式多樣,,易于線(xiàn)路板布局,價(jià)格低廉,,軟件結(jié)構(gòu)清晰易學(xué),,是一款性?xún)r(jià)比極高的器件,因此廣泛應(yīng)用于儀器儀表開(kāi)發(fā),。