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

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

?? sed1335_portone.c

?? 周立功GUI在avr單片機上的移植 開發環境為IAR
?? C
字號:
/****************************************************************************
* 文件名:SED1335.C
*   功能:SED1335圖形液晶模塊驅動程序。
          用于ZLG/GUI用戶圖形界面。
*   作者:錢巍
*   日期:2006/5/20
****************************************************************************/
#include "all.h"
#ifdef SED1335

#define SED1335_C


/* 定義顯示緩沖區 */
//TCOLOR  gui_disp_buf[GUI_LCM_YMAX][GUI_LCM_XMAX/8];

void W_comm(uint8 COMMAND)
{
    RD_H;
    //DATAOUT=COMMAND;
    if((COMMAND&0x01)==0) D0_L;
    else D0_H;
    if((COMMAND&0x02)==0) D1_L;
    else D1_H;
    if((COMMAND&0x04)==0) D2_L;
    else D2_H;
    if((COMMAND&0x08)==0) D3_L;
    else D3_H;
    if((COMMAND&0x10)==0) D4_L;
    else D4_H;
    if((COMMAND&0x20)==0) D5_L;
    else D5_H;
    if((COMMAND&0x40)==0) D6_L;
    else D6_H;
    if((COMMAND&0x80)==0) D7_L;
    else D7_H;
    A0_H;
    CS_L;
    WD_L;
    NOP();
    NOP();
    NOP();
    CS_H;
    WD_H;
    A0_L;
}

void W_code(uint8 code)
{
    //DATAOUT=code;
    if((code&0x01)==0) D0_L;
    else D0_H;
    if((code&0x02)==0) D1_L;
    else D1_H;
    if((code&0x04)==0) D2_L;
    else D2_H;
    if((code&0x08)==0) D3_L;
    else D3_H;
    if((code&0x10)==0) D4_L;
    else D4_H;
    if((code&0x20)==0) D5_L;
    else D5_H;
    if((code&0x40)==0) D6_L;
    else D6_H;
    if((code&0x80)==0) D7_L;
    else D7_H;
    A0_L;
    RD_H;
    CS_L;
    WD_L;
    for(int i=0;i<10;i++)
        NOP();
    CS_H;
    WD_H;
}
void W_data(uint8 z)
{
    W_comm(0X42);
    W_code(z);
}

uint8 r_data(void)
{
    uint8 a,b[8];
    W_comm(0X43);
    //DATABUS=0x00;
    D0_D_I;
    D1_D_I;
    D2_D_I;
    D3_D_I;
    D4_D_I;
    D5_D_I;
    D6_D_I;
    D7_D_I;
    A0_H;
    //DATAOUT=0xff;
    D0_H;
    D1_H;
    D2_H;
    D3_H;
    D4_H;
    D5_H;
    D6_H;
    D7_H;
    WD_H;
    CS_L;
    //DATAOUT=0xff;
    D0_H;
    D1_H;
    D2_H;
    D3_H;
    D4_H;
    D5_H;
    D6_H;
    D7_H;
    RD_L;
    for(int i=0;i<10;i++)
        NOP();
    //a=DATAIN;
    b[0]=D0_I;
    b[1]=D1_I;
    b[2]=D2_I;
    b[3]=D3_I;
    b[4]=D4_I;
    b[5]=D5_I;
    b[6]=D6_I;
    b[7]=D7_I;
    
    CS_H;
    RD_H;
    //DATAOUT=0x00;
    D0_L;
    D1_L;
    D2_L;
    D3_L;
    D4_L;
    D5_L;
    D6_L;
    D7_L;
    //DATABUS=0xff;
    D0_D_O;
    D1_D_O;
    D2_D_O;
    D3_D_O;
    D4_D_O;
    D5_D_O;
    D6_D_O;
    D7_D_O;
    
    b[0]=(b[0]>>D0);
    b[1]=(b[1]>>D1)<<1;
    b[2]=(b[2]>>D2)<<2;
    b[3]=(b[3]>>D3)<<3;
    b[4]=(b[4]>>D4)<<4;
    b[5]=(b[5]>>D5)<<5;
    b[6]=(b[6]>>D6)<<6;
    b[7]=(b[7]>>D7)<<7;    
    a=b[0]|b[1]|b[2]|b[3]|b[4]|b[5]|b[6]|b[7];
    return(a);
}

void set_pos(uint8 pos_x,uint8 pos_y)
{
    uint16 addr;
    if (pos_x>=40)
    {
        pos_x=0;        
    }
    if(pos_y>=240)
    {
        pos_y=0;
    }
    addr=pos_x+pos_y*40;
    W_comm(0x4c);
    W_comm(0x46);
    W_code(LOBYTE(addr));
    W_code(HIBYTE(addr));
}

