久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2191|回復: 5
打印 上一主題 下一主題
收起左側

51單片機串口驅動LCD12864反白程序調試問題

[復制鏈接]
跳轉到指定樓層
樓主
為什么我這個12864串口驅動 反白程序不對并口是可以的 顯示除了需要需要的全部反白了 求 大神解答一下
/******************************************************                        
帶中文12864 內置數字,字母,漢字反白               
y反白行 x反白列 sv你想反白多少個字符?可設置1~16字符(一個漢字等于2個字符)
fb=0反白 fb=1不反白
******************************************************/
void Lcd12864_Set(unsigned char y,unsigned char x,unsigned char sv,unsigned char fb)
{
unsigned char i,s,white_x,white_y,white_endx;
white_endx=x;
x=x/2;
switch(y)
  {
   case 1:white_y=0x80;white_x=0x80+x;break;
   case 2:white_y=0x90;white_x=0x80+x;break;
   case 3:white_y=0x80;white_x=0x88+x;break;
   case 4:white_y=0x90;white_x=0x88+x;break;
  }
        
LCD12864_COM_Write(0x36);                   //開繪圖顯示
for(i=0;i<16;i++)
  {
   LCD12864_COM_Write(white_y+i);
   LCD12864_COM_Write(white_x);
         if(fb==0)                              //fb=0反白
         {
    if(white_endx%2)LCD12864_Data_Write(0x00); //如果開始被2整除,就說明他開始是從0開始,可以寫入0xff,否則寫0x00
                for(s=0;s<sv;s++)
                 {
                  LCD12864_Data_Write(0xff);
                 }               
   }
         
  if(fb==1)                               //fb=1不反白
         {
    if(white_endx%2)LCD12864_Data_Write(0x00); //如果開始被2整除,就說明他開始是從0開始,寫入0x00
                for(s=0;s<sv;s++)
                 {
                  LCD12864_Data_Write(0x00);
                 }                 
         }               
}
LCD12864_COM_Write(0x30);                    //回到基本指令
}

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

使用道具 舉報

沙發
ID:265485 發表于 2022-7-21 16:11 | 只看該作者
求大神講解一下
回復

使用道具 舉報

板凳
ID:584814 發表于 2022-7-22 08:12 | 只看該作者
所謂反白,就是原先打點的不打點,原先不打點的打點。
回復

使用道具 舉報

地板
ID:265485 發表于 2022-7-22 09:30 | 只看該作者
man1234567 發表于 2022-7-22 08:12
所謂反白,就是原先打點的不打點,原先不打點的打點。

具體內容?
回復

使用道具 舉報

5#
ID:195496 發表于 2022-7-22 18:47 | 只看該作者
按位置,把數據取反,這個與具體的應用程序有關系
回復

使用道具 舉報

6#
ID:44037 發表于 2022-7-23 18:49 | 只看該作者

