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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2299|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機(jī)+LCD12864屏打點(diǎn)程序疑問

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:825883 發(fā)表于 2021-7-6 06:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
打點(diǎn)子程序如下,其它程序未列出,主程序調(diào)用打點(diǎn)子程序,1應(yīng)該顯示一個點(diǎn)才對,請問為何顯示一條16個點(diǎn)的橫線?
2芯片是STC89C52,燒錄軟件為STC-ISP V6.88,打開燒錄軟件,選擇好程序文件寫入,此時一切正常。
如修改了程序文件,必須再次點(diǎn)擊“選擇程序文件”后確認(rèn)一下,才能把修改后的程序文件寫入單片機(jī),否則寫入的是未修改的程序文件。什么原因?
好像程序小的話就沒問題。
void Draw_dots(uchar x,uchar y,uchar color)//********************************打點(diǎn)子程序
{
uchar ROW,xlabel1,xlabel_bit;
uchar Read_H, Read_L;
write_LCD_command(0x34);//
write_LCD_command(0x36);//繪圖開
xlabel1=x>>4;//頁地址
xlabel_bit=x&0x0f;//頁內(nèi)地址
        if(y<32)//
                ROW=y;
        else
        {ROW=y-32;xlabel1+=8;}
write_LCD_command(ROW+0X80);//
write_LCD_command(xlabel1+0X80);//
ReadByte();//空讀
Read_H=ReadByte();
Read_L=ReadByte();
write_LCD_command(ROW+0X80);//垂直地址
write_LCD_command(xlabel1+0X80);//水平地址
  if(xlabel_bit<8)
        {
        switch(color)//顏色設(shè)置
        {
                case 0:Read_H&=(~(0x01<<(7-xlabel_bit)));break;//變白
                case 1:Read_H|=(0x01<<(7-xlabel_bit));break;//涂黑
                case 2:Read_H^=(0x01<<(7-xlabel_bit));break;//反轉(zhuǎn)
          default:break;        
        }
        write_LCD_data(Read_H);//寫入高、低字節(jié)
        write_LCD_data(Read_L);
        }
        else
        {switch(color)//
  {
                case 0:Read_L&=(~(0x01<<(15-xlabel_bit)));break;//
                case 1:Read_L|=(0x01<<(15-xlabel_bit));break;//
                case 2:Read_L^=(0x01<<(15-xlabel_bit));break;//
          default:break;        
        }
        write_LCD_data(Read_H);//
        write_LCD_data(Read_L);
        }        
write_LCD_command(0x30);//回到基本模式
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2021-7-6 08:27 | 只看該作者
本帖最后由 yzwzfyz 于 2021-7-6 10:14 編輯

12864的顯示數(shù)據(jù)是按字節(jié)送往屏幕的,即一次至少修改8個顯示點(diǎn),這是最小單位。
你要顯示一個點(diǎn)參考方案是:
1、讀取與此點(diǎn)相關(guān)聯(lián)的8個點(diǎn)(一個字節(jié))。
2、修改其中你要顯示的點(diǎn)的值(0/1)。
3、回送這個改過1位的字節(jié)。
達(dá)成1、2、3、的方法有多種,這里有許多技巧,不在此啰嗦了。
明白這個道理即可,剩下的自由發(fā)揮吧。
回復(fù)

使用道具 舉報

板凳
ID:825883 發(fā)表于 2021-7-6 19:46 | 只看該作者
謝謝,我再研究下。。。。
回復(fù)

使用道具 舉報

地板
ID:390416 發(fā)表于 2021-7-6 20:38 | 只看該作者
OLED12864源代碼分享 IIC協(xié)議http://m.raoushi.com/bbs/dpj-204281-1.html

LCD12864中文資料包 容易看明白 http://m.raoushi.com/bbs/dpj-200462-1.html
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表