/****************************************************************************
* 名稱:GUI_FillSCR()
* 功能:全屏填充。直接使用數據填充顯示緩沖區。
* 入口參數:dat		填充的數據
* 出口參數:無
* 說明:用戶根據LCM的實際情況編寫此函數。
****************************************************************************/
void  GUI_FillSCR(TCOLOR dat)
{ 
    uint16 k;
    //uint32 i,j;
    //填充緩沖區
    /*
    for(i=0;i<(GUI_LCM_YMAX/8);i++)
    {
        for(j=0;j<GUI_LCM_XMAX;j++)
        {
            //gui_disp_buf[i][j]=dat;
        }
    }*/
    //填充LCM 
    
    k=0x2580;
    W_comm(0x4c);
    W_comm(0x46);
    W_code(0x00);
    W_code(0x00);
    W_comm(0x42);
    do
    {
        W_code(dat);
        k--;
    }
    while(k>0);
}


/****************************************************************************
* 名稱:GUI_ClearSCR()
* 功能:清屏。
* 入口參數:無
* 出口參數:無
* 說明:用戶根據LCM的實際情況編寫此函數。
****************************************************************************/
void  GUI_ClearSCR(void)
{
    unsigned int i;
    i=0x7080;
    W_comm(0x4c);
    W_comm(0x46);
    W_code(0x00);
    W_code(0x00);
    W_comm(0x42);
    do{
        W_code(0x00);
        i--;
    }
    while(i>0);
}

/****************************************************************************
* 名稱:GUI_Initialize()
* 功能:初始化GUI,包括初始化顯示緩沖區,初始化LCM并清屏。
* 入口參數:無
* 出口參數:無
* 說明:用戶根據LCM的實際情況編寫此函數。
****************************************************************************/
void  GUI_Initialize(void)
{
    //初始化IO
    CTLINIT;
    RES_L;
    DATAINIT;
    for(int i=0;i<10;i++)
        NOP();
    RES_H;//復位控制 
    CS_L;
    
    W_comm(0x40);//SYSTEM SET
    W_code(0x30);//P1
    W_code(0x87);//P2
    W_code(0x07);//P3
    W_code(0x27);//p4
    W_code(0x42);//p5
    W_code(0xf0);//P6
    W_code(0x28);//p7
    W_code(0x00);//p8
    
    W_comm(0x44);//SCROLL
    W_code(0x00);//P1
    W_code(0x00);//P2
    W_code(0xf0);//P3
    W_code(0x00);//P4
    W_code(0x40);//P5
    W_code(0xf0);//P6
    W_code(0x00);//P7
    W_code(0x80);//P8
    W_code(0x00);//P9
    W_code(0x00);//P10
    
    W_comm(0x5d);//CSR FORM
    W_code(0x07);
    W_code(0x07);
    W_comm(0x5a);//HDOT SCR
    W_code(0x00);
    W_comm(0x5b);//OVLAY
    W_code(0x0d);//異或方式
    //W_code(0x18);
    W_comm(0x59);//DISP ON
    W_code(0x54);//無光標
    //W_code(0x56); //有光標
    
    CS_H;
    
    //GUI_FillSCR(0x00);	// 初始化緩沖區為0x00,并輸出屏幕(清屏)
    GUI_ClearSCR();
}

/****************************************************************************
* 名稱:GUI_Point()
* 功能:在指定位置上畫點。
* 入口參數: x		指定點所在列的位置
*            y		指定點所在行的位置
*            color	顯示顏色(對于黑白色LCM,為0時滅,為1時顯示)
* 出口參數:返回值為1時表示操作成功,為0時表示操作失敗。(操作失敗原因是指定地址
*             超出有效范圍)
* 說明:用戶根據LCM的實際情況編寫此函數。
****************************************************************************/
uint8  GUI_Point(uint16 x, uint8 y, uint8 color)
{
    uint8 px1;
    uint8 temp,temp1;
    // 參數過濾
    if(x>=GUI_LCM_XMAX) return(0);
    if(y>=GUI_LCM_YMAX) return(0);
    
    px1=x/8;
    temp=x & 0x0007;
    temp =(uint8)(7-temp);
    temp = 1<<temp;
    set_pos(px1,y);   
    temp1=r_data();
    if(color==1)
        temp|=temp1;
    else if(color==0)
        temp=(~temp)&temp1;
    else
        return(0);
    
    set_pos(px1,y);
    W_comm(0X42);
    W_code(temp);  //在屏上寫一點
    return(1);
}

