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

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

?? lcdm_hd61202_128d64.lib

?? 基于AVR開發系統的DS12887操作程序
?? LIB
?? 第 1 頁 / 共 2 頁
字號:
  LCDM_RW_PORT &= ~LCDM_RW_PINNum;    /* 置讀/寫選擇為L */
  if (WC_CSNum == LCDM_CS1)
  {
    LCDM_CS1_PORT |= LCDM_CS1_PINNum;   /* 置片選1為H */
  }
  if (WC_CSNum == LCDM_CS2)
  {
    LCDM_CS1_PORT |= LCDM_CS2_PINNum;   /* 置片選2為H */
  }
  LCDM_DATA_PORT = WriteCode;         /* 將控制指令代碼輸出到的數據端口 */
  LCDM_EN_PORT &= ~LCDM_EN_PINNum;    /* 使能信號為L */
//  delay_us(2);                        /* 延時2us */
  LCDM_EN_PORT |= LCDM_EN_PINNum;     /* 使能信號為H */
//  delay_us(2);                        /* 延時2us */
  LCDM_EN_PORT &= ~LCDM_EN_PINNum;    /* 使能信號為L */
  LCDM_CS1_PORT &= ~LCDM_CS1_PINNum;  /* 置片選1為L */
  LCDM_CS2_PORT &= ~LCDM_CS2_PINNum;  /* 置片選2為L */
}

/*----------------------------------------------------------------------------
函數功能:    本函數用于向液晶模塊寫入顯示數據。
函數入口參數:WriteData ------ 向液晶模塊寫入的顯示數據 。
              WD_CSNum ------- 片選數值,僅取值 LCDM_CS1 或 LCDM_CS2 中的一個。
----------------------------------------------------------------------------*/
void LCDM_WriteData(Uchar8 WriteData, Uchar8 WD_CSNum)
{
  #ifdef LCDM_DI_RW_EN_PinShare       /* "LCDM_DI_RW_EN_PinShare" 條件編譯開始 */
    LCDM_DI_DDR |= LCDM_DI_PINNum;      /* 設置液晶的寄存器選擇控制端口為輸出引腳 */
    LCDM_RW_DDR |= LCDM_RW_PINNum;      /* 設置液晶的讀/寫選擇控制端口為輸出引腳 */
    LCDM_EN_DDR |= LCDM_EN_PINNum;      /* 設置液晶的使能信號控制端口為輸出引腳 */
  #endif                              /* "LCDM_DI_RW_EN_PinShare" 條件編譯結束 */
  LCDM_DATA_DDR = 0xFF;               /* 設置液晶模塊的數據端口為輸出引腳 */
  LCDM_DI_PORT |= LCDM_DI_PINNum;     /* 置寄存器選擇為H */
  LCDM_RW_PORT &= ~LCDM_RW_PINNum;    /* 置讀/寫選擇為L */
  if (WD_CSNum == LCDM_CS1)
  {
    LCDM_CS1_PORT |= LCDM_CS1_PINNum;   /* 置片選1為H */
  }
  if (WD_CSNum == LCDM_CS2)
  {
    LCDM_CS1_PORT |= LCDM_CS2_PINNum;   /* 置片選2為H */
  }
  LCDM_DATA_PORT = WriteData;         /* 將顯示數據輸出到的數據端口 */
  LCDM_EN_PORT &= ~LCDM_EN_PINNum;    /* 使能信號為L */
//  delay_us(2);                        /* 延時2us */
  LCDM_EN_PORT |= LCDM_EN_PINNum;     /* 使能信號為H */
//  delay_us(2);                        /* 延時2us */
  LCDM_EN_PORT &= ~LCDM_EN_PINNum;    /* 使能信號為L */
  LCDM_CS1_PORT &= ~LCDM_CS1_PINNum;  /* 置片選1為L */
  LCDM_CS2_PORT &= ~LCDM_CS2_PINNum;  /* 置片選2為L */
}

