《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 智能配電監(jiān)控系統(tǒng)的人機(jī)交互設(shè)計(jì)
智能配電監(jiān)控系統(tǒng)的人機(jī)交互設(shè)計(jì)
摘要: 本系統(tǒng)設(shè)計(jì)按鍵時(shí)遇到以下情況:(1)產(chǎn)品外設(shè)較多,單片機(jī)I/O口比較少,設(shè)計(jì)時(shí)需要考慮節(jié)省I/O口。(2)現(xiàn)場(chǎng)情況所限,鍵盤與主機(jī)板要有一段距離。(3)鍵盤需要15個(gè)按鍵,同時(shí)擴(kuò)展一個(gè)復(fù)位按鍵,共16個(gè)按鍵。根據(jù)以上的情況采用A/D鍵盤最為合適。
Abstract:
Key words :
  1 系統(tǒng)設(shè)計(jì)方案

  本系統(tǒng)設(shè)計(jì)按鍵時(shí)遇到以下情況:(1)產(chǎn)品外設(shè)較多,單片機(jī)I/O口比較少,設(shè)計(jì)時(shí)需要考慮節(jié)省I/O口。(2)現(xiàn)場(chǎng)情況所限,鍵盤與主機(jī)板要有一段距離。(3)鍵盤需要15個(gè)按鍵,同時(shí)擴(kuò)展一個(gè)復(fù)位按鍵,共16個(gè)按鍵。根據(jù)以上的情況采用A/D鍵盤最為合適。

  考慮到系統(tǒng)顯示既要求有圖顯示又有字符顯示功能,因此采用單片機(jī)控制LCD,使LCD的畫圖、字符顯示等功能最大程度地利用。

  本系統(tǒng)設(shè)計(jì)的效果如圖1所示。

l.jpg

  2 系統(tǒng)結(jié)構(gòu)和原理

  人機(jī)交互系統(tǒng)負(fù)責(zé)數(shù)據(jù)顯示及輸入,通過(guò)RS485接口與主控模塊進(jìn)行信息交換,通過(guò)工業(yè)液晶顯示主控模塊傳送的電量參數(shù)信息,并通過(guò)鍵盤輸入設(shè)定系統(tǒng)工作模式、參數(shù)門限、通信協(xié)議。校正模擬量通道的各項(xiàng)電參數(shù)以及用圖形直觀表示一次圖及電壓參數(shù)的工作狀態(tài),并在出現(xiàn)過(guò)流過(guò)壓等告警信息時(shí)發(fā)出報(bào)警聲。系統(tǒng)能夠在有限成本的條件下很好地完成此多項(xiàng)功能。

  顯示系統(tǒng)由硬件和軟件兩部分構(gòu)成,如圖2和圖3所示。

a.jpg

b.jpg

  硬件部分以STC12C5A60S2單片機(jī)為核心,晶振和復(fù)位電路作為系統(tǒng)工作的必要設(shè)備,從3×5矩陣鍵盤接收輸入命令,同時(shí)通過(guò)RS485與主控模塊進(jìn)行實(shí)時(shí)通訊。其中鍵盤通過(guò)單片機(jī)的A/D功能直接采集電壓判斷來(lái)實(shí)現(xiàn)。

  軟件部分可分為底層驅(qū)動(dòng)程序和上層控制兩部分。底層驅(qū)動(dòng)包括設(shè)置系統(tǒng)時(shí)鐘和系統(tǒng)模式,配置I/O口、初始化串口打開ADC轉(zhuǎn)換功能,初始化LCD控制器、中斷控制器等。上層控制程序不斷查詢是否有按鍵按下。若有按鍵按下,則執(zhí)行相應(yīng)的任務(wù),LCD顯示相應(yīng)的內(nèi)容;同時(shí)如果需要,通過(guò)RS485向主控模塊發(fā)出控制或請(qǐng)求數(shù)據(jù)等信息。

  3 系統(tǒng)硬件電路設(shè)計(jì)

  3.1 鍵盤電路

  人機(jī)交互系統(tǒng)中輸入控制命令,設(shè)置數(shù)值,查詢電參數(shù)、歷史數(shù)據(jù)、告警信息等都肯定要使用鍵盤。系統(tǒng)中設(shè)計(jì)采用的是3×5的鍵盤,外加一個(gè)復(fù)位按鍵組合成4×4格式安裝,其中除了0~9這10個(gè)數(shù)字外,還有確定鍵“Enter”、菜單鍵“Menu”、上鍵“Up”、下鍵“Down”、“靜音”鍵及復(fù)位鍵。在端口KEY0、KEY1、KEY2輸出線上接上拉電阻,使端口能準(zhǔn)確的置高、置低。上拉電阻的另一端則連接在一起接5 V電源。電路圖如圖4所示。

c.jpg

  圖為3x5鍵盤設(shè)計(jì)電路,KEY0、KEY1、KEY2連接至單片機(jī)具有A/D功能的I/O口,此時(shí)就可以通過(guò)A/D掃描讀取,可以根據(jù)A/D值判斷有無(wú)按鍵按下或是那個(gè)按鍵按下。根據(jù)上圖電阻值可以算出:無(wú)按鍵按下,A/D值為5 V;SW1按下,通過(guò)計(jì)算知A/D值為VCC×R1/(R1+R20)=0.16 V;SW4按下,A/D值為VCC×R1/(R1+R20+R24)=0.733 V;同理,SW7=1.559 V;SW10=2.287 V;S5=2.875 V;根據(jù)A/D采集值比較,最接近哪個(gè)鍵值的范圍,則就是該按鍵。

  使用此方法需注意按鍵選用接觸性較好的按鍵。按鍵差的使用時(shí)間一長(zhǎng),容易產(chǎn)生接觸電阻,按鍵多容易誤檢測(cè)。

  3.2 LCD顯示電路

  系統(tǒng)采用北京青云公司生產(chǎn)的LCD3202401液晶控制器,LCD3202401使用功能強(qiáng)大的RA8835作為控制器。此LCD有4位顯示數(shù)據(jù)線,且傳輸數(shù)據(jù)迅速;具有強(qiáng)大的作圖功能;支持文本顯示、圖形顯示以及圖形和文本混合顯示;具備簡(jiǎn)捷的MPU接口和功能齊全的控制指令集。單片機(jī)與LCD的接口電路 如圖5所示。