/****************************************************************************
* 名稱:GUI_ReadPoint()
* 功能:讀取指定點的顏色。
* 入口參數:x		指定點所在列的位置
*           y		指定點所在行的位置
*           ret     保存顏色值的指針
* 出口參數:返回0表示指定地址超出緩沖區范圍
* 說明:對于單色,設置ret的d0位為1或0,4級灰度則為d0、d1有效,8位RGB則d0--d7有效,
*      RGB結構則R、G、B變量有效。
****************************************************************************/
uint8  GUI_ReadPoint(uint16 x, uint8 y, TCOLOR *ret)
{
    uint8 px1;
    uint8 temp,temp1;
    // 參數過濾
    if(x>=GUI_LCM_XMAX) return(0);
    if(y>=GUI_LCM_YMAX) return(0);
    
    px1=x/8;
    temp=x & 0x0007;
    temp =(uint8)(7-temp);
    temp = 1<<temp;
    set_pos(px1,y);
    temp1 = r_data();
    if(temp1&temp==0)
        *ret = 0x00;
    else
        *ret = 0x01;
    return(1);
}

/****************************************************************************
* 名稱:GUI_HLine()
* 功能:畫水平線。
* 入口參數:x0		水平線起點所在列的位置
*           y0		水平線起點所在行的位置
*           x1      水平線終點所在列的位置
*           color	顯示顏色(對于黑白色LCM,為0時滅,為1時顯示)
* 出口參數:無
* 說明:操作失敗原因是指定地址超出緩沖區范圍。
****************************************************************************/
void  GUI_HLine(uint16 x0, uint8 y0, uint16 x1, TCOLOR color)
{
    uint8  bak;    
    if(x0>x1) 				// 對x0、x1大小進行排列,以便畫圖
    {
        bak = x1;
        x1 = x0;
        x0 = bak;
    }   
    do
    {
        GUI_Point(x0, y0, color);	// 逐點顯示,描出垂直線
        x0++;
    }
    while(x1>=x0);
}

