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

本係統使用AT89C52單片機並將單片機的P1.0-P1.3分別與(yu) HD7279A的CS、CLK、DATA、KEY相連,AT89C52單片機的晶振取為(wei) 12MHz,當選取其它的時鍾頻率則應注意延時時間的選擇應滿足HD7279A時序要求。
下麵給出與(yu) 上述電路配套的顯示與(yu) 讀鍵值子程序。
內(nei) 存定義(yi)
SDATA DATA 20H;發送數據單元
RDATA DATA 21H;接收數據單元
;位定義(yi)
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;發送鍵碼的個(ge) 位值
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端置為(wei) 高電平,輸入狀態
ACALL DEY1;延時50μS
R-LOOP:SETB P1.1;置CLK高電平
ACALL DEY2;延時8μS#p#分頁標題#e#
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顯示鍵盤控製器,可以構成較複雜的儀(yi) 器儀(yi) 表人機顯示界麵,相對提高人機界麵的友好程度,減少對儀(yi) 器儀(yi) 表係統軟硬件資源的占用,提高儀(yi) 器工作的可靠性,因而是儀(yi) 器儀(yi) 表係統人機界麵的一種良好的構成方案。
參考文獻
1 李華.MCS係列單片機實用接口技術.北京航空航天大學出版社,1993
轉載請注明出處。







相關文章
熱門資訊
精彩導讀



















關注我們

