国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RTX51的低壓智能配電箱的控制系統(tǒng)設(shè)計*

2012-11-11 08:44:14仝戰(zhàn)營毛景魁
河南工學(xué)院學(xué)報 2012年2期
關(guān)鍵詞:空閑計時按鍵

仝戰(zhàn)營,毛景魁

(河南機(jī)電高等??茖W(xué)校,河南 新鄉(xiāng) 453000)

1 引言

隨著家庭智能控制系統(tǒng)深入普通用戶,無線開關(guān)系統(tǒng)出現(xiàn)于市場上。先后出現(xiàn)了單路、多路遙控開關(guān),諸如4路無線開關(guān),定時開關(guān)。此類系統(tǒng)只能進(jìn)行簡單的開關(guān)控制,由于通信的單向性,操作者無法得知開關(guān)狀態(tài),只能從用電設(shè)備的工作狀態(tài)得知當(dāng)前的開關(guān)狀態(tài),更無法對開關(guān)預(yù)約定時。因此,此類設(shè)備雖然解決了操縱開關(guān)的不便,但卻沒有解決開關(guān)狀態(tài)、預(yù)約定時以及通信可靠性的問題。

為解決上述問題,并將目前各實(shí)用功能集成為一體,采用藍(lán)牙通信,結(jié)合微控制器制作的智能低壓配電箱的控制電路框圖如圖1所示,系統(tǒng)主要由以下功能模塊組成。

圖1 低壓智能配電箱硬件控制電路

1)開關(guān)驅(qū)動電路,為配電箱的執(zhí)行機(jī)構(gòu),用于開通或關(guān)斷某路電源,達(dá)到控制配電的目的。

2)LCD12864液晶顯示單元。用于顯示用戶的當(dāng)前操作、當(dāng)前時間、各路開關(guān)的狀態(tài)、定時信息等。

3)實(shí)時時鐘電路。該電路為系統(tǒng)運(yùn)行提供時間基準(zhǔn),系統(tǒng)根據(jù)此時間執(zhí)行定時動作。

4)藍(lán)牙通信接口。采用外接藍(lán)牙模塊,設(shè)計全雙工的通信接口,與藍(lán)牙模塊通信,以便與操作終端數(shù)據(jù)交換。

5)程序下載接口。采用ISP方式下載程序,可在線燒寫程序,為以后程序升級提供了方便的接口。

6)提示音電路。用于操作時的聲音提示或者故障報警等。

7)核心控制芯片。核心控制芯片為單片機(jī)STC12C5A60S2,管理上述的系統(tǒng)各功能模塊。

8)電源電路。采用開關(guān)電源模塊為控制電路提供所需的電源。

9)面板按鍵。提供4個按鍵,操作者可以在面板上進(jìn)行全部操作。

圖2 控制主板原理圖

系統(tǒng)控制主板電路如圖2所示,控制核心芯片采用STC12C5A60S2,通過P0口和 P2口的 P2.1-P2.5作為LCD12864液晶的接口控制線;P1.0、P1.1作為無線通信接口,用于收發(fā)遙控數(shù)據(jù);P1.4-P1.7用于配電箱的開關(guān)驅(qū)動控制線;P3.0、P3.1用于程序的ISP下載,并配置指示燈,只是當(dāng)前通信狀況。

2 操作系統(tǒng)的選擇

完成以上任務(wù)通常采用傳統(tǒng)的前后臺處理編程方式,但此種方式當(dāng)一個任務(wù)執(zhí)行時間較長時,容易丟失瞬時信息,從而造成不動作或誤動作。一個高效的單片機(jī)智能控制系統(tǒng),不僅能夠同時執(zhí)行多個任務(wù)對每個任務(wù)作出實(shí)時響應(yīng),而且,要求系統(tǒng)能夠及時響應(yīng)隨機(jī)發(fā)生的外部事件,并對其作出快速處理[1]。對于這樣的系統(tǒng)應(yīng)用,采用實(shí)時操作系統(tǒng)RTOS(RealTime-Operating System)作為系統(tǒng)軟件設(shè)計平臺是一個良好的選擇,它可以靈活地安排系統(tǒng)資源,簡化復(fù)雜的軟件設(shè)計,加快軟件開發(fā)的效率,大大縮短項(xiàng)目的開發(fā)周期[2]。

目前,應(yīng)用于嵌入式的操作系統(tǒng)很多,常見的通用型嵌入式操作系統(tǒng)有 uCLinux、VxWorks、Windows CE.net、uCOS-II等。但這些操作系統(tǒng)需要較大的RAM空間,因此,不適合于采用普通單片機(jī)控制的應(yīng)用場所。

RTX51是德國 Keil公司開發(fā)的一種應(yīng)用于MCS51系列單片機(jī)的實(shí)時多任務(wù)操作系統(tǒng),它可以工作在所有8051單片機(jī)以及派生的系列[3]。其中,RTX51 Full支持信號傳遞、系統(tǒng)郵箱和消息傳遞。RTX51 Tiny最大允許16個任務(wù)的循環(huán)切換,支持信號傳遞,但不支持存儲區(qū)的分配和釋放,不支持搶先式調(diào)度。考慮到系統(tǒng)后繼的優(yōu)化、擴(kuò)展,本文采用RTX51 Full作為系統(tǒng)的操作軟件。

