新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 點陣式液晶字符反白和圖形顯示研究

        點陣式液晶字符反白和圖形顯示研究

        作者: 時間:2010-06-30 來源:網絡 收藏
        字型編碼如下:

        ①顯示半寬HCGROM字型。將1字節寫入DDRAM中,范圍為02H~7FH的編碼。

        ②顯示半寬CGRAM字型。將2字節編碼寫入DDRAM中,總共有0000H、0002H、0004H、0006H四種編碼。

        ③顯示中文CGROM字型。將2字節編碼寫入DDRAM中,范圍為A1AOH~FTFFH(GB碼)或A140H~D75FH(BIG5碼)的編碼。

        2.2 繪圖顯示

        繪圖顯示GDRAM提供128×8字節的記憶空間。在更改繪圖RAM時,先連續寫入水平與垂直的坐標值,再寫入2個字節的數據到繪圖RAM中,而地址計數器(AC)會自動加1。在寫入繪圖顯示RAM的期間,繪圖顯示功能必須關閉。整個寫入繪圖RAM的步驟如下:

        ①關閉繪圖顯示功能;

        ②先將水平的位元組坐標(X)寫入繪圖RAM地址,再將垂直的坐標(Y)寫入繪圖RAM地址;

        ③依次將D15~D8和D7~D0寫入RAM中;

        ④打開繪圖顯示功能。

        坐標如圖2所示。其中,水平方向X以字節單位,垂直方向Y以位為單位。



        3 反白

        在實現人機交互界面菜單時,反白可以表示菜單中不同選項被選中的狀態。顯示模塊YM12864R的使用手冊中提供了對應行的反白指令,但在原理上ST7920控制器的128×64點陣等同于256×32點陣,第3行對應的文本顯示(DDRAM)地址緊接著第1行,第4行對應的文本顯示(DDRAM)地址緊接第2行。因此,用戶對第1行執行反白顯示操作時,第3行必然也反白顯示;對第2行執行反白操作時,第4行也必然反白??梢姡褂檬謨灾凶詭У姆窗字噶畈荒軐崿F任意的反白。

        為了解決上述問題,可以將和字符顯示結合起來使用。在ST7920控制器中,文本顯示的DDRAM和的GDRAM是相互獨立的,而最后顯示到上的結果則是,文本顯示DDRAM中數據和圖形顯示GDRAM中數據的異或結果。

        如果要在液晶顯示模塊的某個點上呈現反白顯示,那么就在該點繪圖并且顯示文本;如果要取消反白,只需用全“0”擦掉該點的繪圖。這樣,就可以實現YM12864R的任意字符的反白。

        字符反白程序流程如圖3所示。其中,base_x表示繪圖起始的行地址;Y_Pos表示繪圖起始的列地址;第1行至第4行的起始地址分別是(0x80,0x80),(0xS0,0xg0),(0x88,0xS0)和(0x88,0x90)。



        反白就是在需要反白的區域進行繪圖,即在這個區域寫進0xff。清除一個區域的反白,就是對需要清除反白的區域清除繪圖,即在這個區域寫進0x00。

        在整個繪圖的過程中,橫向地址指針是自動進行加1運算的,所以只需要確定這一行的首地址橫坐標;而縱坐標的地址不進行自動加1運算,需要在程序中修正,每次修正是以像素為基本單位的。

        字符反白顯示實例如圖4所示。



        4 任意位置顯示任意大小圖形

        在實現人機交互界面時,圖文結合是常見的一種方式。本文嘗試一種任意位置顯示任意大小圖形(橫向尺寸以字節為基本單位,縱向尺寸以位為基本單位)的方法,為人機交互界面的圖形結合設計提供了捷徑。

        4.1任意位置顯示任意大小圖形程序

        任意位置顯示任意大小圖形程序流程如圖5所示。其中,x1和y1表示所畫圖的起始點相對于液晶屏幕左上角起始點(0xS0,0x80)的距離(橫向x1以字節為基本單位,縱向y1以位為基本單位);x表示所畫圖的起始橫坐標地址;y表示所畫圖的起始縱坐標地址;Write_command()函數用于向液晶中寫命令;templ表示圖形的縱向尺寸(以像素為單位)。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 塔城市| 富阳市| 绿春县| 兴城市| 奇台县| 乐至县| 通道| 浦东新区| 武定县| 千阳县| 宁蒗| 台北县| 新巴尔虎左旗| 锡林浩特市| 嵊州市| 淮阳县| 蚌埠市| 遵化市| 通道| 雷州市| 奈曼旗| 保亭| 隆安县| 繁昌县| 华坪县| 金华市| 城步| 娄底市| 徐汇区| 宁陵县| 阿拉尔市| 兰溪市| 甘洛县| 屯门区| 玉环县| 辉县市| 巴塘县| 平塘县| 长寿区| 资源县| 南江县|