d.jpg

  圖中LCD與單片機(jī)管腳連接處加1 kΩ的限流電阻,可以有效防止單片機(jī)管腳電流過(guò)大造成LCD液晶屏損壞。由于單片機(jī)的頻率為22 MHz,所以傳輸時(shí)肉眼看不到數(shù)據(jù)是一位一位傳輸?shù)?,從人類視覺的角度上看,就仿佛是全部字符或圖片同時(shí)顯示一樣。

  4 軟件設(shè)計(jì)

  本謝十中,主菜單和子菜單多達(dá)30多項(xiàng),且要實(shí)時(shí)同步顯示,從而增大了應(yīng)用層設(shè)計(jì)的難度。因此程序采用模塊化結(jié)構(gòu),主要包括主菜單頁(yè)面切換模塊、按鍵掃描模塊、選項(xiàng)管理控制模塊和數(shù)據(jù)輸入模塊。

  4.1 主菜單頁(yè)面切換模塊

  為按用戶要求切換操作界面,定義了一個(gè)page_index映像寄存器,其值在1~P之間變化,P為操作界面的個(gè)數(shù)。本系統(tǒng)中P的值為9。主菜單界面,如圖6所示。

e.jpg

  如果page_index=1,則LCD顯示器上顯示第1頁(yè)面;一次圖頁(yè)面如圖7所示。為最大限度地使用系統(tǒng)的Flash,其中的線條及方框均直接使用其繪圖功能實(shí)現(xiàn)。

f.jpg

  如果page_index=2,則LCD顯示器上顯示第2頁(yè)面。用戶可按數(shù)字鍵控制page_index的值選擇對(duì)應(yīng)頁(yè)面,實(shí)現(xiàn)人機(jī)交互。電參數(shù)頁(yè)面如圖8所示。

g.jpg

  4.2 按鍵掃描模塊

  對(duì)15個(gè)操作按鍵進(jìn)行掃描,將結(jié)果保存在key映像寄存器中。該寄存器有個(gè)狀態(tài)標(biāo)志位keyState,如果其值為True,則意味著對(duì)應(yīng)的按鍵按下;反之,則松開,程序運(yùn)行時(shí)將按鍵讀取后清除標(biāo)志位。如圖9為鍵盤模塊程序流程圖。

h.jpg

  4.3 選項(xiàng)管理控制模塊

  若當(dāng)前的操作界面屬于“選項(xiàng)界面”,由于設(shè)置的參數(shù)較多,將選項(xiàng)頁(yè)面分為幾個(gè)頁(yè)面設(shè)置,按下“Up”和“Down”鍵或直接按數(shù)字鍵,可選擇對(duì)應(yīng)的頁(yè)面。如圖10為選項(xiàng)管理控制模塊流程圖。

i.jpg

  為了便于分析,以設(shè)置頁(yè)面為例來(lái)說(shuō)明。設(shè)置頁(yè)面共分為5頁(yè)來(lái)設(shè)置,包括系統(tǒng)參數(shù)設(shè)置頁(yè)面、門限參數(shù)設(shè)置頁(yè)面、Modbus設(shè)置頁(yè)面、以太網(wǎng)設(shè)置頁(yè)面及CAN設(shè)置頁(yè)面,當(dāng)從主菜單選擇設(shè)置進(jìn)入設(shè)置頁(yè)面后,可按數(shù)字鍵或上下鍵選擇頁(yè)面。比如按2鍵進(jìn)人設(shè)置頁(yè)面中的門限設(shè)置,如圖11所示。

j.jpg

  此時(shí)按回車可對(duì)數(shù)值進(jìn)入輸入設(shè)置,圖中的2/5為當(dāng)前的頁(yè)面提示,2為第2頁(yè),5為總頁(yè)數(shù)。

  4.4 數(shù)據(jù)輸入模塊

  若當(dāng)前的操作頁(yè)面屬于“置數(shù)界面”,使用數(shù)字鍵輸入滿足用戶要求的任何數(shù)值,例如圖11中的門限設(shè)置中的數(shù)值輸入。數(shù)據(jù)輸入模塊的程序流程圖如圖12所示。

k.jpg

  利用上述模塊,只需少量的程序代碼就可以靈活地實(shí)現(xiàn)選項(xiàng)、修改數(shù)據(jù)及切換操作界面等功能。

  5 結(jié)束語(yǔ)

  本設(shè)計(jì)采用C語(yǔ)言編程,所選單片機(jī)為STC12CSA60S2,盡管其程序存儲(chǔ)器只有60kB,但卻實(shí)現(xiàn)了30多頁(yè)操作界面的顯示和切換,以及數(shù)據(jù)設(shè)定和查詢等人機(jī)交互功能,同時(shí)還實(shí)現(xiàn)了監(jiān)控,控制和通信功能。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。