3 系統(tǒng)任務(wù)

根據(jù)系統(tǒng)要求和軟件編制的需要,經(jīng)過系統(tǒng)需求分析,總結(jié)控制低壓配電控制箱的控制要求,其需要完成的軟件模塊的功能主要有:遙控命令的接收和解析、面板按鍵操作、開關(guān)定時、開關(guān)控制、數(shù)據(jù)存儲、系統(tǒng)時間設(shè)定、提示音的開關(guān)。這些軟件模塊的層次關(guān)系如圖2所示,它們不是需要同時運(yùn)行的,比如開關(guān)控制,只有在遙控或面板操作時才會執(zhí)行。因此,將以上的功能模塊按照先后的層次關(guān)系劃分為以下幾個獨(dú)立的模塊。

基本任務(wù)有5個,分別是:遙控命令及數(shù)據(jù)的接收和解析、面板操作、液晶顯示、計時和空閑任務(wù)。它們完成的功能如下所述:

1)命令及數(shù)據(jù)的接收和解析

主要完成操作終端通過藍(lán)牙功能模塊和控制箱進(jìn)行的命令、數(shù)據(jù)交互。此模塊的主要功能是按照3.2所述的協(xié)議格式解析出操作終端的命令、數(shù)據(jù),交由上層軟件處理。

2)面板操作

控制箱有4個按鍵,分別執(zhí)行上翻(加)、下翻(減)、確定、取消操作。具體功能根據(jù)當(dāng)前的操作命令而定。

3)液晶顯示

液晶為系統(tǒng)的輸出界面,操作者借此了解系統(tǒng)運(yùn)行狀態(tài)及數(shù)據(jù)。因此,對于不同的操作命令,需要顯示不同的界面。操作者希望操作界面友好,便于操作,這給程序設(shè)計提出了較高的要求。

12864是128*64點(diǎn)陣液晶模塊的點(diǎn)陣數(shù)簡稱,適用于各類儀器,小型設(shè)備的顯示領(lǐng)域。它是一種圖形點(diǎn)陣液晶顯示器,主要由行驅(qū)動器/列驅(qū)動器及128×64全點(diǎn)陣液晶顯示器組成,可完成圖形顯示,也可以顯示8×4個(16×16)漢字。

根據(jù)用戶的操作習(xí)慣,將12864液晶的顯示界面制作成菜單式界面,各個可執(zhí)行的命令顯示于液晶之上。操作者通過按鍵選擇相應(yīng)的菜單進(jìn)入,并執(zhí)行所選擇的命令。

4)計時任務(wù)

控制箱必須有一個時間基準(zhǔn),才能完成定時動作。這里面有2種形式的定時,一個是簡單的不精確的定時,依靠單片機(jī)自身的定時器完成,主要用來作為系統(tǒng)段時間的計時,如按鍵消抖、間隔讀取實(shí)時時鐘等。另一個是長時間精確定時,需要實(shí)時時鐘來完成。在軟件里設(shè)計一結(jié)構(gòu)體,依靠間隔讀取實(shí)時時鐘完成時間數(shù)據(jù)的更新,并以該數(shù)據(jù)作為開關(guān)定時和系統(tǒng)時間的基準(zhǔn)。

5)空閑任務(wù)

系統(tǒng)長時間不進(jìn)行操作時,表明處于“空閑狀態(tài)”,此時,不必要顯示系統(tǒng)菜單,為方便使用,設(shè)計顯示系統(tǒng)時間,讓用戶可以看到當(dāng)前的時間,作為一個時鐘使用。因此,空閑任務(wù)的功能就是察看系統(tǒng)是否處于空閑,如果處于空閑階段,即切換到系統(tǒng)時間顯示的狀態(tài)。如果用戶有按鍵,則立即顯示操作菜單,以便操作者進(jìn)行功能操作。

上述5個任務(wù)需要同時獨(dú)立運(yùn)行,對于單片機(jī)來講,采用傳統(tǒng)的前后臺系統(tǒng)編寫軟件,則顯得麻煩而不實(shí)用。綜合單片機(jī)的資源和目前運(yùn)用于單片機(jī)的操作系統(tǒng),選擇RTX-Tiny操作系統(tǒng)對上述5個任務(wù)進(jìn)行調(diào)度,使之互相獨(dú)立。

4 任務(wù)編程

由于系統(tǒng)任務(wù)較多,現(xiàn)以面板操作和計時任務(wù)為例,說明和分析系統(tǒng)軟件的編制過程。

4.1 面板操作

面板操作的任務(wù)是讀取按鍵值,并根據(jù)此按鍵值、目前菜單行,執(zhí)行操作者要求的功能,其流程如圖4所示。

圖3 控制箱軟件層次關(guān)系

