亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 液晶12864串口的畫任意像素點的問題 [打印本頁]

作者: 謝小康4    時間: 2018-12-8 09:42
標題: 液晶12864串口的畫任意像素點的問題
          近期想做個俄羅斯方塊玩一玩,現(xiàn)有的材料有12864,普中科技的開發(fā)板(沒有鎖存器),芯片12C5A60S2,
看了許多前輩寫的貪吃蛇、俄羅斯都是用并口寫的,但是我只有串口的12864,所以想寫一個串口的玩,也許有人會說串口發(fā)送數(shù)據(jù)比并口慢,但是我覺著
12C5A60S2芯片還是夠強大,反應速度可以接受。
我查了很多資料,說串口的時候不支持讀數(shù)據(jù),導致寫任意一個點的程序有點復雜,網(wǎng)上說建一個顯存,但不知道是什么具體意思。經(jīng)過幾天的摸索,我發(fā)現(xiàn)每次畫一個點之后,橫向在這個點旁,無法畫點。還有就是那種在上邊顯示一個圓,傾斜直線,等,用串口來寫,各位有什么建議或者是想法嗎?

  提煉一下問題:
1.12864串口如何打點,任意打點, 連續(xù)打點,總之就是給坐標按坐標打點的想法;
2.12864串口自己建一個顯存是什么意思,怎么建的;
3.12864串口畫圓,畫傾斜直線這種是怎么辦到的;
歡迎大家前來討論,謝謝!





作者: yzwzfyz    時間: 2018-12-8 13:18
簡單:
1、顯示屏每次最低的數(shù)據(jù)操作是一個字節(jié),即8個水平的點,不可以一個點一個點的操作。
2、你要顯示的是一個點,只有一個辦法:事先必須知道其余7個點的當前數(shù)據(jù),將它們與你要顯示的1個點拼在一起,形成一個字節(jié),再送到屏上去。這樣才能保證:你只改變了一個點的數(shù)據(jù),而其余7個點不變。
3、“事先知道其余7個點的當前數(shù)據(jù)”方式,有兩種:一種是讀屏,取得8個點的數(shù)據(jù);另一種是,建立一個顯示緩沖區(qū),區(qū)的大小是1024個字節(jié),每個字節(jié)對應8個顯示點,這樣可以對應1024*8=128*64。顯示屏只從緩沖區(qū)取數(shù)據(jù)顯示。由于緩沖區(qū)中的數(shù)據(jù)是你寫入的,你當然就知道屏上任意一個點的數(shù)據(jù)了。
作者: 謝小康4    時間: 2018-12-9 08:56
yzwzfyz 發(fā)表于 2018-12-8 13:18
簡單:
1、顯示屏每次最低的數(shù)據(jù)操作是一個字節(jié),即8個水平的點,不可以一個點一個點的操作。
2、你要顯 ...

請教一下如何在12864上修改一個1024字節(jié)的緩沖區(qū)?推薦點資料也行,網(wǎng)上相關(guān)的介紹比較少,謝謝
作者: yzwzfyz    時間: 2018-12-9 10:46
所謂緩沖區(qū),在這里就是1024個字節(jié)的RAM就可以了。
例如:你可以用1000H-13FFH這個區(qū)域做緩沖區(qū)。
將1000H是的數(shù)據(jù)固定送至屏的最上最左8個點;
將1001H是的數(shù)據(jù)固定送至屏的最上次左8個點;
……
將13FFH是的數(shù)據(jù)固定送至屏的最下最右8個點。
這需要資料嗎?要改顯示的內(nèi)容,就修改1000H-13FFH中對應的數(shù)據(jù),再記住將修改過的數(shù)據(jù)對應送到屏上去刷新一下屏,不就可以了,有何難的呢?
作者: 謝小康4    時間: 2018-12-9 21:29
yzwzfyz 發(fā)表于 2018-12-9 10:46
所謂緩沖區(qū),在這里就是1024個字節(jié)的RAM就可以了。
例如:你可以用1000H-13FFH這個區(qū)域做緩沖區(qū)。
將1000 ...

請原諒我的愚鈍,還想再次請教一下如何在屏幕的一塊區(qū)域?qū)粔K內(nèi)存的區(qū)域?我今天看了很多12864的資料也沒有找到相關(guān)的,可以請您說詳細點嗎?
我自己的想法是定義一個8*64字節(jié)的數(shù)組,對應一行8*16個像素點以及縱向64個像素點的數(shù)據(jù),每次在數(shù)組內(nèi)畫圖,在把數(shù)組更新進去。但是這是理論層面上的,并不知道實際如何操做,去寫這個顯示緩沖區(qū)。
關(guān)于 如何將把數(shù)據(jù)給到相應的地址然后存起來?


作者: 謝小康4    時間: 2018-12-12 09:22
https://wenku.baidu.com/view/2dbf0852a45177232f60a2ca.html分享網(wǎng)址嘍,如何畫點已解決,其實不存在的沒有這么難,主要是看自己有沒有耐性去找資料。

作者: 謝小康4    時間: 2018-12-12 09:24
void drawpoint(uchar x,uchar y)  
{
  uchar row,column,offset;
        row=x;
        column=((y-1)/8)+1;       
        if(y%8!=0)
        offset=y%8-1;
        else
        offset=7;
        table[4*(x-1)-1+column]|=0x80>>(offset);
}
至于table嘛,就是一個所謂的顯示緩沖區(qū)。
作者: wenlyben    時間: 2019-3-27 17:13
最近也在研究LCD12864,用的是ST7920驅(qū)動,串行方式。不知lz有沒有實用的資料或者例程推薦一下。目前手上只有官方的datasheet




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1