/***********************************************************************
* 名稱:GUI_RLine()
* 功能:畫豎直線。根據硬件特點,實現加速。
* 入口參數:x0		垂直線起點所在列的位置
*           y0		垂直線起點所在行的位置
*           y1      垂直線終點所在行的位置
*           color	顯示顏色(對于黑白色LCM,為0時滅,為1時顯示)
* 出口參數:	無
* 說明:操作失敗原因是指定地址超出緩沖區范圍。
***********************************************************************/
void  GUI_RLine(uint16 x0, uint8 y0, uint8 y1, TCOLOR color)
{
    uint8  bak;
    if(y0>y1) 		// 對y0、y1大小進行排列,以便畫圖
    {
        bak = y1;
        y1 = y0;
        y0 = bak;
    }
    do
    {
        GUI_Point(x0, y0, color);	// 逐點顯示,描出垂直線
        y0++;
    }
    while(y1>=y0);
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品三级在线看| 久久亚洲精华国产精华液 | 久久久久国色av免费看影院| 777午夜精品免费视频| 欧美日韩三级一区| 制服丝袜中文字幕一区| 日韩一区二区影院| 欧美电影免费观看完整版| 国产网站一区二区| 久久久一区二区三区| 欧美激情综合在线| 国产精品久久福利| 亚洲综合在线视频| 香蕉影视欧美成人| 久久精品999| 成人av在线影院| 一本到高清视频免费精品| 欧美精品丝袜久久久中文字幕| 欧美精品v国产精品v日韩精品| 日韩欧美一二三| 国产精品乱人伦一区二区| 亚洲综合色区另类av| 蜜乳av一区二区三区| 国产69精品久久久久777| 色偷偷一区二区三区| 欧美老女人在线| 国产三级欧美三级日产三级99 | 久久99精品视频| 成人午夜视频网站| 精品视频在线视频| 久久亚洲捆绑美女| 亚洲综合一区二区三区| 激情丁香综合五月| 欧美在线视频不卡| 国产欧美一区二区三区沐欲| 亚洲电影在线免费观看| 国产酒店精品激情| 欧美丰满美乳xxx高潮www| 国产精品免费人成网站| 日本中文字幕不卡| 91亚洲午夜精品久久久久久| 欧美tickling挠脚心丨vk| 一区二区三区电影在线播| 国产麻豆视频一区二区| 欧美日韩国产a| 中文字幕一区二区三区色视频| 三级成人在线视频| 一本久道久久综合中文字幕| 久久久国产午夜精品| 天天综合天天综合色| 一本大道av一区二区在线播放| 欧美大片拔萝卜| 午夜精品免费在线观看| 色婷婷激情综合| 中日韩av电影| 国产不卡一区视频| 精品国产乱码久久久久久蜜臀| 亚洲午夜免费电影| 色妹子一区二区| 国产精品国产三级国产普通话99| 国产一区免费电影| 日韩精品一区在线观看| 日本va欧美va瓶| 91精品免费在线| 日韩国产欧美视频| 67194成人在线观看| 午夜精品久久久久久不卡8050| 在线视频国内一区二区| 一区二区高清在线| 欧美视频一区在线| 午夜精品久久久久| 538prom精品视频线放| 天天影视涩香欲综合网| 91精品国产91久久久久久一区二区 | 国产经典欧美精品| 久久精品一区二区| 东方欧美亚洲色图在线| 中文字幕国产一区二区| 成人毛片在线观看| 亚洲精品久久嫩草网站秘色| 91精品福利在线| 婷婷成人激情在线网| 日韩欧美自拍偷拍| 国产精品888| 国产精品成人一区二区艾草| 色综合天天综合网天天狠天天 | 欧美一级专区免费大片| 午夜激情久久久| 日韩欧美国产午夜精品| 国产一区二区影院| 中国av一区二区三区| 色综合久久中文综合久久97| 亚洲国产日韩a在线播放| 日韩一区二区三区观看| 国产成人午夜精品5599| 中文字幕字幕中文在线中不卡视频| 色综合久久久久网| 男女男精品视频网| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美一区二区三区四区视频| 国产一区欧美日韩| 亚洲天堂av老司机| 欧美一区二区播放| 成人小视频在线观看| 亚洲高清不卡在线观看| 国产亚洲综合在线| 在线亚洲免费视频| 国产在线视频不卡二| 亚洲精品国产精品乱码不99| 日韩一区二区三区观看| a在线欧美一区| 日本亚洲免费观看| 亚洲区小说区图片区qvod| 欧美一区二区三区电影| av亚洲产国偷v产偷v自拍| 日韩精品色哟哟| 亚洲女人****多毛耸耸8| 精品国产免费一区二区三区四区| 99久久99久久久精品齐齐| 免费成人在线网站| 综合精品久久久| 久久品道一品道久久精品| 在线综合+亚洲+欧美中文字幕| 不卡的电影网站| 激情五月婷婷综合网| 亚洲成精国产精品女| 日韩美女精品在线| 欧美国产日产图区| 欧美r级电影在线观看| 这里只有精品免费| 在线观看亚洲成人| 国产91露脸合集magnet| 久久aⅴ国产欧美74aaa| 婷婷激情综合网| 亚洲中国最大av网站| 亚洲欧美区自拍先锋| 1024成人网| 国产精品久久三区| 国产三级精品三级| 久久久高清一区二区三区| 欧美一区二区三区的| 91精品国产入口| 在线播放欧美女士性生活| 在线观看日韩国产| 在线观看日韩高清av| 在线欧美日韩精品| 在线影视一区二区三区| 一本久久a久久免费精品不卡| a在线播放不卡| 一本色道久久综合亚洲aⅴ蜜桃| 99麻豆久久久国产精品免费优播| 成人黄色网址在线观看| 成人美女在线观看| 91一区二区在线| 欧美性一级生活| 91 com成人网| 2021中文字幕一区亚洲| 国产亚洲成aⅴ人片在线观看| 久久久天堂av| 成人免费在线视频观看| 亚洲三级在线播放| 亚洲最色的网站| 丝袜亚洲另类丝袜在线| 奇米色777欧美一区二区| 久久精品国产澳门| 国产99精品国产| 91极品视觉盛宴| 91麻豆精品国产自产在线| 日韩欧美在线不卡| 国产偷国产偷精品高清尤物| 国产精品人成在线观看免费 | 久久99热99| 国产成人一区在线| 色综合天天综合网天天狠天天| 欧美视频中文一区二区三区在线观看| 91精品在线麻豆| 国产精品午夜免费| 亚洲地区一二三色| 国产一区二区久久| 欧美伊人久久久久久久久影院| 欧美日韩国产经典色站一区二区三区 | 国内精品视频666| 99精品热视频| 欧美一区二区三区在线| 国产精品蜜臀av| 蜜桃视频一区二区| 99精品视频一区二区| 日韩精品一区二区在线| 亚洲视频一区二区在线| 麻豆精品在线观看| 色综合中文字幕国产 | 看片的网站亚洲| 一本在线高清不卡dvd| 日韩欧美一区在线| 亚洲激情中文1区| 国产成人超碰人人澡人人澡| 欧美日韩国产精品自在自线| 亚洲欧美在线高清| 国产麻豆一精品一av一免费| 欧美日韩亚洲国产综合|