12864市面上比較流行的有兩種,一種是以KS0108為主控芯片的,不帶字庫(kù)的,說白了就是只能靠打點(diǎn)才能顯示出字符或圖形的,當(dāng)然要借助取模軟件;另一種是以ST7920為主控芯片的,帶ASCII碼和中文字庫(kù)。至于兩種的區(qū)別下一篇再討論,這篇先講述KS0108為主控芯片的12864的原理。
這是網(wǎng)上找的一個(gè)管腳圖,當(dāng)然不同品牌的可能略有差異,但是主要的還是一樣的
重點(diǎn)要講一下CS1和CS2,KS0108控制的12864內(nèi)部有兩個(gè)控制器,分別控制左半屏和右半屏,如下圖所示 左半屏和右半屏操作時(shí)寫的地址其實(shí)是一樣的,那么只能通過片選CS1和CS2來選擇哪半個(gè)屏了,如果兩個(gè)都選通,則相當(dāng)于兩塊64x64的液晶了,而且顯示的內(nèi)容是一樣的,取模方式是縱向8點(diǎn)下高位。 好了,來說下原理,列的范圍是0~63,我已經(jīng)標(biāo)出了,行是不能按位來寫的,而是寫“頁”,一個(gè)頁相當(dāng)于8個(gè)點(diǎn),也就是8位,即一個(gè)字符,高位在下面,那么頁的范圍是0~7,共8頁,8頁x8個(gè)點(diǎn)正好64個(gè)點(diǎn)。 這是我用取模軟件截的一個(gè)“們”字,可以看出它是16x16大小的,實(shí)際上占用了兩個(gè)“頁”,16個(gè)列,而我們操作時(shí)先固定一個(gè)頁,比如這個(gè)就先寫上面那頁,假設(shè)為n好了,從列0寫到16,然后頁n+1,再?gòu)牧?寫到16,這樣一個(gè)“們”字就出來了,下面是其代碼0x40,0x20,0xF8,0x07,0x00,0xF8,0x02,0x04, 0x08,0x04,0x04,0x04,0x04,0xFE,0x04,0x00,
0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,
可見16x16的字符占了32個(gè)字節(jié)(上面n頁16個(gè)字節(jié)加n+1頁16個(gè)),那么如果一幅滿幅的圖片,就是128x64,占用128x8=1K個(gè)字節(jié),可見還是非常占空間的。這樣大家對(duì)這款液晶的原理是不是已經(jīng)懂了呢?接下來的事就是大家在這款液晶上畫出自己想要的東西吧。
|