紫外LED照射器的人機(jī)交互模塊設(shè)計(jì)
2)DMA的設(shè)置
DMA控制器為數(shù)據(jù)傳輸提供了一個(gè)通道,使數(shù)據(jù)可以在存儲(chǔ)器之間或者存儲(chǔ)器和有DMA功能的外設(shè)之間進(jìn)行傳輸。在本課題的PPI驅(qū)動(dòng)應(yīng)用中,數(shù)據(jù)需要在外接的65MSDRAM外部存儲(chǔ)器和PPI中進(jìn)行傳輸。
在本設(shè)計(jì)中,具體的DMA設(shè)置如下:
*pDMA0_X_COUNT=320:
*pDMA0_X_MODIFY=2;//因?yàn)槊總€(gè)字是兩個(gè)字節(jié),其寬度為2,所以設(shè)置為2
*pDMA0_Y_COUNT=262;//通過LCD的DATA Sheet手冊(cè)可知,在整屏的數(shù)據(jù)傳輸中,前面19行和后面的3行是無效的,這是LCD液晶屏的時(shí)序所要求的,所以3+19+240=262.*pDMA0_Y_MODIFY=2:
3)定時(shí)器設(shè)置
在PPI的2幀同步模式下,Timer1和2的引腳分別變?yōu)镻PI_FS1和PPI_FS2。如果PPI設(shè)置為傳輸數(shù)據(jù),則定時(shí)器必須設(shè)置為產(chǎn)生需要的輸出幀同步脈沖。通常在視頻應(yīng)用中,同步幀1為HSYNC信號(hào),同步幀2為VSYNC信號(hào)。在本設(shè)計(jì)中,具體的DMA設(shè)置的實(shí)現(xiàn)如下。
*pTIMER1_PERIOD=406;//設(shè)置行頻的波形時(shí)間。
*pTIMER1_WIDTH=30;//設(shè)置行頻的波形寬度。
*pTIMER2_PERIOD=262*406;//設(shè)置場(chǎng)頻的波形時(shí)間。
*pTIMER2_WIDTH=406*1; //設(shè)置場(chǎng)頻的波形寬度。
*pTIMER1_CONFIG=EMU_RUN 1 CLK_SEL 1 TIN_SEL 1 PERIOD_CNT 1 PWM_OUT;
*pTIMER2_CONFIG=EMU_RUN 1 CLK_SEL 1 TIN_SELIPERIOD_CNT 1 PWM_OUT;
//對(duì)時(shí)鐘計(jì)數(shù)器使用PWM_CLK,當(dāng)timer1和timer2對(duì)點(diǎn)時(shí)鐘計(jì)數(shù)到了設(shè)置的次數(shù)的時(shí)候,那么會(huì)在Out引腳輸出一個(gè)有效電平,然后計(jì)數(shù)器重新開始計(jì)數(shù)。
*pTIMER_ENABLE=TIMEN1 1 TIMEN2; //使能定時(shí)器1和2
1.3 圖形標(biāo)準(zhǔn)庫
用戶圖形界面的實(shí)現(xiàn),除了硬件電路模塊的支持外還需要豐富的軟件系統(tǒng)的支持,而其中最基礎(chǔ),也是最不可或缺的是圖形標(biāo)準(zhǔn)庫。用戶圖形界面的圖形標(biāo)準(zhǔn)庫最基本的庫函數(shù)簡(jiǎn)單的包括畫點(diǎn)、畫線、畫矩形,復(fù)雜的包括填充矩形、畫圓形,以及放置bmp格式的圖案庫函數(shù),要實(shí)現(xiàn)顯示中、英文等功能,需要設(shè)計(jì)字庫函數(shù),本系統(tǒng)基于強(qiáng)大的VisualDSP++5.0Kernel(VDK),擁有強(qiáng)大的圖形庫,所以可以支持復(fù)雜的用戶圖形界面。
要實(shí)現(xiàn)用戶圖形界面,僅僅有了繪制圖形的圖形標(biāo)準(zhǔn)庫函數(shù),還是遠(yuǎn)遠(yuǎn)不夠的,圖形庫只能形成單一的畫面,但是要想形成切合用戶習(xí)慣的可操作圖形界面的話,還需要在后臺(tái)有一個(gè)功能強(qiáng)大,并且穩(wěn)定的操作系統(tǒng)平臺(tái),它決定了負(fù)責(zé)調(diào)度系統(tǒng)的狀態(tài),就是我們平常說的狀態(tài)機(jī)。狀態(tài)機(jī)根據(jù)用戶的外界按鍵輸入,以及系統(tǒng)當(dāng)前的特定工作狀態(tài)來決定系統(tǒng)的下一步狀態(tài),從而調(diào)用相應(yīng)的圖形界面,如此,便實(shí)現(xiàn)了人性化的用戶圖形界面,可以滿足特定工作需求。
2 軟件設(shè)計(jì)思路
對(duì)于用戶圖形界面的設(shè)汁小能簡(jiǎn)單的設(shè)計(jì)成統(tǒng)一的模塊,要考慮到用戶在復(fù)雜的應(yīng)用情況下對(duì)操作界面的需求,我們將這些界面分成不同的種類,設(shè)計(jì)流程如圖4所示,一種是靜態(tài)的配置狀態(tài)顯示,一種是動(dòng)態(tài)的輸出狀態(tài)實(shí)時(shí)變化顯示,對(duì)于靜態(tài)界面,我們可以用格式轉(zhuǎn)化軟件將bmp格式圖像轉(zhuǎn)化成二維數(shù)組載入到顯示緩存中來顯示當(dāng)前的固定配置界面。本文引用地址:http://butianyuan.cn/article/167577.htm
一般來說,編程人員在設(shè)計(jì)動(dòng)態(tài)顯示界面的時(shí)候,如果按照常規(guī)的設(shè)計(jì)方法,會(huì)使用一些全局變量作為不同狀態(tài)、不同模式下的標(biāo)志,這樣可以實(shí)現(xiàn)圖形界面的改變,但這會(huì)導(dǎo)致變量的數(shù)量過多,從而引起變量之間的搭配成倍的增加,隨著工作復(fù)雜程度的真假,狀態(tài)的轉(zhuǎn)移關(guān)系也就會(huì)劇烈的增加,這會(huì)讓開發(fā)者陷入復(fù)雜的邏輯問題。
為了解決上述問題,改變普通的設(shè)汁方法,盡量少設(shè)可以改變的狀態(tài),使貫穿與整個(gè)界面顯示系統(tǒng)的只有一兩個(gè)狀態(tài)量,如果想得到新的界面信息,只需要改變特定的一兩個(gè)狀態(tài)量,文中的方案是提取和解析鍵值來作為主線,少量全局變量和結(jié)構(gòu)作為輔助,這樣設(shè)計(jì)的現(xiàn)實(shí)系統(tǒng),非常簡(jiǎn)明而且易于控制和修改。在使用過程中通過對(duì)鍵值的解析,得到對(duì)應(yīng)的界面。
評(píng)論