亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? smg12864l_m_exsample_c51.c

?? KS0108B圖形點陣液晶顯示模塊系列
?? C
?? 第 1 頁 / 共 2 頁
字號:
//子程序名稱:unsigned char code *getenglishcodepos(unsigned char ac).
//功能:根據當前ASCII字符碼查表后計算得到當前ASCII字符碼的字庫點陣位置.
//修改日期:2009.8.18
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char code *getenglishcodepos(unsigned char ac)
{   unsigned char min,max,mid,midc;
    min=0;
    max=ENGLISHCHARNUMBER-1;
    while(1)
    {   if(max-min<2)
        {   if(EnglishCode[min]==ac)
                mid=min;
            else if(EnglishCode[max]==ac)
                mid=max;
            else
                mid=0;
            break;
        }
        mid=(max+min)/2;
        midc=EnglishCode[mid];
        if(midc==ac)
            break;
        else if(midc>ac)
            max=mid-1;
        else
            min=mid+1;
    }
    return EnglishCharDot+mid*ENGLISHCHARDOTSIZE;
}
//-------------------------------------------------------------------------------
//以下putsizeimage為圖形對象的基本子程序,putimage為圖形對象的擴充子程序
//-------------------------------------------------------------------------------
//子程序名稱:void putsizeimage(unsigned char XSIZE,unsigned YSIZE,
//                             unsigned char code *s)
//功能:在(XPOS,YPOS)位置繪制XSIZE列及YISZE行點陣的圖形*S.
//修改日期:2009.8.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void putsizeimage(unsigned char XSIZE,unsigned char YSIZE,unsigned char code *s)
{  unsigned char k,lx,ly,a1,a2,y,Lcd_Mask;
   k=YPOS&0x7;
   YSIZE+=k;
   y=YPOS;
   s--;
   for(lx=0;lx<XSIZE;lx++,XPOS++)
   {  for(YPOS=y,ly=k;ly<YSIZE;)
      {  unsigned char p;
         a1=*s;
         s++;
         a2=*s;
         if(CharImageReverse)
         {   a1=~a1;
             a2=~a2;
         }
         for(p=0;p<k;p++)
         {  a2>>=1;
            if((a1&0x1)==1)
               a2+=0x80;
            a1>>=1;
         }
         if((k==0) && (YSIZE<ly+8))
         {   lcdpos();
             ly+=8;
             YPOS+=8;
         }
         else
         {   lcdpos();
             a1=lcdrd();
             lcdpos();
             ly+=8;
             YPOS+=8;
             Lcd_Mask=0xff;
             p=YSIZE&0x7;
             while(p>0)
             {   Lcd_Mask>>=1;
                 YPOS--;
                 p--;
             }
             p=0xff;
             while(YSIZE<ly)
             {   ly--;
                 YPOS--;
                 p<<=1;
             }
             Lcd_Mask&=p;
             a2&=Lcd_Mask;
             a2|=a1&(~Lcd_Mask);
         }
         lcdwd(a2);
      }
      if((k!=0) && (YSIZE&0x7 != 0) && (k >= YSIZE&0x7)) s--;
   }
   YPOS=y;
}
//-------------------------------------------------------------------------------
//子程序名稱:void putimage(unsigned char code *s).
//功能:在(XPOS,YPOS)位置繪制XSIZE[*s]列及YISZE[*(s+1)]行點陣的圖形[*(s+2)].
//修改日期:2009.8.18
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void putimage(unsigned char code *s)    //顯示圖形子程序
{   unsigned char XSIZE,YSIZE;
    XSIZE=*s;
    s++;
    YSIZE=*s;
    s++;
    putsizeimage(XSIZE,YSIZE,s);
}
//-------------------------------------------------------------------------------
//以下point為繪圖操作的基本子程序,line,lineto,rect為繪圖操作的擴充子程序.
//-------------------------------------------------------------------------------
//子程序名稱:void point(bit b).
//功能:按b的數據在(XPOS,YPOS)位置繪制點.
//修改日期:2009.8.18
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void point(bit b)
{   unsigned char i,Lcd_Mask,j;
    Lcd_Mask=0x01;
    i=YPOS&0x7;
    while(i>0)
    {   Lcd_Mask<<=1;
        i--;
    }
    lcdpos();
    j=lcdrd();
    lcdpos();
    if(b)
        lcdwd(j|Lcd_Mask);
    else
        lcdwd(j&(~Lcd_Mask));
}
//-------------------------------------------------------------------------------
//子程序名稱:void line(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,bit b)
//功能:按b的數據繪制(x0,y0)-(x1,y1)的直線
//修改日期:2009.8.18
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void line(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,bit b)
{   unsigned char dx,dy;
    unsigned int dk;
    XPOS=x0;
    YPOS=y0;
    point(b);
    dx=(x1>=x0)?x1-x0:x0-x1;
    dy=(y1>=y0)?y1-y0:y0-y1;
    if(dx==dy)
    {   while(XPOS!=x1)
        {   if(x1>x0) XPOS++;else XPOS--;
            if(y1>y0) YPOS++;else YPOS--;
            point(b);
        }
    }
    else if (dx>dy)
    {   dk=dy;
        dy=0;
        while(XPOS!=x1)
        {   if(x1>x0) XPOS++;else XPOS--;
            dy++;
            if(y1>y0) YPOS=y0+(dk*dy+dx/2)/dx;else YPOS=y0-(dk*dy+dx/2)/dx;
            point(b);
        }
    }
    else
    {   dk=dx;
        dx=0;
        while(YPOS!=y1)
        {   if(y1>y0) YPOS++;else YPOS--;
            dx++;
            if(x1>x0) XPOS=x0+(dk*dx+dy/2)/dy;else XPOS=x0-(dk*dx+dy/2)/dy;
            point(b);
        }
    }
}
//-------------------------------------------------------------------------------
//子程序名稱:void lineto(unsigned char x1,unsigned char y1,bit b)
//功能:按b的數據繪制(XPOS,YPOS)-(x1,y1)的直線
//修改日期:2009.8.18
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lineto(unsigned char x1,unsigned char y1,bit b)//繪制(XPOS,YPOS)-(X1,Y1)的直線
{   line(XPOS,YPOS,x1,y1,b);
}
//-------------------------------------------------------------------------------
//子程序名稱:void rect(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,bit b)
//功能:按b的數據繪制(x0,y0)-(x1,y1)的矩形
//修改日期:2009.8.18
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void rect(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,bit b)
{   line(x0,y0,x1,y0,b);
    line(x1,y0,x1,y1,b);
    line(x1,y1,x0,y1,b);
    line(x0,y1,x0,y0,b);
}
//-------------------------------------------------------------------------------
//以下lcdfill,lcdpos,lcdreset,setlcdvoltage為NT7532型硬件接口的12864液晶顯示模塊
//的基本子程序
//-------------------------------------------------------------------------------
//子程序名稱:void lcdfill(unsigned char d).
//功能:整屏顯示d表示的字節數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdfill(unsigned char d)           //整屏顯示d代表的字節數據子程序
{   unsigned char j;
    XPOS=0;
    YPOS=0;
    for(YPOS=0;YPOS<64;YPOS+=8)         //8頁
    {   lcdpos();
        for(j=0;j<128;j++)              //128列
            lcdwd(d);                   //送圖形數據
    }
    YPOS=0;
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdpos(void).
//功能:設置坐標點(XPOS,YPOS)位置對應的內部RAM地址.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdpos(void)                       //設置坐標點(XPOS,YPOS)內部RAM地址的子程序
{  unsigned char Column;
   Column=XPOS+4;
   lcdwc(0xB0|((YPOS/8)&0x7));          //頁地址設置
   lcdwc(0x10|(Column>>4));             //列的高四位設置
   lcdwc(Column&0x0F);                  //列的低四位設置
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdreset(void)
//功能:液晶顯示控制器初始化
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdreset(void)                     //液晶顯示控制器初始化子程序
{   lcdwc(0xA2);                        //設置LCD bias
    lcdwc(0xA1);                        //設置ADC select
    lcdwc(0xC0);                        //設置COM反向
    lcdwc(0x2F);                        //設置電源控制模式
    lcdwc(0x40);                        //設置顯示初始行
    lcdwc(0xAF);                        //開顯示
}
//-------------------------------------------------------------------------------
//子程序名稱:void setlcdvoltage(unsigned char vol)
//功能:設置LCD電壓用來調節顯示的對比度
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void setlcdvoltage(unsigned char vol)   //LCD電壓設置
{   lcdwc(0x81);
    lcdwc(vol&0x3F);                    //范圍為0-63,上電默認值為32
}
//-------------------------------------------------------------------------------
//以下lcdwc,lcdwd,lcdrd為MCS51模擬口線接口的NT7532液晶顯示控制器的基本子程序,
//lcdwaitidle為內部子程序.
//-------------------------------------------------------------------------------
//子程序名稱:void lcdwd(unsigned char d).
//功能:向液晶顯示控制器寫圖形數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwd(unsigned char d)
{  lcdwaitidle();
   P1=d;
   A0PIN=1;
   CSPIN=0;
   WRPIN=0;
   _nop_();
   WRPIN=1;
   CSPIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:unsigned char lcdrd(void).
//功能:從液晶顯示控制器中讀圖形數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char lcdrd(void)               //讀圖形數據子程序
{   unsigned char d;
    lcdwaitidle();                      //檢測液晶顯示控制器是否空閑
    P1=0xff;
    A0PIN=1;
    CSPIN=0;
    RDPIN=0;
    _nop_();
    d=P1;
    RDPIN=1;
    CSPIN=1;

    CSPIN=1;                            //DUMMY READ
    CSPIN=0;
    RDPIN=0;
    _nop_();
    d=P1;
    RDPIN=1;
    CSPIN=1;
    return d;
}
//-------------------------------------------------------------------------------
//子程序名稱:lcdwc(unsigned char c).
//功能:向液晶顯示控制器送指令.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwc(unsigned char c)
{  lcdwaitidle();
   P1=c;
   A0PIN=0;
   CSPIN=0;
   WRPIN=0;
   _nop_();
   WRPIN=1;
   CSPIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:voidlcdwaitidle(void).
//功能:忙檢測,在對液晶顯示控制器操作的每一條指令之前,需檢測液晶顯示器是否空閑.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwaitidle(void)                  //忙檢測子程序
{   unsigned char i;
    P1=0xff;
    A0PIN=0;
    CSPIN=0;
    RDPIN=0;
    for(i=0;i<20;i++)                   //
        if( (P1&0x80) != 0x80 ) break;  //D7=0 空閑退出
    RDPIN=1;
    CSPIN=1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一二三| 成人a区在线观看| 国产精品卡一卡二卡三| 精品粉嫩超白一线天av| 欧美一级久久久久久久大片| 欧美挠脚心视频网站| 欧美丝袜丝交足nylons| 欧美视频一区在线| 欧美日韩国产综合一区二区三区| 欧美午夜精品一区| 欧美电影在哪看比较好| 91精品午夜视频| 91麻豆精品国产自产在线观看一区| 欧美伦理电影网| 欧美一区日韩一区| 日韩欧美不卡在线观看视频| 欧美成人vps| 国产色综合久久| 亚洲色图视频网站| 亚洲成人av资源| 久久99久久久欧美国产| 国产精品白丝jk白祙喷水网站| jiyouzz国产精品久久| 色婷婷久久综合| 欧美一区二区三区在线观看视频| 精品国产一二三| 国产精品电影一区二区| 一区二区三区成人| 精品亚洲免费视频| 9i在线看片成人免费| 欧美日韩一本到| 久久精品一区二区| 又紧又大又爽精品一区二区| 日本最新不卡在线| 成人av动漫网站| 欧美久久高跟鞋激| 欧美激情中文字幕| 午夜激情一区二区| 成人午夜免费电影| 欧美三级日韩三级| 国产精品网站在线播放| 亚洲国产乱码最新视频| 国产一区中文字幕| 欧美精品在线一区二区三区| 久久精品人人爽人人爽| 午夜av一区二区| 成人免费视频caoporn| 欧美剧在线免费观看网站| 91精品国产91久久久久久一区二区| 欧美三级三级三级| 色视频成人在线观看免| 久久久久久久久久看片| 亚洲丶国产丶欧美一区二区三区| 国产激情精品久久久第一区二区| 91黄色免费网站| 国产精品久久久久久久久快鸭 | 精品免费国产二区三区| 亚洲图片另类小说| 福利一区二区在线| 日韩精品中午字幕| 亚洲成人午夜影院| 在线观看日韩高清av| 国产精品免费视频观看| 国产福利一区二区| 欧美电影免费观看高清完整版在| 亚洲成人精品在线观看| 色先锋aa成人| 亚洲欧美日韩久久| 91在线视频在线| 国产精品久久久久久久久快鸭| 国产一区二三区好的| 欧美一级黄色片| 久久精品国产亚洲高清剧情介绍| 欧美性受xxxx| 亚洲一区在线观看视频| 99久久精品一区| 国产精品日日摸夜夜摸av| 国产高清无密码一区二区三区| 日韩欧美中文字幕公布| 免费视频最近日韩| 欧美一级艳片视频免费观看| 日韩国产在线观看一区| 91麻豆精品国产91久久久使用方法 | 日本乱人伦aⅴ精品| 亚洲欧美日韩系列| 在线观看一区二区视频| 日韩精品五月天| 欧美大片顶级少妇| 粉嫩13p一区二区三区| 欧美国产禁国产网站cc| 91免费小视频| 一区二区高清视频在线观看| 欧美少妇性性性| 麻豆精品视频在线观看| 久久中文字幕电影| av亚洲精华国产精华| 亚洲五码中文字幕| 日韩一二三四区| 国产精品1区二区.| 成人欧美一区二区三区白人| 91片在线免费观看| 日韩成人精品在线观看| 2020日本不卡一区二区视频| 成人国产亚洲欧美成人综合网| 亚洲欧美日韩久久| 日韩欧美中文字幕制服| av在线这里只有精品| 亚洲成av人片在线| 久久久久久免费网| 在线观看免费成人| 极品美女销魂一区二区三区免费 | 91免费在线看| 久久精品999| 亚洲色图欧美偷拍| 日韩欧美国产电影| 色偷偷久久一区二区三区| 激情欧美一区二区| 亚洲欧美激情在线| 精品国产乱子伦一区| 欧美中文字幕久久| 国产成人免费av在线| 亚洲不卡av一区二区三区| 国产清纯白嫩初高生在线观看91| 欧美羞羞免费网站| av电影一区二区| 久久国产精品一区二区| 亚洲精品国产第一综合99久久| 亚洲精品在线三区| 欧美日韩在线一区二区| 北条麻妃国产九九精品视频| 捆绑调教一区二区三区| 亚洲摸摸操操av| 欧美—级在线免费片| 精品少妇一区二区三区| 欧美日韩欧美一区二区| 色综合久久综合| 国产成人午夜电影网| 美女视频黄 久久| 午夜精品福利在线| 亚洲午夜在线视频| 亚洲欧美日韩综合aⅴ视频| 久久精品亚洲乱码伦伦中文| 欧美高清性hdvideosex| 在线日韩av片| 色婷婷综合久色| 成人激情免费视频| 国产盗摄一区二区三区| 久久国产精品色| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲成av人片在线观看| 亚洲一区在线观看免费| 亚洲一区二区欧美日韩 | 欧美亚洲动漫精品| 在线观看日产精品| 欧美三级午夜理伦三级中视频| 色88888久久久久久影院野外 | 亚洲一二三级电影| 亚洲麻豆国产自偷在线| 亚洲色图制服丝袜| 亚洲一区在线看| 天天色天天操综合| 久久国产综合精品| 国产美女在线观看一区| 国产丶欧美丶日本不卡视频| 成人在线综合网站| av一二三不卡影片| 欧洲国产伦久久久久久久| 欧洲亚洲精品在线| 欧美一区二区三区思思人| 91精品国产91久久综合桃花| 日韩欧美国产不卡| 国产午夜亚洲精品午夜鲁丝片| 国产欧美一区二区精品忘忧草 | 欧美色综合网站| 欧美精品丝袜中出| 精品国产一区二区三区忘忧草| 国产亚洲精久久久久久| 综合精品久久久| 日韩国产在线观看一区| 国产麻豆一精品一av一免费| 成人天堂资源www在线| 色菇凉天天综合网| 91精品国产综合久久久久久 | 播五月开心婷婷综合| 日本高清免费不卡视频| 日韩精品一区二区在线观看| 久久综合中文字幕| 亚洲精品日韩专区silk| 看片的网站亚洲| 东方aⅴ免费观看久久av| 欧美影视一区二区三区| 久久亚洲综合av| 一区二区三区成人| 国产久卡久卡久卡久卡视频精品| 97久久超碰国产精品| 91精品国产综合久久福利| 国产精品盗摄一区二区三区| 日本欧美肥老太交大片| 93久久精品日日躁夜夜躁欧美| 91精品国产91久久久久久一区二区 |