12864市面上比較流行的有兩種,一種是以KS0108為主控芯片的,不帶字庫(kù)的,說(shuō)白了就是只能靠打點(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í)寫(xiě)的地址其實(shí)是一樣的,那么只能通過(guò)片選CS1和CS2來(lái)選擇哪半個(gè)屏了,如果兩個(gè)都選通,則相當(dāng)于兩塊64x64的液晶了,而且顯示的內(nèi)容是一樣的,取模方式是縱向8點(diǎn)下高位。 好了,來(lái)說(shuō)下原理,列的范圍是0~63,我已經(jīng)標(biāo)出了,行是不能按位來(lái)寫(xiě)的,而是寫(xiě)“頁(yè)”,一個(gè)頁(yè)相當(dāng)于8個(gè)點(diǎn),也就是8位,即一個(gè)字符,高位在下面,那么頁(yè)的范圍是0~7,共8頁(yè),8頁(yè)x8個(gè)點(diǎn)正好64個(gè)點(diǎn)。 這是我用取模軟件截的一個(gè)“們”字,可以看出它是16x16大小的,實(shí)際上占用了兩個(gè)“頁(yè)”,16個(gè)列,而我們操作時(shí)先固定一個(gè)頁(yè),比如這個(gè)就先寫(xiě)上面那頁(yè),假設(shè)為n好了,從列0寫(xiě)到16,然后頁(yè)n+1,再?gòu)牧?寫(xiě)到16,這樣一個(gè)“們”字就出來(lái)了,下面是其代碼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,
可見(jiàn)16x16的字符占了32個(gè)字節(jié)(上面n頁(yè)16個(gè)字節(jié)加n+1頁(yè)16個(gè)),那么如果一幅滿幅的圖片,就是128x64,占用128x8=1K個(gè)字節(jié),可見(jiàn)還是非常占空間的。這樣大家對(duì)這款液晶的原理是不是已經(jīng)懂了呢?接下來(lái)的事就是大家在這款液晶上畫(huà)出自己想要的東西吧。
|