摘 要:對儀器儀表中普遍使用的LED鍵盤顯示人機交互技術(shù)做了分析,給出一種由智能型LED鍵盤顯示芯片HD7279A構(gòu)成的人機交互電路。該電路具有接口簡單、外圍元件少,體積小,功能強的特點,使用該器件可簡化儀器儀表中人機界面交互電路的設(shè)計。文中給出了HD7279A的主要特性,硬件電路及相應(yīng)程序。
關(guān)鍵詞:智能型 LED鍵盤顯示 人機交互 單片機
1 引言
在儀器儀表電路設(shè)計中,人機交互界面是必不可少的環(huán)節(jié),現(xiàn)階段儀器儀表中通常使用的是發(fā)光數(shù)碼管顯示器(LED)技術(shù)和鍵盤輸入技術(shù),LED顯示技術(shù)獲得廣泛應(yīng)用的原因是:⑴價格低廉;⑵顯示信息清晰醒目;⑶對儀器儀表系統(tǒng)資源占用相對較少;⑷能量消耗相對較小,電源電路簡單。傳統(tǒng)的LED鍵盤顯示人機交互電路通常由以下兩種方式構(gòu)成:⑴采用通用邏輯電路芯片如74LS165、CD4051等構(gòu)成,此種方法的成本較低,但使用的外圍器件數(shù)量眾多,占用的儀器儀表空間較大,可靠性較差;⑵采用專用的顯示芯片或鍵盤顯示接口芯片如MAX7219或Intel 8279等。MAX7219的功能較強但不具備鍵盤管理功能,鍵盤電路需另外設(shè)計,同時該芯片的價格較高。Intel8279雖是專用的鍵盤顯示接口電路,但卻不具備LED顯示器的驅(qū)動能力,同時其總線接口方式造成接口電路復雜,同時也無法和近年來廣為流行的非總線型單片機接口。
鑒于以上原因,這里使用智能型鍵盤顯示控制芯片HD7279A設(shè)計成一種適用于儀器儀表的鍵盤顯示電路,該LED鍵盤顯示人機接口電路克服了傳統(tǒng)人機交互接口電路的缺點,簡化了儀器儀表人機交互軟硬件設(shè)計。下面首先對HD71279A予以介紹。
2 HD7279A的結(jié)構(gòu)及特點
HD7279A是管理鍵盤和LED顯示器的專用智能控制芯片,該芯片采用串行接口方式,可同時驅(qū)動8位共陰極LED數(shù)碼管或64位獨立LED發(fā)光二極管,同時能對多達8×8的鍵盤矩陣的按鍵盤情況進行監(jiān)視,具有自動消除鍵抖動并識別按鍵代碼的功能,從而可以提高CPU的工作效率,同時其串行接口方式又可大簡化CPU接口電路的設(shè)計,減少軟硬件資源的占用。
HD7279A的主要特點如下:
⑴串行接口,無需外圍元件可直接驅(qū)動LED;
⑵具有控制譯碼/不譯碼及消隱和閃爍屬性等多種控制指令,編程靈活;
?、茄h(huán)左移和循環(huán)右移指令;
?、染哂卸螌ぶ分噶睿奖憧刂篇毩ED;
?、删哂屑壜?lián)功能,可方便的實現(xiàn)多于8位顯示或多于64鍵的鍵盤接口;
?、士山?4鍵控制器,內(nèi)含去抖動處理,可直接輸出鍵值。
3 人機界面硬件及軟件設(shè)計
由上述介紹可知HD7279A是一款功能強大的智能型鍵盤LED顯示管理芯片,筆者在研制電子皮帶計量控制器中使用HD7279A構(gòu)成人機界面,該控制器采用8位LED數(shù)碼管分時顯示瞬時流量、本班產(chǎn)量、上班產(chǎn)量等測量結(jié)果,并可在鍵盤控制下顯示零點電壓、空帶信號電壓平均值,稱重傳感器信號電壓,速度電壓,速度、負載、時間、日期、標定系數(shù)、速度截距,速度斜率、速度、電壓平均、校零時間、速度電壓或頻率下限、負載下限、負載上限、起始班時、每班間隔、密碼、PID控制參數(shù)、定值流量等多個設(shè)定參數(shù),本系統(tǒng)還設(shè)有1,2,3,4,5,6,7,8,9,0,清零,修改,打印,校零、流量、產(chǎn)量、觀測等20個按鍵,用于輸入或修改上述參數(shù),下面給出采用HD7279A設(shè)計的鍵盤顯示電路。
采用HD7279A設(shè)計的鍵盤顯示硬件電路連接圖如圖1所示。圖1中8個鍵盤上拉電阻取10KΩ,8個位限流電阻取為20Ω,8個下拉電阻取100KΩ,HD7279A工作時需要外接的RC振蕩電路以供系統(tǒng)工作,其典型值分別為R=1.5KΩ,C=15pf,如果芯片無法正常工作,請首先檢查此振蕩電路且在進行印制電路板布線時,所有元件,尤其是振蕩電路的元件應(yīng)盡靠近HD7279A并盡量使電路連線最短。HD7279A的RESET復位端在一般應(yīng)用情況下,可以直接與正電源連接,在需要較高可靠性的情況下可以連接外部的復位電路,能直接由CPU控制在上電或RESET端由低電平變?yōu)楦唠娖胶?,HD7279A大約需要經(jīng)過18-25Ms的時間才會進入到正常工作狀態(tài)。
[align=center]
圖1 電子皮帶計量控制器鍵盤顯示電路[/align]
HD7279A的鍵值分布為:右邊數(shù)第一列為0-7,第二列為8-15,依次類推,本設(shè)計中由于共用到20個鍵,故使用了從右下角開始的S0-S1920個鍵,其鍵值與按鍵的對應(yīng)關(guān)系如表1所示。
表1 鍵值功能表
本系統(tǒng)使用AT89C52單片機并將單片機的P1.0-P1.3分別與HD7279A的CS、CLK、DATA、KEY相連,AT89C52單片機的晶振取為12MHz,當選取其它的時鐘頻率則應(yīng)注意延時時間的選擇應(yīng)滿足HD7279A時序要求。
下面給出與上述電路配套的顯示與讀鍵值子程序。
內(nèi)存定義
SDATA DATA 20H;發(fā)送數(shù)據(jù)單元
RDATA DATA 21H;接收數(shù)據(jù)單元
;位定義
CS BIT P1.0;
CLK BIT P1.1;
DAT BIT P1.2;
KEY BIT P1.3;
;主程序
MAIN:JB P1.3, MAIN;檢測按鍵,無鍵按下等待
MOV SDATA,#15H;發(fā)讀鍵盤指令
ACALL SEND
ACALL RECE
SETB P1.0;置CS高電平
MOV B,#10;十六進制鍵碼轉(zhuǎn)換成BCD碼,以備顯示
MOV A,RDATA
DIV AB
MOV R1,A
MOV SDATA,#0C9H;發(fā)送鍵碼的十位值,按方式1譯碼下載顯示
ACALL SEND
MOV SDATA,R1
ACALL SEND
MOV SDATA,#0C8H;發(fā)送鍵碼的個位值
ACALL SEND
MOV SDATA,B
ACALL SEND
SETB P1.0;置CS 高電平
WAIT: JNB P1.3,WAIT
AJMP MAIN
;發(fā)送一字節(jié)數(shù)據(jù)子程序,高位在前
SEND:MOV R2,#08H;發(fā)送8位
CLR P1.0;
ACALL DEY1;延時50μS
S-LOOP:MOV C,. SDATA.7;輸出1位到HD7279的DAT端
MOV P1.2,C
SETB P1.1;置CLK高電平
MOV A, SDATA;待發(fā)數(shù)據(jù)左移
RL A
MOV SDATA,A
ACALL DEY2;延時8μS
CLR P1.1;置CLK低電平
ACALL DEY2;延時8μS
DJNZ R2,S-LOOP;檢測8位是否發(fā)送完畢
CLR P1.2;發(fā)送完畢,DAT端置低,返回
RET
;接收一字節(jié)數(shù)據(jù)子程序,高位在前
RESE: MOV R2,#08H;接收8位
SETB P1.2;DAT端置為高電平,輸入狀態(tài)
ACALL DEY1;延時50μS
R-LOOP:SETB P1.1;置CLK高電平
ACALL DEY2;延時8μS
MOV RDATA,A
RL A;接收數(shù)據(jù)左移1位
MOV RDATA,A
MOV C, P1.2;接收1位數(shù)據(jù)
MOV RDATA.0,C
CLR P1.1;置CLK低電平
ACALL DEY2;延時
DJNZ R2,R-LOOP; 接收8位是否發(fā)送完畢
CLR P1.2;接收完畢,DAT端重新置成低電平(輸出狀態(tài))
RET
結(jié)束語
利用智能型LED顯示鍵盤控制器,可以構(gòu)成較復雜的儀器儀表人機顯示界面,相對提高人機界面的友好程度,減少對儀器儀表系統(tǒng)軟硬件資源的占用,提高儀器工作的可靠性,因而是儀器儀表系統(tǒng)人機界面的一種良好的構(gòu)成方案。
參考文獻
1 李華.MCS系列單片機實用接口技術(shù).北京航空航天大學出版社,1993