/*----------------------------------------------------------------------------
函數功能:    本函數用于在液晶屏幕上在指定坐標位置(x,y)顯示單個點陣字符的操作。
函數入口參數:x ----------------- X軸坐標,其數值范圍:x ≤63。
              y ----------------- Y軸坐標,其數值范圍:y ≤7。
              *pdc_address ------ 顯示字符點陣數據存儲地址,即指向存儲點陣數據的指針。
              dc_row_num -------- 顯示字符行點數,其數值范圍:x ≤127。
              dc_column_num ----- 顯示字符列點數,其數值范圍:x ≤63。
備注:        ①.參數 y(Y軸坐標)的數值范圍:y ≤7。
              ②.在移植程序時,請注意 *pdc_address 參數前的 flash 關鍵字,此關鍵字
                  為 CodeVision AVR C 所擴充,在移植時要做相應修改。
----------------------------------------------------------------------------*/
void LCDM_Display_Character(Uchar8 x,                        /* X軸坐標 */ 
                            Uchar8 y,                        /* Y軸坐標 */ 
                            const Uchar8 flash *pdc_address, /* 字符點陣數據存儲地址 */ 
                            const Uchar8 dc_row_num,         /* 顯示字符行點數 */ 
                            const Uchar8 dc_column_num)      /* 顯示字符列點數 */
                            
{
  register Uchar8 i_counter;        /* 行循環計數器變量 */ 
  register Uchar8 j_counter;        /* 列循環計數器變量 */ 
  register Uchar8 temp;             /* 臨時寄存器變量 */
  register Uchar8 temp_data;        /* 臨時數據寄存器變量 */
  LCDM_Display(ON);                   /* 打開液晶顯示屏幕 */
  LCDM_SetStartLine(0);               /* 設置顯示開始行為第一行 */
  j_counter = dc_column_num/LCDM_DataBits;  /* 列循環次數=字符列點數÷字符位長 */
  temp = x + dc_row_num;              /* 字符行寬范圍=X軸坐標+顯示字符行點數 */
  if (temp < LCDM_MaxRowDot)          /* 字符行寬范圍是否全部在芯片1內? */
  {
    x = x + LCDM_Yaddress_1;            /* 設置X軸坐標 */
    LCDM_WriteCode(x, LCDM_CS1);
    y = y + LCDM_DataPage_1;            /* 設置Y軸坐標 */
    LCDM_WriteCode(y, LCDM_CS1);
    while (j_counter>0)
    {
      for (i_counter=dc_row_num; i_counter>0; i_counter--)
          /* 行循環次數=字符行點數 */
      {
        temp_data = *(pdc_address++);   /* 輸入顯示字符點陣數據 */
        LCDM_WriteData(temp_data, LCDM_CS1); /* 將顯示字符點陣數據寫入液晶顯示屏幕 */
      }
      LCDM_WriteCode(x, LCDM_CS1);      /* X軸坐標退回到設置點 */
      y = y + 1;                        /* 顯示頁數(Y軸坐標)+1 */
      LCDM_WriteCode(y, LCDM_CS1);
      j_counter--;
    }  
  }
  else                                /* 否則字符行寬范圍即在芯片2和芯片1之間 */
  {
    if (x >= LCDM_MaxRowDot)            /* 字符行寬范圍是否全部在芯片2內? */
    {
      x = x - LCDM_MaxRowDot;             /* X軸坐標=X軸坐標-芯片1的最大行點陣數 */
      x = x + LCDM_Yaddress_1;            /* 設置X軸坐標 */
      LCDM_WriteCode(x, LCDM_CS2);
      y = y + LCDM_DataPage_1;            /* 設置Y軸坐標 */
      LCDM_WriteCode(y, LCDM_CS2);
      while (j_counter>0)
      {
        for (i_counter=dc_row_num; i_counter>0; i_counter--)
            /* 行循環次數=字符行點數 */
        {
          temp_data = *(pdc_address++);   /* 輸入顯示字符點陣數據 */
          LCDM_WriteData(temp_data, LCDM_CS2); /* 將顯示字符點陣數據寫入液晶顯示屏幕 */
        }
        LCDM_WriteCode(x, LCDM_CS2);      /* X軸坐標退回到設置點 */
        y = y + 1;                        /* 顯示頁數(Y軸坐標)+1 */
        LCDM_WriteCode(y, LCDM_CS2);
        j_counter--;
      }  
    }  
    else
    {
      temp = x + LCDM_Yaddress_1;         /* 設置X軸坐標 */
      LCDM_WriteCode(temp, LCDM_CS1);
      y = y + LCDM_DataPage_1;            /* 設置Y軸坐標 */
      LCDM_WriteCode(y, LCDM_CS1);
      while (j_counter>0)
      {
        for (i_counter=(LCDM_MaxRowDot-x); i_counter>0; i_counter--)
            /* 芯片1行循環次數=芯片1的最大行點陣數-X軸坐標 */
        {
          temp_data = *(pdc_address++);   /* 輸入顯示字符點陣數據 */
          LCDM_WriteData(temp_data, LCDM_CS1); /* 將顯示字符點陣數據寫入液晶顯示屏幕 */
        }
        temp = 0 + LCDM_Yaddress_1;       /* 設置芯片2的X軸坐標為起點 */
        LCDM_WriteCode(temp, LCDM_CS2);
        LCDM_WriteCode(y, LCDM_CS2);      /* 設置芯片2的Y軸坐標 */
        for (i_counter=(x + dc_row_num - LCDM_MaxRowDot); i_counter>0; i_counter--)
            /* 芯片2行循環次數=X軸坐標+顯示字符行點數-芯片1的最大行點陣數 */
        {
          temp_data = *(pdc_address++);   /* 輸入顯示字符點陣數據 */
          LCDM_WriteData(temp_data, LCDM_CS2); /* 將顯示字符點陣數據寫入液晶顯示屏幕 */
        }
        temp = x + LCDM_Yaddress_1;       /* 芯片1的X軸坐標退回到設置點 */
        LCDM_WriteCode(temp, LCDM_CS1);
        y = y + 1;                        /* 顯示頁數(Y軸坐標)+1 */
        LCDM_WriteCode(y, LCDM_CS1);
        j_counter--;
      } 
    }
  }
}

