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

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

?? smg12864d3_m_exsample_c51.c

?? KS0108B圖形點陣液晶顯示模塊系列
?? C
?? 第 1 頁 / 共 2 頁
字號:
         {   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為KS0108B型硬件接口的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;
    for(YPOS=0;YPOS<64;YPOS+=8)         //8頁
    {   XPOS=0;
        lcdpos();
        for(j=0;j<64;j++)              //64列
            lcdwd1(d);                 //送圖形數據
        XPOS=64;
        lcdpos();
        for(j=0;j<64;j++)              //64列
            lcdwd2(d);                 //送圖形數據
    }
    XPOS=0;
    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;
   if(XPOS<64)
   {   lcdwc1(0xB8|((YPOS/8)&0x7));     //頁地址設置
       lcdwc1(0x40|XPOS);               //列地址設置
   }
   else
   {   lcdwc2(0xB8|((YPOS/8)&0x7));     //頁地址設置
       lcdwc2(0x40|(XPOS&0x3F));        //列地址設置
   }
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdreset(void)
//功能:液晶顯示控制器初始化
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdreset(void)                     //液晶顯示控制器初始化子程序
{
    lcdwc1(0xC0);                       //設置顯示初始行
    lcdwc2(0xC0);                       //設置顯示初始行
    lcdwc1(0x3F);                       //開顯示
    lcdwc2(0x3F);                       //開顯示
}
//-------------------------------------------------------------------------------
//以下lcdwc1,lcdwc2,lcdwd,lcdrd為MCS51模擬口線接口的KS0108B液晶顯示控制器的基本
//子程序,lcdwd1,lcdwd2,lcdrd1,lcdrd2,lcdwaitidle1,lcdwaitidle2為內部子程序.
//-------------------------------------------------------------------------------
//子程序名稱:unsigned char lcdrd(void).
//功能:從液晶顯示控制器中讀圖形數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char lcdrd(void)
{unsigned char d;
    if(XPOS<64)
    {    d=lcdrd1();
         d=lcdrd1();
    }
    else
    {    d=lcdrd2();
         d=lcdrd2();
    }
    return d;
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdwd(unsigned char d).
//功能:向液晶顯示控制器寫圖形數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwd(unsigned char d)
{   if(XPOS<64)
        lcdwd1(d);
    else
        lcdwd2(d);
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdwd1(unsigned char d).
//功能:向液晶顯示控制器1寫圖形數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwd1(unsigned char d)
{   lcdwaitidle1();
    P1=d;
    RSPIN=1;
    RWPIN=0;
    CS1PIN=1;
    CS2PIN=0;
    EPIN=1;
    _nop_();
    EPIN=0;
    CS1PIN=0;
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdwd2(unsigned char d).
//功能:向液晶顯示控制器2寫圖形數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwd2(unsigned char d)
{   lcdwaitidle2();
    P1=d;
    RSPIN=1;
    RWPIN=0;
    CS1PIN=0;
    CS2PIN=1;
    EPIN=1;
    _nop_();
    EPIN=0;
    CS2PIN=0;
}
//-------------------------------------------------------------------------------
//子程序名稱:unsigned char lcdrd1(void).
//功能:從液晶顯示控制器1中讀圖形數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char lcdrd1(void)              //讀圖形數據子程序
{   unsigned char d;
    lcdwaitidle1();                     //檢測液晶顯示控制器是否空閑
    P1=0xff;
    RSPIN=1;
    RWPIN=1;
    CS1PIN=1;
    CS2PIN=0;
    EPIN=1;
    _nop_();
    d=P1;
    EPIN=0;
    CS1PIN=0;
    return d;
}
//-------------------------------------------------------------------------------
//子程序名稱:unsigned char lcdrd2(void).
//功能:從液晶顯示控制器2中讀圖形數據.
//修改日期:2009.08.31
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char lcdrd2(void)              //讀圖形數據子程序
{   unsigned char d;
    lcdwaitidle2();                     //檢測液晶顯示控制器是否空閑
    P1=0xff;
    RSPIN=1;                            //DUMMY READ
    RWPIN=1;
    CS1PIN=0;
    CS2PIN=1;
    EPIN=1;
    _nop_();
    d=P1;
    EPIN=0;
    CS2PIN=0;
    return d;
}
//-------------------------------------------------------------------------------
//子程序名稱:lcdwc1(unsigned char c).
//功能:向液晶顯示控制器1送指令.
//修改日期:2009.10.30
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwc1(unsigned char c)            //向液晶顯示控制器1送指令
{   lcdwaitidle1();
    P1=c;
    RSPIN=0;
    RWPIN=0;
    CS1PIN=1;
    CS2PIN=0;
    EPIN=1;
    _nop_();
    EPIN=0;
    CS1PIN=0;
}
//-------------------------------------------------------------------------------
//子程序名稱:lcdwc2(unsigned char c).
//功能:向液晶顯示控制器2送指令.
//修改日期:2009.10.30
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwc2(unsigned char c)            //向液晶顯示控制器2送指令
{   lcdwaitidle2();
    P1=c;
    RSPIN=0;
    RWPIN=0;
    CS1PIN=0;
    CS2PIN=1;
    EPIN=1;
    _nop_();
    EPIN=0;
    CS2PIN=0;
}
//-------------------------------------------------------------------------------
//子程序名稱:voidlcdwaitidle1(void).
//功能:忙檢測,在對液晶顯示控制器操作的每一條指令之前,需檢測液晶顯示器是否空閑.
//修改日期:2009.10.30
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwaitidle1(void)                 //控制器1忙檢測子程序
{   unsigned char i;
    P1=0xff;
    RSPIN=0;
    RWPIN=1;
    CS1PIN=1;
    CS2PIN=0;
    EPIN=1;
    for(i=0;i<20;i++)                   //
        if( (P1&0x80) != 0x80 ) break;  //D7=0 空閑退出
    EPIN=0;
    CS1PIN=0;
}
//-------------------------------------------------------------------------------
//子程序名稱:voidlcdwaitidle2(void).
//功能:忙檢測,在對液晶顯示控制器操作的每一條指令之前,需檢測液晶顯示器是否空閑.
//修改日期:2009.10.30
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwaitidle2(void)                 //控制器2忙檢測子程序
{   unsigned char i;
    P1=0xff;
    RSPIN=0;
    RWPIN=1;
    CS1PIN=0;
    CS2PIN=1;
    EPIN=1;
    for(i=0;i<20;i++)                   //
        if( (P1&0x80) != 0x80 ) break;  //D7=0 空閑退出
    EPIN=0;
    CS2PIN=0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合网色—综合色88| 日韩综合小视频| 日韩av不卡在线观看| 国产成人在线网站| 欧美久久一二区| 国产精品国产a级| 激情五月播播久久久精品| 在线观看国产91| 中文字幕av一区二区三区| 久久精品99国产精品日本| 欧美天堂一区二区三区| 国产精品国产三级国产专播品爱网| 三级不卡在线观看| 欧美性猛交xxxxxx富婆| 国产精品美女一区二区在线观看| 美女一区二区三区| 欧美三级电影精品| 亚洲美女屁股眼交| av福利精品导航| 国产精品久久久久桃色tv| 国产精品一级黄| 2019国产精品| 国产在线播放一区三区四| 日韩一区二区三区高清免费看看| 亚洲另类色综合网站| 99久久综合精品| 国产精品嫩草99a| 成人免费毛片嘿嘿连载视频| 国产午夜精品福利| 国产一区二区三区| 国产午夜精品在线观看| 国产精品夜夜嗨| 中文一区二区在线观看| 粉嫩欧美一区二区三区高清影视| 久久久久国产精品麻豆ai换脸| 激情欧美日韩一区二区| www久久精品| 国产成人欧美日韩在线电影| 国产欧美一区视频| 成人自拍视频在线观看| 国产欧美日韩亚州综合| 国产传媒久久文化传媒| 国产精品理伦片| 一本久久a久久免费精品不卡| 亚洲精品国产一区二区精华液| 在线视频中文字幕一区二区| 香蕉成人啪国产精品视频综合网 | 欧美午夜视频网站| 亚洲国产视频网站| 制服丝袜激情欧洲亚洲| 久久国产精品99久久人人澡| 久久久久久久久久久久电影| 成人高清伦理免费影院在线观看| 亚洲欧美福利一区二区| 欧美区在线观看| 国内外成人在线| 中文字幕av一区二区三区| 91久久免费观看| 日本视频免费一区| 国产欧美一区二区三区鸳鸯浴| jvid福利写真一区二区三区| 一区二区三区中文免费| 91 com成人网| 高清成人免费视频| 亚洲第一综合色| 久久精品亚洲精品国产欧美kt∨| 一本一道综合狠狠老| 蜜臀精品久久久久久蜜臀| 国产欧美日韩在线观看| 欧美日韩国产高清一区二区三区 | 日韩精品一区二区三区视频| 懂色av噜噜一区二区三区av| 舔着乳尖日韩一区| 欧美韩国日本不卡| 欧美一区二区三区在线观看视频| 国产成人亚洲综合色影视| 亚洲一区二区三区免费视频| 久久久噜噜噜久久人人看 | 亚洲一区在线视频| 精品剧情在线观看| 日本高清视频一区二区| 久久精品99国产精品日本| 一区二区三区在线观看视频| 国产网站一区二区三区| 5566中文字幕一区二区电影| av成人动漫在线观看| 久久精品国产色蜜蜜麻豆| 亚洲成人三级小说| 国产精品久久久久婷婷| 久久―日本道色综合久久| 8v天堂国产在线一区二区| 色屁屁一区二区| 成人99免费视频| 国产成人亚洲综合a∨婷婷图片| 亚欧色一区w666天堂| 一区二区三区免费在线观看| 国产精品视频免费看| 久久网这里都是精品| 日韩美女视频在线| 欧美人体做爰大胆视频| 欧洲精品一区二区三区在线观看| 波多野结衣亚洲| 国产成a人亚洲精| 国产福利精品一区二区| 精品一区免费av| 九九久久精品视频| 精品一区二区三区久久| 久久99精品国产麻豆婷婷洗澡| 婷婷久久综合九色综合伊人色| 亚洲国产精品自拍| 一区二区三区不卡视频在线观看| 国产精品国产成人国产三级| 国产精品福利影院| 亚洲欧美日韩在线| 中文字幕中文字幕一区| 国产精品久久久久9999吃药| 中文字幕一区av| 亚洲欧美日韩国产另类专区| 亚洲精品视频在线| 一区二区三区国产精华| 亚洲aⅴ怡春院| 五月天亚洲婷婷| 麻豆成人在线观看| 国产一区二区三区在线观看免费视频 | 99久久伊人久久99| 91美女福利视频| 欧美中文字幕一区二区三区亚洲| 欧美亚洲综合在线| 欧美一区二区播放| 久久美女艺术照精彩视频福利播放| 久久久久久免费网| 亚洲色图色小说| 亚洲成人一区在线| 另类综合日韩欧美亚洲| 国产精品影视在线| 9色porny自拍视频一区二区| 91激情在线视频| 日韩午夜激情电影| 国产日韩欧美精品一区| 亚洲激情图片qvod| 蜜桃精品视频在线观看| 国产精品一区二区在线观看网站| 波多野结衣亚洲| 91.麻豆视频| 国产精品麻豆99久久久久久| 一区二区三区在线免费观看| 免费成人在线影院| jizzjizzjizz欧美| 91精品国产一区二区三区香蕉| 久久久亚洲精品一区二区三区| 亚洲乱码中文字幕| 激情小说亚洲一区| 欧美专区亚洲专区| 国产三级精品三级| 亚洲国产精品天堂| 国v精品久久久网| 欧美精选午夜久久久乱码6080| 欧美激情在线看| 秋霞电影一区二区| 色国产综合视频| 久久九九影视网| 日韩高清中文字幕一区| 97精品久久久午夜一区二区三区| 日韩一区二区免费视频| 18欧美亚洲精品| 国产一区二区三区av电影| 在线观看成人免费视频| 亚洲国产精品传媒在线观看| 日本成人超碰在线观看| 91福利视频久久久久| 国产亚洲精品资源在线26u| 天天色天天操综合| 日本精品一区二区三区高清 | 亚洲精品成人在线| 懂色av一区二区三区免费观看 | 91行情网站电视在线观看高清版| 久久影院午夜论| 免费看欧美女人艹b| 欧美自拍丝袜亚洲| 国产精品福利av | 麻豆免费看一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃 | 国产精品一区二区久激情瑜伽 | 欧美亚洲综合网| 亚洲少妇30p| 不卡的av中国片| 国产亚洲污的网站| 韩国午夜理伦三级不卡影院| 日韩一区和二区| 午夜亚洲福利老司机| 欧美午夜精品免费| 亚洲一区二区三区中文字幕在线 | 国产精品自拍在线| 精品999在线播放| 精品亚洲国产成人av制服丝袜| 欧美顶级少妇做爰| 视频一区二区三区中文字幕| 欧美性xxxxx极品少妇| 亚洲一区二区三区三| 欧美日韩综合在线免费观看|