路璐 劉嘉朋 任罡
隨著科技的發(fā)展,單片機(jī)的應(yīng)用基本涉足的各個領(lǐng)域,作為中波廣播發(fā)射機(jī)來說,控制顯示板原有的數(shù)字邏輯控制電路,邏輯復(fù)雜、成本高。所以哈廣廠最先采用了單片機(jī)來對中波廣播發(fā)射機(jī)進(jìn)行控制,不僅完成了原有控制顯示板的所有功能,而且還降低了成本,增加了穩(wěn)定性,下面簡單介紹一下用單片機(jī)進(jìn)行控制的設(shè)計思路。
硬件主要分為四大部分:液晶、觸摸屏、單片機(jī)、CPLD、和外部電路接口。單片機(jī)主要負(fù)責(zé)采集發(fā)射機(jī)數(shù)據(jù)(包括數(shù)字和模擬)、控制液晶顯示和觸摸屏實(shí)現(xiàn)人機(jī)交互,對各種數(shù)據(jù)處理后對發(fā)射機(jī)進(jìn)行控制。使用CPLD對單片機(jī)的IO進(jìn)行擴(kuò)展,外圍接口電路實(shí)現(xiàn)單片機(jī)、CPLD與發(fā)射機(jī)連接上的電平匹配。
控制程序包含8個頁面分別為、主頁面、時間設(shè)置頁面、自動開關(guān)機(jī)設(shè)置頁面、編碼器控制頁面 、發(fā)射機(jī)狀態(tài)量頁面、發(fā)射機(jī)故障指示頁面、監(jiān)控器頁面、發(fā)射機(jī)工作模式頁面。各頁面可通過主頁面進(jìn)行切換,每個頁面用一個獨(dú)立的c文件實(shí)現(xiàn),每個頁面c文件內(nèi)部通過語句while(flag_out)循環(huán)實(shí)現(xiàn)頁面維持(此時flag_out為1),在需要切換頁面時將flag_out置零跳出頁面,回到主程序中然后進(jìn)入下一個頁面,完成頁面的切換。頁面間主要通過全局變量傳遞參數(shù)。
對發(fā)射機(jī)的狀態(tài)檢測和自動控制以及故障處理都在一個c文件(monitor.c)中實(shí)現(xiàn),文件中主要由monitor() 函數(shù)實(shí)現(xiàn)功能,monitor () 函數(shù)執(zhí)行一次就對發(fā)射機(jī)各種參數(shù)進(jìn)行一次采集,并進(jìn)行一次處理。在開機(jī)能操作的頁面下每次循環(huán)都執(zhí)行一次本函數(shù)。
觸摸屏相應(yīng)程序?qū)崿F(xiàn)方法如下:通過touch.c中的r_touch()函數(shù)實(shí)現(xiàn)觸摸屏X,Y參數(shù)的讀取,通過X,Y判斷觸摸屏上的操作位置。
一、工作流程圖
二、主程序設(shè)計說明
主要實(shí)現(xiàn)功能:
(一)單片機(jī)初始化,對E2PROM中的數(shù)據(jù)進(jìn)行校驗(yàn)
(二)從E2PROM中讀取上次設(shè)置和累計開關(guān)機(jī)時間
(三)在頁面切換過程中起橋接作用。
單片機(jī)初始化對像包括:看門狗、時鐘、交叉開關(guān)、ADC0、ADC1、串口、I2C控制器,總線控制器。
三、觸摸屏程序設(shè)計說明
觸摸屏特性:觸摸屏在橫縱座標(biāo)上分別被256等分,
讀取坐標(biāo)函數(shù)為 unsigned char*r_touch();
數(shù)組返回值為一個指向數(shù)組unsigned char point 的指針。
四、發(fā)射機(jī)檢測、控制函數(shù)monitor()? 函數(shù)說明
(一)函數(shù)原型 bit monitor(void)
函數(shù)功能 對發(fā)射機(jī)各種數(shù)字量和模擬量進(jìn)行采集,處理然后對發(fā)射機(jī)進(jìn)行自動控制,進(jìn)行開機(jī)時間的累積,在發(fā)射機(jī)有故障量產(chǎn)生時函數(shù)返回值為0,正常情況下返回1,用于自動翻屏。屏幕右上角的關(guān)機(jī)鈕是在monitor()函數(shù)中實(shí)現(xiàn)的
(二)程序結(jié)構(gòu)
程序中有兩個返回點(diǎn):如果有故障直接從故障檢測處返回,沒有故障運(yùn)行完成后返回。在每個開機(jī)(上高壓)狀態(tài)下能操作的頁面都包含monitor()函數(shù)。
五、關(guān)于時間設(shè)置函數(shù)說明
在時間設(shè)置文件submenu_time.c中有萬年歷計算器,實(shí)現(xiàn)設(shè)定時間的約束,此萬年歷計算器可算出不同年份每個月的天數(shù),并算出某天是星期幾。用于約束所調(diào)整的日期。函數(shù)如下:
unsigned char WeekDay20(unsigned char y, unsigned char m, unsigned char d)
y,m,d分別為輸入的年月日,返回星期和天數(shù)高位為星期,低位為天數(shù)。用其限制輸入的天數(shù)。
經(jīng)過上述的設(shè)計,新的控制板大約減少了四倍的體積,并且采用的都是當(dāng)今比較流行的器件,便于采購,運(yùn)行穩(wěn)定。