/*----------------------------------------------------------------------------
函數功能:    本函數用于在液晶屏幕上全屏幕填充單一字符數據的操作。
函數入口參數:all_data ------------ 填充的字符數據,例:清屏操作的字符數據可能為 0x00 。
              max_row_num --------- 最大行點數值,為63。
       max_column_num ------ 最大列點數值,為63。
備注:        對于片選數值的定義必須從 1 到 n 連續排列,如下所示 1,2,3,……,n-1,n 。
----------------------------------------------------------------------------*/
void LCDM_AllScreenData(const Uchar8 all_data,           /* 填充的字符數據 */
                        const Uchar8 max_row_num,        /* 最大行點數 */
                        const Uchar8 max_column_num)     /* 最大列點數 */
                            
{
  register Uchar8 i_counter;        /* 行循環計數器變量 */
  register Uchar8 j_counter;        /* 列循環計數器變量 */
  register Uchar8 temp;             /* 臨時寄存器變量 */
  register Uchar8 DC_CSNum;         /* 片選數值變量,取 LCDM_CS1 或 LCDM_CS2 中的一個 */
  LCDM_Display(ON);                   /* 打開液晶顯示屏幕 */
  LCDM_SetStartLine(0);               /* 設置顯示開始行為第一行 */
  for (DC_CSNum=1; DC_CSNum<=LCDM_CS2; DC_CSNum++)
       /* 片選循環次數=最大列片選數值 */
  {
    LCDM_WriteCode(LCDM_Yaddress_1, DC_CSNum); /* 設置X軸坐標為起點 */
    temp = 0x00;
    temp = temp + LCDM_DataPage_1;      /* 設置Y軸坐標為起點 */
    LCDM_WriteCode(LCDM_DataPage_1, DC_CSNum);
    for (j_counter=(max_column_num/LCDM_DataBits); j_counter>0; j_counter--)
         /* 列循環次數=最大列點數÷字符位長 */
    {
      for (i_counter=max_row_num; i_counter>0; i_counter--)
           /* 行循環次數=最大行點數 */ 
      {
        LCDM_WriteData(all_data, DC_CSNum); /* 將填充的字符數據寫入液晶顯示屏幕 */
      }
      LCDM_WriteCode(LCDM_Yaddress_1, DC_CSNum); /* X軸坐標退回到起點 */
      temp = temp + 1;                  /* 顯示頁數(Y軸坐標)+1 */
      LCDM_WriteCode(temp, DC_CSNum);
    }
  }
}



