馬江凱,朱淋,王斯帆
(大連理工大學(xué)城市學(xué)院,遼寧大連,116000)
伴隨著科技不斷發(fā)展,從單片機(jī)的出現(xiàn)到現(xiàn)在各種嵌入式微處理器、微控制器的普遍應(yīng)用。伴隨這嵌入式技術(shù)與Internet技術(shù)的結(jié)合,嵌入式系統(tǒng)的研究與應(yīng)用在飛速發(fā)展。在信息的時(shí)代,對(duì)信息的采集、發(fā)送、接受和顯示也是非常必要,嵌入式系統(tǒng)可以作為顯示設(shè)備,ARM技術(shù)成本低、功耗低更容易進(jìn)入市場(chǎng),更加具有競(jìng)爭(zhēng)力,其中S3C2410內(nèi)部集成LCD控制器,S3C2410A芯片支持多種尺寸的STN型、TFT型LCD,LCD彩色顯示采用RGB格式,通過軟件編程對(duì)寄存器寫入不同的值,可以配置不同尺寸,像素點(diǎn),接口時(shí)間等等,可方便對(duì)圖形圖像進(jìn)行顯示。
液晶得名于其物理特性:它的分子晶體,以液態(tài)存在而非固態(tài)。這些晶體分子的液體特性使得它具有兩種非常有用的特點(diǎn):(1)如果讓電流通過液晶層,這些分子將會(huì)以電流的流向方向進(jìn)行排列,如果沒有電流,它們將會(huì)彼此平行排列。(2)如果提供了帶有細(xì)小溝槽的外層,將液晶倒入后,液晶分子會(huì)順著槽排列,并且內(nèi)層與外層以同樣的方式進(jìn)行排列。
從顏色混合原理上來講,一般分為光學(xué)三基色和印刷三基色,光學(xué)三基色遵循顏色加法原理,印刷三基色遵循顏色減法原理。本次設(shè)計(jì)通過賦值不同來改變顏色亮度,不同顏色疊加比例不同,產(chǎn)生的色彩不同。本次設(shè)計(jì)涉及顏色組合:紅+綠=黃;紅+綠+藍(lán)=白。
在S3C2410A芯片中具有LCD控制器,可以將顯示緩存(在SDRAM存儲(chǔ)器中) 中的LCD圖像數(shù)據(jù)傳輸?shù)酵獠康腖CD驅(qū)動(dòng)電路上,支持640 X 480、320X 240和160X160等多種顯示屏尺寸的STN型LCD和TFT型LCD。對(duì)于STN型LCD,LCD控制器可支持4位雙掃描、4位單掃描和8位單掃描3種顯示類型;支持4級(jí)和16級(jí)灰度級(jí)單色顯示模式,支持256色和4096色顯示;在256色顯示模式下,最大可支持4096×1024,2048X2048和1024X4096顯示。對(duì)于TFT型LCD,可支持1、2、4、8 bpp(bits per pixel)調(diào)色板顯示模式和16bpp非調(diào)色板真彩顯示。
圖1 總體設(shè)計(jì)
LCD采用640*480顯示屏,通過開發(fā)環(huán)境,生成相應(yīng)的文件,將文件發(fā)送,達(dá)到顯示圖像的目的。進(jìn)入開發(fā)環(huán)境,編寫程序代碼,代碼實(shí)現(xiàn)開發(fā)板初始化和LCD初始化,之后將對(duì)應(yīng)區(qū)間的像素點(diǎn)點(diǎn)亮。本次設(shè)計(jì)實(shí)現(xiàn)佛得角國旗的繪制,針對(duì)整體圖形分布,首先將藍(lán)-白-紅-白-藍(lán)顏色作為底色,在其函數(shù)后編寫五角星函數(shù),通過一個(gè)五角星的函數(shù),經(jīng)過整體平移實(shí)現(xiàn)多個(gè)五角星繪制,最后完成整個(gè)國旗的繪制。
具體設(shè)計(jì)思想:顯示屏為640*480,將國旗按相應(yīng)比例縮放至640*480區(qū)域,以國旗的一個(gè)角為原點(diǎn)建立直角坐標(biāo)系,量取各個(gè)顏色起點(diǎn)至終點(diǎn)的坐標(biāo),量取其中某個(gè)五角星的五個(gè)頂點(diǎn)的坐標(biāo)。使用顏色起點(diǎn)至終點(diǎn)的坐標(biāo),編寫函數(shù)使其范圍覆蓋對(duì)應(yīng)區(qū)域,使用五角星五個(gè)頂點(diǎn)坐標(biāo),建立直線函數(shù),確定直線界限,使函數(shù)構(gòu)成一個(gè)完整的五角星,量取計(jì)算各個(gè)五角星的相對(duì)位置的坐標(biāo),通過整體的平移,使五角星顯示在相應(yīng)位置。
圖2 佛得角國旗
圖3 軟件程序設(shè)計(jì)流程
代碼思想:首先初始化開發(fā)板,初始化LCD,將640*480像素平面先填充底色(藍(lán)+白+紅+白+藍(lán)),在填充完底色后開始填充五角星的黃色。LCDBufferII2[i][j]對(duì)里面的i,j使用for循環(huán)設(shè)置顯示區(qū)域;0x00000000—RGB均為0為黑色,0x000000f8對(duì)應(yīng)R,0x0000f800對(duì)應(yīng)G,0x00f80000對(duì)應(yīng)B,通過設(shè)置不同數(shù)值調(diào)節(jié)顯示亮度及色彩。
對(duì)編輯完的程序文件進(jìn)行編譯,編譯完成進(jìn)入超級(jí)終端運(yùn)行程序,使超級(jí)終端進(jìn)入vivi,輸入load flash ucos x按下“回車”進(jìn)入下一個(gè)界面,打開超級(jí)終端上方的“傳送”菜單并選擇發(fā)送的文件(點(diǎn)擊瀏覽,查找并進(jìn)入到編譯生成的映像文件夾,打開system.bin文件),在發(fā)送文件對(duì)話框中的協(xié)議欄選擇“Xmodem”將文件發(fā)送,發(fā)送結(jié)束,映像文件即下載至flash中。輸入bootucos命令,回車運(yùn)行ucos程序。運(yùn)行結(jié)果如下:
圖4 運(yùn)行結(jié)果
本次實(shí)驗(yàn)設(shè)計(jì)應(yīng)用S3C2410s嵌入式系統(tǒng),實(shí)現(xiàn)佛得角國旗的繪制。其中在軟件編程中,需要根據(jù)國旗比例,不同長條形狀顏色填充的比例,五角星的函數(shù),五角星的位置關(guān)系確定相應(yīng)的函數(shù)程序。中途因?yàn)槲褰切嵌鄺l線的分界問題出現(xiàn)過一些誤差,后面經(jīng)過不斷地修改,完成了五角星的分布,整體來說繪制還是成功的?;仡櫿麄€(gè)過程,在程序過長、圖像稍微復(fù)雜時(shí),發(fā)送文件生成圖像的時(shí)間較長,因此本設(shè)計(jì)適用于靜態(tài)圖像的顯示。