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

標題: 請問12864網上看的畫點代碼有問題,高八位寫啥,低八位也就寫啥。是不是型號問題 [打印本頁]

作者: 實習生呢    時間: 2017-7-17 19:48
標題: 請問12864網上看的畫點代碼有問題,高八位寫啥,低八位也就寫啥。是不是型號問題
請問12864網上看的畫點代碼有問題,高八位寫啥,低八位也就寫啥。是不是型號問題

作者: feng_2    時間: 2017-7-18 00:11
這個程序也是借用人家的,已經運行過了

//************************打點函數參數:color=1:該點填充1,顯示;color=0:該點填充0,不顯示************************//

void Fill_Point(uchar x,uchar y, uchar color)
{
        uchar x_Dyte,x_byte;                                //定義列地址的字節位及在字節中的哪一位
        uchar        y_Dyte,y_byte;                                //上下兩個屏(0,1),行地址(0~31)
        uchar        GDRAM_hbit,GDRAM_lbit;

        write_cmd(0x36);                                        //擴展指令集
                                                                                //---XY坐標互換,即普通的X,Y坐標---
        x_Dyte=x/16;                                                //計算在16個字節中的哪一個
        x_byte=x&0x0f;                                                //計算在該字節中的哪一位
        y_Dyte=y/32;                                                //0為上半屏,1為下半屏
        y_byte=y&0x1f;                                                //計算在0~31中的哪一行

        write_cmd(0x80+y_byte);                                //設定行地址(y坐標),即垂直坐標
        write_cmd(0x80+x_Dyte+8*y_Dyte);        //設定列地址(x坐標),并通過8*y_Dyte選定上下,水平地址
       
        ReadData();                                                        //預讀取數據
        GDRAM_hbit=ReadData();                                //讀取當前顯示高八位數據
        GDRAM_lbit=ReadData();                                //讀取當前顯示第八位數據
        delay_1ms(1);

        write_cmd(0x80+y_byte);                                //設定行地址(y坐標)
        write_cmd(0x80+x_Dyte+8*y_Dyte);        //設定列地址(x坐標),并通過8*y_Dyte選定上下,即水平地址

        delay_1ms(1);
        if(x_byte<8)                                                //判斷其在高八位還是低八位
        {
                if(color==1)
                {
                        write_dat(GDRAM_hbit|(0x01<<(7-x_byte)));//置位GDRAM高八位數據中相應的
                }
                else
                        write_dat(GDRAM_hbit&(~(0x01<<(7-x_byte))));//清除GDRAM區高八位數據中相應的點
                write_dat(GDRAM_lbit);//顯示GDRAM區低八位數據
        }
        else
        {
                write_dat(GDRAM_hbit);
                if(color==1)
                write_dat(GDRAM_lbit|(0x01<<(15-x_byte)));//置位GDRAM區高八位數據中相應的點
                else
                write_dat(GDRAM_lbit&(~(0x01<<(15-x_byte))));//清除GDRAM區高八位數據中相應的點
        }
        write_cmd(0x30);//恢復到基本指令集
}





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