《電子技術(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)情況所限,鍵盤(pán)與主機(jī)板要有一段距離,。(3)鍵盤(pán)需要15個(gè)按鍵,,同時(shí)擴(kuò)展一個(gè)復(fù)位按鍵,共16個(gè)按鍵,。根據(jù)以上的情況采用A/D鍵盤(pán)最為合適,。
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)情況所限,鍵盤(pán)與主機(jī)板要有一段距離,。(3)鍵盤(pán)需要15個(gè)按鍵,,同時(shí)擴(kuò)展一個(gè)復(fù)位按鍵,共16個(gè)按鍵,。根據(jù)以上的情況采用A/D鍵盤(pán)最為合適,。

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

  本系統(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ò)鍵盤(pán)輸入設(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矩陣鍵盤(pán)接收輸入命令,,同時(shí)通過(guò)RS485與主控模塊進(jìn)行實(shí)時(shí)通訊。其中鍵盤(pán)通過(guò)單片機(jī)的A/D功能直接采集電壓判斷來(lái)實(shí)現(xiàn),。

  軟件部分可分為底層驅(qū)動(dòng)程序和上層控制兩部分。底層驅(qū)動(dòng)包括設(shè)置系統(tǒng)時(shí)鐘和系統(tǒng)模式,,配置I/O口,、初始化串口打開(kāi)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 鍵盤(pán)電路

  人機(jī)交互系統(tǒng)中輸入控制命令,設(shè)置數(shù)值,,查詢電參數(shù),、歷史數(shù)據(jù)、告警信息等都肯定要使用鍵盤(pán),。系統(tǒng)中設(shè)計(jì)采用的是3×5的鍵盤(pán),,外加一個(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鍵盤(pán)設(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ù)模瑥娜祟愐曈X(jué)的角度上看,,就仿佛是全部字符或圖片同時(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)的按鍵按下,;反之,則松開(kāi),,程序運(yùn)行時(shí)將按鍵讀取后清除標(biāo)志位,。如圖9為鍵盤(pán)模塊程序流程圖。

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)載。