我看網上的程序是 正常程序 取值時 取反
  1. void LCD12864_Display(u8 y,u8 x,u8 px,u8 py,u8 *pp)
  2. {
  3.    u8 i,j,k;

  4.    LCD12864_Clear();         //清屏
  5.    if(y<32)                  //如果起始行在上半屏
  6.    {
  7.       k = 32-y;              //算出上半屏的行數
  8.       for(i=0;i<k;i++,y++)   //上半屏行數
  9.       {
  10.          LCD12864_WCMD(0x80|y);  //寫行地址(垂直地址)
  11.          LCD12864_WCMD(0x80|x);  //寫列地址(水平地址)
  12.          for(j=0;j<px/8;j++)
  13.             LCD12864_WDAT(pp[i*px/8+j]);  //寫圖片數據

  14.       }
  15.       y=0;                    //下半屏起始行,接上半屏繼續寫數據
  16.       for(;i<py;i++,y++)//下半屏剩下的行數
  17.       {
  18.          LCD12864_WCMD(0x80|y);//寫行地址(垂直地址)
  19.          LCD12864_WCMD(0x80|(8+x));//寫列地址(水平地址)
  20.             for(j=0;j<px/8;j++)
  21.               LCD12864_WDAT(pp[i*px/8+j]);//寫圖片數據
  22.       }
  23.    }
  24.    else //如果起始行在下半屏
  25.    {
  26.       for(i=0;i<py;i++,y++)//行數
  27.       {
  28.          LCD12864_WCMD(0x80|(y-32));//寫行地址(垂直地址)
  29.          LCD12864_WCMD(0x80|(8+x));//寫列地址(水平地址)
  30.             for(j=0;j<px/8;j++)
  31.                LCD12864_WDAT(pp[i*px/8+j]);//寫圖片數據
  32.       }  
  33.          }
  34. }   
  35. // 反白程序  同上一函數一樣 <span style="background-color: rgb(255, 255, 255);">取值時 </span><span style="background-color: rgb(255, 255, 255); color: red;">取反</span>
  36. void LCD12864_DisplayFb(u8 y,u8 x,u8 px,u8 py,u8 *pp)
  37. {
  38.    u8 i,j,k;

  39.    LCD12864_Clear();         //清屏
  40.    if(y<32)                  //如果起始行在上半屏
  41.    {
  42.       k = 32-y;              //算出上半屏的行數
  43.       for(i=0;i<k;i++,y++)   //上半屏行數
  44.       {
  45.          LCD12864_WCMD(0x80|y);  //寫行地址(垂直地址)
  46.          LCD12864_WCMD(0x80|x);  //寫列地址(水平地址)
  47.          for(j=0;j<px/8;j++)
  48.             LCD12864_WDAT(~pp[i*px/8+j]);  //寫圖片數據 取反

  49.       }
  50.       y=0;                    //下半屏起始行,接上半屏繼續寫數據
  51.       for(;i<py;i++,y++)//下半屏剩下的行數
  52.       {
  53.          LCD12864_WCMD(0x80|y);//寫行地址(垂直地址)
  54.          LCD12864_WCMD(0x80|(8+x));//寫列地址(水平地址)
  55.             for(j=0;j<px/8;j++)
  56.               LCD12864_WDAT(~pp[i*px/8+j]);//寫圖片數據 取反
  57.       }
  58.    }
  59.    else //如果起始行在下半屏
  60.    {
  61.       for(i=0;i<py;i++,y++)//行數
  62.       {
  63.          LCD12864_WCMD(0x80|(y-32));//寫行地址(垂直地址)
  64.          LCD12864_WCMD(0x80|(8+x));//寫列地址(水平地址)
  65.             for(j=0;j<px/8;j++)
  66.                LCD12864_WDAT(~pp[i*px/8+j]);//寫圖片數據 取反
  67.       }  
  68.          }
  69. }   
復制代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品久久久 | 日本黄色激情视频 | 日日射夜夜骑 | 日韩在线小视频 | 欧美中文在线 | 欧美韩一区二区三区 | 中文字幕视频在线观看 | 午夜视频一区二区 | 一区二区成人 | 久久性 | 成人羞羞国产免费视频 | a国产一区二区免费入口 | 精品国产99 | 99精品99 | 亚洲精品一区二区三区中文字幕 | 精品免费国产视频 | 人人干人人玩 | 99re热精品视频 | 99国产精品视频免费观看一公开 | 国产自产21区 | 国产2区 | 国产精品久久国产精品99 gif | 国产精品久久久久久亚洲调教 | 欧美aaa一级片| 精品成人一区 | 亚洲美女网站 | 国产网站久久 | www狠狠爱com | 精品成人在线观看 | 日韩视频三区 | 性高湖久久久久久久久 | 狠狠入ady亚洲精品经典电影 | 国产精品免费在线 | 国产精品福利一区二区三区 | 国产精品自产av一区二区三区 | 亚洲精品无 | 国产成人精品网站 | 日本一本在线 | av色噜噜| 黄网站免费观看 | 在线一区二区三区 |