摘  要:對儀器儀表中普遍使用的LED鍵盤顯示人機交互技術做了分析,給出一種由智能型LED鍵盤顯示芯片HD7279A構成的人機交互電路。該電路具有接口簡單、外圍元件少,體積小,功能強的特點,使用該器件可簡化儀器儀表中人機界面交互電路的設計。文中給出了HD7279A的主要特性,硬件電路及相應程序。
關鍵詞:智能型 LED鍵盤顯示 人機交互 單片機
1 引言
  在儀器儀表電路設計中,人機交互界面是必不可少的環節,現階段儀器儀表中通常使用的是發光數碼管顯示器(LED)技術和鍵盤輸入技術,LED顯示技術獲得廣泛應用的原因是:⑴價格低廉;⑵顯示信息清晰醒目;⑶對儀器儀表系統資源占用相對較少;⑷能量消耗相對較小,電源電路簡單。傳統的LED鍵盤顯示人機交互電路通常由以下兩種方式構成:⑴采用通用邏輯電路芯片如74LS165、CD4051等構成,此種方法的成本較低,但使用的外圍器件數量眾多,占用的儀器儀表空間較大,可靠性較差;⑵采用專用的顯示芯片或鍵盤顯示接口芯片如MAX7219或Intel 8279等。MAX7219的功能較強但不具備鍵盤管理功能,鍵盤電路需另外設計,同時該芯片的價格較高。Intel8279雖是專用的鍵盤顯示接口電路,但卻不具備LED顯示器的驅動能力,同時其總線接口方式造成接口電路復雜,同時也無法和近年來廣為流行的非總線型單片機接口。
  鑒于以上原因,這里使用智能型鍵盤顯示控制芯片HD7279A設計成一種適用于儀器儀表的鍵盤顯示電路,該LED鍵盤顯示人機接口電路克服了傳統人機交互接口電路的缺點,簡化了儀器儀表人機交互軟硬件設計。下面首先對HD71279A予以介紹。
2 HD7279A的結構及特點
  HD7279A是管理鍵盤和LED顯示器的專用智能控制芯片,該芯片采用串行接口方式,可同時驅動8位共陰極LED數碼管或64位獨立LED發光二極管,同時能對多達8×8的鍵盤矩陣的按鍵盤情況進行監視,具有自動消除鍵抖動并識別按鍵代碼的功能,從而可以提高CPU的工作效率,同時其串行接口方式又可大簡化CPU接口電路的設計,減少軟硬件資源的占用。
  HD7279A的主要特點如下:
  ⑴串行接口,無需外圍元件可直接驅動LED;
  ⑵具有控制譯碼/不譯碼及消隱和閃爍屬性等多種控制指令,編程靈活;
  ⑶循環左移和循環右移指令;
  ⑷具有段尋址指令,方便控制獨立LED;
  ⑸具有級聯功能,可方便的實現多于8位顯示或多于64鍵的鍵盤接口;
  ⑹可接64鍵控制器,內含去抖動處理,可直接輸出鍵值。
3 人機界面硬件及軟件設計
  由上述介紹可知HD7279A是一款功能強大的智能型鍵盤LED顯示管理芯片,筆者在研制電子皮帶計量控制器中使用HD7279A構成人機界面,該控制器采用8位LED數碼管分時顯示瞬時流量、本班產量、上班產量等測量結果,并可在鍵盤控制下顯示零點電壓、空帶信號電壓平均值,稱重傳感器信號電壓,速度電壓,速度、負載、時間、日期、標定系數、速度截距,速度斜率、速度、電壓平均、校零時間、速度電壓或頻率下限、負載下限、負載上限、起始班時、每班間隔、密碼、PID控制參數、定值流量等多個設定參數,本系統還設有1,2,3,4,5,6,7,8,9,0,清零,修改,打印,校零、流量、產量、觀測等20個按鍵,用于輸入或修改上述參數,下面給出采用HD7279A設計的鍵盤顯示電路。
  采用HD7279A設計的鍵盤顯示硬件電路連接圖如圖1所示。圖1中8個鍵盤上拉電阻取10KΩ,8個位限流電阻取為20Ω,8個下拉電阻取100KΩ,HD7279A工作時需要外接的RC振蕩電路以供系統工作,其典型值分別為R=1.5KΩ,C=15pf,如果芯片無法正常工作,請首先檢查此振蕩電路且在進行印制電路板布線時,所有元件,尤其是振蕩電路的元件應盡靠近HD7279A并盡量使電路連線最短。HD7279A的RESET復位端在一般應用情況下,可以直接與正電源連接,在需要較高可靠性的情況下可以連接外部的復位電路,能直接由CPU控制在上電或RESET端由低電平變為高電平后,HD7279A大約需要經過18-25Ms的時間才會進入到正常工作狀態。