按鍵任務(wù)程序不停地檢查按鍵,如果有按鍵按下,則將按鍵值轉(zhuǎn)換成可識別的按鍵字符。然后程序檢查當(dāng)前系統(tǒng)是否處于空閑狀態(tài),如果處于空閑狀態(tài),則不予響應(yīng),否則,調(diào)用菜單程序,根據(jù)按鍵值執(zhí)行相應(yīng)的功能程序。

圖4 按鍵任務(wù)流程圖

按照圖4編寫的程序如下所示:

4.2 計時任務(wù)

計時任務(wù)首先判斷系統(tǒng)是否處于空閑狀態(tài),然后讀取實(shí)時時鐘,并根據(jù)實(shí)時時鐘的時間數(shù)據(jù)判斷定時時間是否到,主要流程如圖5所示。

圖5 計時任務(wù)流程

計時任務(wù)以1秒左右的時間等待超時事件,如果超時事件發(fā)生,則將空閑時間變量減一,如果空閑時間變量被減為0,則空閑時間變量重新賦默認(rèn)值(1800,30分鐘)。同時,空閑狀態(tài)置位,表明當(dāng)前操作已經(jīng)至少30分鐘沒有再進(jìn)行了,向空閑任務(wù)發(fā)送信號。如果空閑時間變量不為0,則說明仍然在操作中,略過空閑時間的操作。

完成上述任務(wù)后,則調(diào)用時間比對函數(shù),讀取實(shí)時時鐘的數(shù)據(jù),更新系統(tǒng)時間,與各路開關(guān)的當(dāng)前定時數(shù)據(jù)比對,如果到了定時時間,則執(zhí)行相關(guān)定時動作,否則,繼續(xù)等待下次的時間超時事件。

按照圖4編寫的計時任務(wù)程序如下所示:

5 結(jié)語

RTX實(shí)時操作系統(tǒng)既能保證對外界的信息以足夠快的速度進(jìn)行相應(yīng)處理,又能并行運(yùn)行多個任務(wù),具有實(shí)時性和并行性的特點(diǎn),因此能夠很好地完成對多個信息的測量、處理和實(shí)時控制[4],并且,RTX以其簡潔高效的內(nèi)核,非常適合運(yùn)行于資源較少的單片機(jī)上。使用RTX51的多任務(wù)操作系統(tǒng)軟件完成的低壓配電箱,外圍電路少、成本低、可靠性高,軟件的編寫和調(diào)試快捷方便、開發(fā)周期短。

根據(jù)上述設(shè)計生產(chǎn)的研丹-I型微電腦控制低壓智能配電箱已用于生產(chǎn),實(shí)踐證明,使用RTX51實(shí)時操作系統(tǒng)可以加快系統(tǒng)的開發(fā)速度,降低軟件編程的復(fù)雜程度,大大提高開發(fā)效率,是一個較好的解決辦法。

[1]歐偉明,羅三定.基于RTX51的交通燈信號自適應(yīng)倒計時器[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2006,16(6):49-51.

[2]邢鵬康,胡彬.基于RTX51實(shí)時操作系統(tǒng)的交通燈控制系統(tǒng)的設(shè)計[J].山西電子技術(shù),2010,(5),50 -52.

[3]蔡林驥,李清寶.RTX51嵌入式實(shí)時操作系統(tǒng)分析[J].計算機(jī)應(yīng)用與軟件,2005,6(6):90 -92.

[4]胡萬華.基于RTX51實(shí)時操作系統(tǒng)的激光熱處理機(jī)控制系統(tǒng)設(shè)計[J].煤礦機(jī)械,2010,5(5):24 -26.

猜你喜歡
空閑計時按鍵
恩賜
詩選刊(2023年7期)2023-07-21 07:03:38
暢游計時天地
車迷(2022年1期)2022-03-29 00:50:24
基于有限狀態(tài)機(jī)的按鍵檢測程序設(shè)計
電子制作(2021年3期)2021-06-16 03:14:26
腕表計時2.0
中國化妝品(2020年9期)2020-10-09 08:56:56
12時計時法與24時計時法的互化
“鳥”字謎
小讀者之友(2019年9期)2019-09-10 07:22:44
彪悍的“寵”生,不需要解釋
24時計時法
一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計
電子制作(2016年1期)2016-11-07 08:43:05
WLAN和LTE交通規(guī)則
CHIP新電腦(2016年3期)2016-03-10 14:09:48
南宫市| 龙里县| 博湖县| 贵德县| 亳州市| 玉门市| 南丹县| 宝鸡市| 仙游县| 钦州市| 连南| 大同县| 霞浦县| 桂林市| 铜川市| 日土县| 郴州市| 方城县| 沂南县| 禹城市| 清丰县| 铁岭市| 高台县| 蒙自县| 望奎县| 民勤县| 清丰县| 泰兴市| 杂多县| 大丰市| 江孜县| 枣庄市| 尼勒克县| 且末县| 公安县| 类乌齐县| 呼玛县| 新泰市| 许昌市| 龙游县| 花莲县|