基于MicroBlaze軟核的液晶驅動(dòng)程序設計
4 MicrOBlaze與液晶顯示模塊的接口
本文引用地址:http://dyxdggzs.com/article/267946.htm由于本文采用的液晶模塊已經(jīng)自帶了顯示控制芯片T6963C,因此液晶模塊的外圍電路相對來(lái)說(shuō)就比較簡(jiǎn)單,只要考慮和MicroBlaze的接口電路即可。本設計采用GPIO模擬液晶模塊的時(shí)序,實(shí)現對液晶模塊的顯示控制。MicroBlaze和液晶模塊的接口電路如圖3所示。

在EDK開(kāi)發(fā)套件的XPS集成開(kāi)發(fā)環(huán)境下進(jìn)行系統硬件設計。在其界面環(huán)境下,添加所需IP核,進(jìn)行系統連接和各項參數設置。利用平臺產(chǎn)生器,根據硬件描述文件(.MHS文件),生成嵌入式系統子模塊的網(wǎng)表文件(.NGC),然后調用Xilinx的綜合工具XST進(jìn)行綜合,從而構成整個(gè)應用系統的硬件模型。
本設計中采用了GPIO對液晶模塊進(jìn)行控制。EDK提供了一系列API函數,通過(guò)這些函數可以很方便地對GPIO進(jìn)行操作。下面先介紹2個(gè)函數:

其中,InstancePtr是指針,指向要控制的GPIO的基地址;Channel為通道值,選0或1。這兩個(gè)函數只對Mask中對應位為1的位有影響,比如,XGpio_DiscreteSet(&lcd240128,1,Ox00000001)將LCl3240128_pin
#define wr_high()XGpio_DiscreteSet(&lcd240128,1,Ox00000800),
#define wr_low()XGpio_DiscreteClear(&1cd240128,l,0x00000800),
其他6個(gè)同理可推知。有了這2個(gè)函數,就可以很方便地編寫(xiě)出寫(xiě)命令和寫(xiě)數據函數了。下面對這2個(gè)函數作簡(jiǎn)要介紹:


function ImgZoom(Id)//重新設置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
液晶顯示圖形和字符都是由點(diǎn)陣組成的,因此,在液晶上顯示一個(gè)像素點(diǎn)是顯示圖形和字符的基礎。下面將單像素點(diǎn)顯示函數介紹如下:

有了單像素點(diǎn)顯示函數,就可以很方便地編寫(xiě)出字符顯示函數和圖形顯示函數了。限于篇幅,這里不作介紹。
結 語(yǔ)
本設計已在Xilinx Spatan3 Starter Board上進(jìn)行了驗證,取得了良好的效果。通過(guò)本設計的實(shí)現可以看出,MicroBlaze是一個(gè)功能強大、應用靈活的嵌入式軟處理器,特別是其強大的用戶(hù)自定義邏輯功能,極大地方便了系統設計??梢灶A見(jiàn),基于嵌入式軟處理器的SOPC開(kāi)發(fā)方法,必將擁有廣闊的應用前景。
存儲器相關(guān)文章:存儲器原理
塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理
評論