不管是12864的說明書,還是現有的教材,都讓人惱火,故寫此貼。 一、它有兩種且只有兩種工作模式,一是圖形顯示模式,二是字符顯示模式,所以,在編程時,首先應該做的就是設定模式。怎么設定?就是說明書上所謂的基本指令和擴充指令之說,你把基本指令理解為字符模式,擴充指令理解為圖形模式,剩下的事,就好辦了。 二、不同的模式下有不同的顯示功能設計,故不同模式下有不同的指令,如字符模式下有光標這種功能而圖形模式下則沒有,所以,字符模式下專門設計有針對光標的一些指令,還有光標字符反白之類的指令。 三、嚴格說來,它只有一種功能,就是以顯示點的方式顯示圖形,至于字符顯示功能,它是圖形顯示的一種專用化方案,即將所有字符統一成縱橫向點數一致的圖形并固化在ROM中,這些圖形均進行了統一編號,需顯示時直接輸入其編號,從ROM中進行調用并顯示在屏幕指定位置。 四、字符點陣分為半寬字符和全寬字符,其中半寬字符點陣數為16X8,主要用于一些如英文字母、阿拉伯數字等用16X8即可清晰顯示的符號;全寬字符為16X16,一是用于漢字顯示,二還給用戶留了四個自編16X16點陣圖形。 五、半寬、全寬,輸入屏中都是二進制數,故屏中的處理器要對其進行區分,區分方法如下: 1.如果輸入的編號為02H~7FH(一字節),則顯示屏處理器判斷其為半寬,直接按這個一字節編號從半寬字符庫中調用; 2.如果輸入的編號為A1H~F7H(一字節),則處理器判斷其為漢字,并不立即調用,而是與后輸入的一字節編號共同組成16位兩字節編號,再根據此編號從漢字字庫中調用。 3.用戶圖形編號為0000H、0002H、0004H、0006H。 4.這三類字符,在屏幕硬件中,存于不同的硬件ROM(固化符號)或RAM(用戶符號)中,分別被教材稱為HCGROM、CGROM、CGRAM。 六、字符模式下,輸入的是字符的編號;圖形模式下,輸入的是128X64個點的亮暗。屏幕硬件中,這兩種數據是存在不同的硬件RAM中的,前者就是教材中說的DDRAM,后者就是繪圖DGRAM。 七、在屏幕中的位置定位:字符以一維座標方式表示,圖形以二維座標方式表示。 八、圖形模式下,一字節數據控制8個點的亮暗,所以,其座標數為64X16。 PS:現有教材都是照抄照寫了一大堆,云山霧罩。如果你自己理解了其功能設計思路,則你閉著眼睛都可以編程了,哪用得著抄別人的程序,還抄得不知對錯,出了問題也不知問題在哪。 |