當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]摘要:以宏晶公司STC12C5A60S2單片機(jī)處理器作為控制器,以矩陣鍵盤作為輸入設(shè)備,以RS485通信接口芯片作為數(shù)據(jù)更新方式,用北京青云公司生產(chǎn)的LCD3202401作為顯示輸出設(shè)備,研究設(shè)計(jì)了相應(yīng)的硬件電路與顯示驅(qū)動程序,

摘要:以宏晶公司STC12C5A60S2單片機(jī)處理器作為控制器,以矩陣鍵盤作為輸入設(shè)備,以RS485通信接口芯片作為數(shù)據(jù)更新方式,用北京青云公司生產(chǎn)的LCD3202401作為顯示輸出設(shè)備,研究設(shè)計(jì)了相應(yīng)的硬件電路與顯示驅(qū)動程序,在此基礎(chǔ)上完成了人機(jī)交互系統(tǒng)的設(shè)計(jì)。充分利用成本低、資源少的單片機(jī)系統(tǒng)實(shí)現(xiàn)完善的人機(jī)交互功能。
關(guān)鍵詞:人機(jī)交互;LCD;單片機(jī)

1 系統(tǒng)設(shè)計(jì)方案
    本系統(tǒng)設(shè)計(jì)按鍵時遇到以下情況:(1)產(chǎn)品外設(shè)較多,單片機(jī)I/O口比較少,設(shè)計(jì)時需要考慮節(jié)省I/O口。(2)現(xiàn)場情況所限,鍵盤與主機(jī)板要有一段距離。(3)鍵盤需要15個按鍵,同時擴(kuò)展一個復(fù)位按鍵,共16個按鍵。根據(jù)以上的情況采用A/D鍵盤最為合適。
    考慮到系統(tǒng)顯示既要求有圖顯示又有字符顯示功能,因此采用單片機(jī)控制LCD,使LCD的畫圖、字符顯示等功能最大程度地利用。
    本系統(tǒng)設(shè)計(jì)的效果如圖1所示。



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


    硬件部分以STC12C5A60S2單片機(jī)為核心,晶振和復(fù)位電路作為系統(tǒng)工作的必要設(shè)備,從3×5矩陣鍵盤接收輸入命令,同時通過RS485與主控模塊進(jìn)行實(shí)時通訊。其中鍵盤通過單片機(jī)的A/D功能直接采集電壓判斷來實(shí)現(xiàn)。
    軟件部分可分為底層驅(qū)動程序和上層控制兩部分。底層驅(qū)動包括設(shè)置系統(tǒng)時鐘和系統(tǒng)模式,配置I/O口、初始化串口打開ADC轉(zhuǎn)換功能,初始化LCD控制器、中斷控制器等。上層控制程序不斷查詢是否有按鍵按下。若有按鍵按下,則執(zhí)行相應(yīng)的任務(wù),LCD顯示相應(yīng)的內(nèi)容;同時如果需要,通過RS485向主控模塊發(fā)出控制或請求數(shù)據(jù)等信息。

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


    圖為3x5鍵盤設(shè)計(jì)電路,KEY0、KEY1、KEY2連接至單片機(jī)具有A/D功能的I/O口,此時就可以通過A/D掃描讀取,可以根據(jù)A/D值判斷有無按鍵按下或是那個按鍵按下。根據(jù)上圖電阻值可以算出:無按鍵按下,A/D值為5 V;SW1按下,通過計(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采集值比較,最接近哪個鍵值的范圍,則就是該按鍵。
    使用此方法需注意按鍵選用接觸性較好的按鍵。按鍵差的使用時間一長,容易產(chǎn)生接觸電阻,按鍵多容易誤檢測。
3.2 LCD顯示電路
    系統(tǒng)采用北京青云公司生產(chǎn)的LCD3202401液晶控制器,LCD3202401使用功能強(qiáng)大的RA8835作為控制器。此LCD有4位顯示數(shù)據(jù)線,且傳輸數(shù)據(jù)迅速;具有強(qiáng)大的作圖功能;支持文本顯示、圖形顯示以及圖形和文本混合顯示;具備簡捷的MPU接口和功能齊全的控制指令集。單片機(jī)與LCD的接口電路 如圖5所示。


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

4 軟件設(shè)計(jì)
    本謝十中,主菜單和子菜單多達(dá)30多項(xiàng),且要實(shí)時同步顯示,從而增大了應(yīng)用層設(shè)計(jì)的難度。因此程序采用模塊化結(jié)構(gòu),主要包括主菜單頁面切換模塊、按鍵掃描模塊、選項(xiàng)管理控制模塊和數(shù)據(jù)輸入模塊。
4.1 主菜單頁面切換模塊
    為按用戶要求切換操作界面,定義了一個page_index映像寄存器,其值在1~P之間變化,P為操作界面的個數(shù)。本系統(tǒng)中P的值為9。主菜單界面,如圖6所示。


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


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


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


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


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


    此時按回車可對數(shù)值進(jìn)入輸入設(shè)置,圖中的2/5為當(dāng)前的頁面提示,2為第2頁,5為總頁數(shù)。
4.4 數(shù)據(jù)輸入模塊
    若當(dāng)前的操作頁面屬于“置數(shù)界面”,使用數(shù)字鍵輸入滿足用戶要求的任何數(shù)值,例如圖11中的門限設(shè)置中的數(shù)值輸入。數(shù)據(jù)輸入模塊的程序流程圖如圖12所示。


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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