摘 要:LNG液位檢測(cè)系統(tǒng)需要極高的實(shí)時(shí)性,我們需要進(jìn)行特殊的設(shè)計(jì),才能滿足高實(shí)時(shí)性,這樣的檢測(cè)才能使管理者第一時(shí)間得到正確的信息以及進(jìn)行相應(yīng)的管理。本系統(tǒng)軟件設(shè)計(jì)主要利用時(shí)鐘定時(shí)器對(duì)各個(gè)子進(jìn)程進(jìn)行管理控制,定時(shí)器是一個(gè)核心程序,利用對(duì)各個(gè)子程序定時(shí)的不同進(jìn)行控制程序。
關(guān)鍵詞:液面檢測(cè);LNG;軟件設(shè)計(jì);定時(shí)器
DOI:10.16640/j.cnki.37-1222/t.2017.16.131
1 軟件流程框圖
主函數(shù)主要是不同模塊的驅(qū)動(dòng)程序,使得各個(gè)模塊通電后可以正常運(yùn)行,其中主要任務(wù)是判斷標(biāo)志位是否正確置位。而定時(shí)器的工作主要是標(biāo)志位的變動(dòng),由于定時(shí)器功能的簡(jiǎn)單,所以可以125ns進(jìn)入與出去中斷,實(shí)現(xiàn)了高實(shí)時(shí)性。
本系統(tǒng)設(shè)計(jì)的主體框圖如圖1,系統(tǒng)開機(jī)之后,就會(huì)進(jìn)入死循環(huán)中。系統(tǒng)進(jìn)行不停的掃描,本設(shè)計(jì)利用了按鍵來(lái)實(shí)現(xiàn)程序的控制,只有當(dāng)按鍵按下,才會(huì)進(jìn)入到處理程序,否則直接進(jìn)入下一環(huán)節(jié)。當(dāng)執(zhí)行到最后一個(gè)程序時(shí),返回到開始重新進(jìn)行循環(huán)。
軟件流程,單片機(jī)設(shè)置5ms的定時(shí),每隔固定時(shí)間就檢測(cè)有無(wú)按鍵按下,如果有按鍵按下就進(jìn)入到按鍵程序,10ms檢測(cè)有按鍵按下就進(jìn)入報(bào)警程序,根據(jù)流程以此類推,進(jìn)行掃描。
根據(jù)設(shè)計(jì)的流程圖和思路,進(jìn)行主函數(shù)的編寫,由上圖可知,主函數(shù)主要分為6個(gè)模塊,分別為初始化程序,數(shù)據(jù)采集處理,報(bào)警控制,顯示程序,串口通信程序和按鍵掃描程序。
2 初始化程序
初始化程序主要目的是進(jìn)行檢測(cè)之前的準(zhǔn)備工作,大部分都是硬件的初始化和相關(guān)寄存器的置位。本設(shè)計(jì)中初始化程序主要進(jìn)行時(shí)鐘源配置,I/O端口的初始化,定時(shí)器的設(shè)定,數(shù)模轉(zhuǎn)換芯片的初始化以及串口的配置。
3 中斷處理程序
單片機(jī)中有許多定時(shí)器,本文采用定時(shí)器A,利用定時(shí)器中斷進(jìn)行掃描,實(shí)現(xiàn)主函數(shù)里的工作時(shí)序,由于本系統(tǒng)硬件采用8MHZ的晶振,根據(jù)計(jì)算,當(dāng)數(shù)值到達(dá)40000時(shí),便是經(jīng)過(guò)5ms,根據(jù)程序流圖可知我們是5ms中斷一次。程序如下
4 數(shù)據(jù)采集子程序
MF430單片機(jī)自帶ADC模塊,采集轉(zhuǎn)換電路傳輸?shù)男盘?hào),但是ADC的使用需要一定的初始化,否則不能正常運(yùn)行。程序如下:
上述程序中設(shè)置采樣時(shí)間為33us,采集模式設(shè)置為單通道多次采樣,開啟采集允許和轉(zhuǎn)換允許.
5 總結(jié)
本文主要給出了軟件設(shè)計(jì)的總體框架,和比較重要的子程序設(shè)計(jì),講述了軟件通過(guò)不斷的掃描實(shí)現(xiàn)數(shù)據(jù)的處理和顯示報(bào)警等。
作者簡(jiǎn)介:石妍(1997-),女,陜西富平人,本科,研究方向:?jiǎn)纹瑱C(jī)。endprint