/*
****************************************************************************************
                           本C語言源程序文件到此結束
****************************************************************************************
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天精品一区二区三区| 国产欧美视频在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 91精品福利在线| 精品一区二区免费| 亚洲一区二区四区蜜桃| 国产欧美日韩中文久久| 欧美剧在线免费观看网站| 成人激情文学综合网| 精东粉嫩av免费一区二区三区| 亚洲一区在线观看免费观看电影高清| 久久综合资源网| 精品中文字幕一区二区小辣椒| 椎名由奈av一区二区三区| 欧美一级日韩免费不卡| 色偷偷久久一区二区三区| 国产精品影视网| 久久福利资源站| 五月婷婷久久丁香| 自拍偷拍亚洲综合| 国产三级精品在线| 欧美精品一区二| 91精品久久久久久久91蜜桃 | 日韩电影在线一区| 一区二区三区在线视频观看| 国产欧美日韩在线观看| 精品免费国产一区二区三区四区| 777午夜精品视频在线播放| 92精品国产成人观看免费 | 国产精品综合一区二区三区| 蓝色福利精品导航| 日韩黄色片在线观看| 亚洲小说欧美激情另类| 亚洲综合丁香婷婷六月香| 樱花草国产18久久久久| 最新国产精品久久精品| 国产精品久久二区二区| 中文字幕免费不卡在线| 日本三级韩国三级欧美三级| 国产精品国产三级国产三级人妇| 97精品久久久久中文字幕| 成人高清伦理免费影院在线观看| 国产成人啪午夜精品网站男同| 精品一区二区久久| 国产麻豆精品在线观看| 国产乱人伦偷精品视频不卡| 黄色精品一二区| 黄网站免费久久| 国产 欧美在线| 国产揄拍国内精品对白| 97se亚洲国产综合自在线| 成人免费视频一区| 成人av免费在线观看| 91美女福利视频| 欧美一a一片一级一片| 在线视频国产一区| 欧美日本在线播放| 日韩视频一区二区在线观看| 亚洲精品一区二区在线观看| 国产亚洲欧美中文| 亚洲色图制服诱惑| 亚洲mv在线观看| 激情综合色丁香一区二区| 国产精品系列在线播放| 色综合欧美在线| 51午夜精品国产| 国产三级精品在线| 一区二区三区日韩欧美| 免费高清不卡av| 懂色av中文一区二区三区| 91网站最新网址| 91精品国产欧美日韩| 国产欧美一区二区三区在线老狼| 亚洲免费观看高清完整版在线观看熊 | 亚洲精品大片www| 欧美aaa在线| 成人在线视频一区二区| 欧美日韩在线三区| 久久精品免费在线观看| 一区二区日韩电影| 黑人精品欧美一区二区蜜桃| aa级大片欧美| 日韩一卡二卡三卡四卡| 中文字幕在线观看一区| 日韩av一区二区在线影视| 成人在线一区二区三区| 在线不卡a资源高清| 国产欧美日韩在线视频| 日本午夜精品视频在线观看| 高清不卡在线观看| 在线播放视频一区| 中文字幕高清一区| 青青草国产精品亚洲专区无| 99国产精品久久久久久久久久久| 欧美一区二区三区免费观看视频 | 成人免费视频国产在线观看| 欧美三级韩国三级日本一级| 同产精品九九九| 成人午夜激情影院| 欧美xxxxx裸体时装秀| 亚洲综合一二三区| 成人av在线一区二区三区| 日韩一级黄色片| 亚洲成在人线在线播放| 99久久99久久精品免费看蜜桃| 欧美大度的电影原声| 一区二区三区四区激情| 丁香婷婷深情五月亚洲| 欧美大黄免费观看| 日本午夜精品一区二区三区电影| 色菇凉天天综合网| 国产精品女主播av| 国产精品一区2区| 日韩欧美中文一区二区| 亚洲一本大道在线| 在线视频欧美区| 亚洲人成亚洲人成在线观看图片| 高清免费成人av| 精品不卡在线视频| 免费在线观看成人| 欧美精品免费视频| 亚洲小少妇裸体bbw| 日本伦理一区二区| 亚洲美女屁股眼交3| 成人福利视频网站| 国产欧美日韩另类一区| 久久疯狂做爰流白浆xx| 日韩亚洲欧美成人一区| 日韩精品91亚洲二区在线观看| 欧美午夜片在线看| 亚洲一线二线三线久久久| 91亚洲男人天堂| 一区二区国产视频| 色婷婷一区二区| 一区二区三区欧美久久| 日本韩国欧美国产| 一二三区精品福利视频| 91官网在线免费观看| 亚洲影院免费观看| 欧美日韩美女一区二区| 日韩av电影一区| 宅男噜噜噜66一区二区66| 奇米色一区二区| 精品久久久久久久人人人人传媒| 九一久久久久久| 国产情人综合久久777777| 成人午夜视频在线观看| 亚洲色图一区二区| 欧美日韩免费观看一区三区| 三级不卡在线观看| 日韩一级片网址| 欧美日韩国产中文| 视频在线观看一区| 欧美精品一区二区在线播放 | k8久久久一区二区三区| 国产精品国产三级国产有无不卡| 91丨porny丨首页| 亚洲国产一区二区视频| 欧美一区二区三区思思人| 国产尤物一区二区| 最新不卡av在线| 欧美日韩不卡一区| 国产乱人伦精品一区二区在线观看| 久久久精品国产免大香伊| 色综合久久久久综合99| 亚洲成国产人片在线观看| 欧美xingq一区二区| 成人激情动漫在线观看| 午夜精品123| 国产欧美一区视频| 欧美人与z0zoxxxx视频| 国产一区二区主播在线| 伊人性伊人情综合网| 欧美电视剧免费全集观看| a4yy欧美一区二区三区| 日韩制服丝袜av| 国产精品乱码人人做人人爱| 欧美四级电影在线观看| 国产美女久久久久| 亚洲一区国产视频| 国产亚洲成年网址在线观看| 91传媒视频在线播放| 韩国女主播一区二区三区| 亚洲乱码精品一二三四区日韩在线| 欧美酷刑日本凌虐凌虐| 成人免费毛片aaaaa**| 午夜精品久久久久久久| 中文字幕欧美激情一区| 日韩欧美自拍偷拍| 91久久精品一区二区| 国产经典欧美精品| 日韩激情视频网站| 一区二区在线观看免费| 久久蜜臀中文字幕| 欧美三级视频在线观看| 成人性色生活片免费看爆迷你毛片| 午夜精品123| 亚洲激情自拍视频| 国产精品女主播在线观看| 精品福利av导航|