欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請別嫌我煩。繼續請教12864地址設置問題 [打印本頁]

作者: kissme    時間: 2019-1-16 17:07
標題: 請別嫌我煩。繼續請教12864地址設置問題
四大行。第一行為0x80..0從第一行0處開始。那么請問有程序里面的x和y又和行啥關系呢。。r如果我從第一行空八位再輸出字符。是不是就是0x81.0呢。。數據手冊我實在看著頭暈。。。不光有x.y還有z.地址。。沒明白。。。請教大神。。謝謝
作者: 周超然    時間: 2019-1-16 17:25
你先讓這個屏幕顯示起來,網上驅動很多啊
https://wenku.baidu.com/view/0979b11cfc4ffe473368ab10.html
作者: f556    時間: 2019-1-16 21:18
/* program for JLX12864G-109 189,并行接口
//   驅動 IC 是:ST7565R(or competible)
  馮編寫,20140517    */


// 設定圖形row,col值
//        row,col(Dec,十進制)
//        page:0~7,頁,+1則縱下走8點,ST7565
//        col:0~127~132        列,+1則橫右+1點
//              col: 0  1  2  3  4  ... 127 ...  132                                                                                                               
//-------------========================================
//page0 行   0  D0
//           1  D1
//           2  D2
//           3  D3
//           4  D4
//           5  D5
//           6  D6
//           7  D7
//
//page1 行   8  D0
//           9  D1


//                 
//page7 行   56 D0                

//           63 D7
//-------------========================================
void SetAddr(unsigned char row,unsigned char col)         //地址指針設置
{
//        unsigned char Addr;
        unsigned char D1,D2; //雙參數  (低8,高8)
//        ff        上:16表示第行y有16個列x。
//        Addr=((unsigned int)(y)*16)+x+256; //Y16表示是16行,Y256表示是一個字節 ?
        Lcd_CMD(0xb0+row);   //set page address,
        D2 = col>>4;           //取高4位
        D1 = col & 0x0f;                //取低4位
        Lcd_CMD(0x10+D2);         //set column add High 4bit (0x1_0 ~ 1_F,Max is 0x18,b1000 0100=132)
        Lcd_CMD(0x00+D1);         //set column add Low 4bit  (0x0_0 ~ 0x0_F)
}

主要看前邊的說明、注解,那才是關鍵,應該能看懂,程序相信你有一大堆,無用的代碼就不上來影響分析了。
作者: kissme    時間: 2019-1-16 22:09
周超然 發表于 2019-1-16 17:25
你先讓這個屏幕顯示起來,網上驅動很多啊
https://wenku.baidu.com/view/0979b11cfc4ffe473368ab10.html

謝謝。。。屏幕可以顯示........做了個時鐘程序。。。不顯示。。。亂跳亂碼
作者: kissme    時間: 2019-1-17 11:01
f556 發表于 2019-1-16 21:18
/* program for JLX12864G-109 189,并行接口
//   驅動 IC 是:ST7565R(or competible)
  馮編寫,20140 ...

詳細。。。謝謝你了
作者: f556    時間: 2019-1-17 17:26
老大不給加分?我認為我提供的內容才是重要的!
想法及感受如下:
1、邏輯、設計思路、原理比程序更重要,我個人比較討厭程序本身,特別是有人上傳一個hex、bin編譯文件,純是垃圾。沒有好的注解的原程序都沒有價值。
2、12864液晶首先要看一下驅動芯片,它的地址及RAM影射,如果用別人的原程序也要找相兼容芯片的。
3、關鍵概念page(頁),0~64行是分成8個頁的,8頁X8點=64個row,一個頁對應一個8位(1字節),另外就是列了0~127,有些芯片是132列,多余列的不會顯示在液晶上。

作者: kissme    時間: 2019-1-18 17:16
f556 發表于 2019-1-17 17:26
老大不給加分?我認為我提供的內容才是重要的!
想法及感受如下:
1、邏輯、設計思路、原理 ...

謝謝,,.
作者: kissme    時間: 2019-2-24 19:46
現在漢字可以任一點顯示了。。圖形顯示還是不懂這地址咋設置的。比如下面畫圖函數:
void huatu(unsigned char x,unsigned char code *img)
{
        unsigned char i,j;
        SetGraphicMode();
        for(i=0;i<32;i++)  此處32不明白。如果是一行。應該是水平位置有128點吧?
        {
                if(i<16)  這里的16又是干啥呢?
                {
                        Write_Cmd(0x80+16+i);      //將D15 ——D8寫入到RAM中
                        Write_Cmd(0x80+x);
                }
                if(i>=16)
                {
                        Write_Cmd(0x80+i-16);      //將D7——D0寫入到RAM中;???更懵逼這里
                        Write_Cmd(0x88+x);        
                }
                for(j=0;j<2;j++)   又來個2??
                {
                        Write_Data(*img);
                img++;        
                }        
        }
        SetNormalMode();        
}
繼續請教大神





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