[align=center]

圖1 電子皮帶計量控制器鍵盤顯示電路[/align]
  HD7279A的鍵值分布為:右邊數第一列為0-7,第二列為8-15,依次類推,本設計中由于共用到20個鍵,故使用了從右下角開始的S0-S1920個鍵,其鍵值與按鍵的對應關系如表1所示。
  表1 鍵值功能表

  本系統使用AT89C52單片機并將單片機的P1.0-P1.3分別與HD7279A的CS、CLK、DATA、KEY相連,AT89C52單片機的晶振取為12MHz,當選取其它的時鐘頻率則應注意延時時間的選擇應滿足HD7279A時序要求。
  下面給出與上述電路配套的顯示與讀鍵值子程序。
  內存定義
  SDATA DATA 20H;發送數據單元
  RDATA DATA 21H;接收數據單元
  ;位定義
  CS BIT P1.0;
  CLK BIT P1.1;
  DAT BIT P1.2;
  KEY BIT P1.3;
  ;主程序
  MAIN:JB P1.3, MAIN;檢測按鍵,無鍵按下等待
  MOV SDATA,#15H;發讀鍵盤指令
  ACALL SEND
  ACALL RECE
  SETB P1.0;置CS高電平
  MOV B,#10;十六進制鍵碼轉換成BCD碼,以備顯示
  MOV A,RDATA
  DIV AB
  MOV R1,A
  MOV SDATA,#0C9H;發送鍵碼的十位值,按方式1譯碼下載顯示
  ACALL SEND
  MOV SDATA,R1
  ACALL SEND
  MOV SDATA,#0C8H;發送鍵碼的個位值
  ACALL SEND
  MOV SDATA,B
  ACALL SEND
  SETB P1.0;置CS 高電平
  WAIT: JNB P1.3,WAIT
  AJMP MAIN
  ;發送一字節數據子程序,高位在前
  SEND:MOV R2,#08H;發送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;待發數據左移
  RL A
  MOV SDATA,A
  ACALL DEY2;延時8μS
  CLR P1.1;置CLK低電平
  ACALL DEY2;延時8μS
  DJNZ R2,S-LOOP;檢測8位是否發送完畢
  CLR P1.2;發送完畢,DAT端置低,返回
  RET
  ;接收一字節數據子程序,高位在前
  RESE: MOV R2,#08H;接收8位
  SETB P1.2;DAT端置為高電平,輸入狀態
  ACALL DEY1;延時50μS
  R-LOOP:SETB P1.1;置CLK高電平
  ACALL DEY2;延時8μS
  MOV RDATA,A
  RL A;接收數據左移1位
  MOV RDATA,A
  MOV C, P1.2;接收1位數據
  MOV RDATA.0,C
  CLR P1.1;置CLK低電平
  ACALL DEY2;延時
  DJNZ R2,R-LOOP; 接收8位是否發送完畢
  CLR P1.2;接收完畢,DAT端重新置成低電平(輸出狀態)
  RET
結束語
  利用智能型LED顯示鍵盤控制器,可以構成較復雜的儀器儀表人機顯示界面,相對提高人機界面的友好程度,減少對儀器儀表系統軟硬件資源的占用,提高儀器工作的可靠性,因而是儀器儀表系統人機界面的一種良好的構成方案。
參考文獻
  1 李華.MCS系列單片機實用接口技術.北京航空航天大學出版社,1993