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

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

?? lcdm_hd61202_128d64.lib

?? ATmega16開發,外圍芯片LCDM_HD61202_128D64及RTC_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一区二区三区免费野_久草精品视频
欧美成人r级一区二区三区| 高清久久久久久| 日韩精品五月天| 欧美在线观看一区| 亚洲国产成人va在线观看天堂| 91极品美女在线| 亚洲自拍欧美精品| 欧美久久久久久久久久| 日日夜夜一区二区| 欧美v国产在线一区二区三区| 国产一区二区在线观看免费 | 日韩久久一区二区| 97超碰欧美中文字幕| 夜夜嗨av一区二区三区| 欧美一区二区在线视频| 国产一区二三区好的| 亚洲欧美日韩系列| 91精品久久久久久久99蜜桃 | 国产在线精品免费| 欧美国产一区二区| 在线观看一区日韩| 加勒比av一区二区| 亚洲视频一区二区在线观看| 欧美日韩精品一区二区三区四区 | 欧美写真视频网站| 日韩国产欧美一区二区三区| 久久久精品国产免大香伊| 国产老妇另类xxxxx| 91尤物视频在线观看| 欧美日韩一区二区欧美激情| 欧美精品在线观看一区二区| 国产精品网曝门| 亚洲一二三四在线| 成人短视频下载| 日韩欧美一级精品久久| 国产午夜亚洲精品不卡| 五月婷婷久久综合| 99riav一区二区三区| 精品久久久久久久久久久久久久久 | 国产黄色精品网站| 在线视频一区二区三| 午夜成人免费电影| 日韩欧美高清在线| 在线观看欧美精品| 91在线播放网址| 日日夜夜精品视频天天综合网| 日韩国产欧美在线视频| 久久精品72免费观看| 国内一区二区在线| 日韩午夜在线播放| 日本女优在线视频一区二区| 日韩精品中文字幕一区| 日韩视频一区二区在线观看| 日韩欧美综合一区| 亚洲精品va在线观看| 国产三级精品视频| 精品国产乱码久久久久久老虎 | 捆绑调教一区二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 欧美疯狂性受xxxxx喷水图片| 成人精品gif动图一区| 韩国av一区二区三区四区| 丝袜美腿一区二区三区| 一区二区理论电影在线观看| 中文无字幕一区二区三区| 欧美哺乳videos| 3atv一区二区三区| 精品视频一区二区不卡| 97久久精品人人爽人人爽蜜臀| 国产成人午夜高潮毛片| 寂寞少妇一区二区三区| 日产精品久久久久久久性色| 亚洲自拍另类综合| 亚洲综合区在线| 亚洲一区二区三区免费视频| 亚洲蜜臀av乱码久久精品| 国产精品家庭影院| 亚洲欧美自拍偷拍色图| 国产精品久久久久毛片软件| 国产日韩av一区二区| 国产欧美日韩亚州综合| 国产欧美视频一区二区| 日本一区二区三区在线不卡| 国产亚洲欧美日韩日本| 国产精品入口麻豆原神| 中文字幕一区二区在线播放| 中文字幕在线不卡一区二区三区| 中文字幕乱码日本亚洲一区二区 | 3d成人h动漫网站入口| 欧美伦理影视网| 欧美一卡在线观看| 精品国产123| 欧美精品一区二区三区在线| 欧美国产欧美综合| 国产精品福利一区二区| 亚洲综合成人在线视频| 天堂资源在线中文精品| 青青草国产精品97视觉盛宴| 久久99精品久久只有精品| 国产在线麻豆精品观看| 成人午夜碰碰视频| 欧美制服丝袜第一页| 7777女厕盗摄久久久| 26uuu久久综合| 欧美韩日一区二区三区四区| 亚洲欧洲综合另类| 天天色 色综合| 国产乱妇无码大片在线观看| 91色婷婷久久久久合中文| 欧美日韩国产小视频| 精品国产露脸精彩对白| 中文字幕一区av| 天堂va蜜桃一区二区三区 | 国产69精品久久777的优势| 成人v精品蜜桃久久一区| 欧美三级日韩在线| 日韩精品中文字幕在线一区| 国产精品午夜在线观看| 亚洲va欧美va国产va天堂影院| 激情偷乱视频一区二区三区| 99在线精品观看| 欧美一卡二卡三卡| 亚洲视频 欧洲视频| av在线不卡免费看| 欧美美女一区二区三区| 欧美国产日韩一二三区| 日一区二区三区| 99久久精品一区| 欧美电影免费提供在线观看| 亚洲欧美视频在线观看视频| 久久疯狂做爰流白浆xx| 欧美日韩国产免费一区二区 | 91精品国产一区二区三区香蕉| 精品国产第一区二区三区观看体验| 久久精品网站免费观看| 亚洲一区二区在线播放相泽| 国产福利91精品一区| 91精品国产综合久久蜜臀| 中文字幕中文字幕一区| 麻豆精品视频在线观看免费| 欧美无人高清视频在线观看| 国产精品污网站| 日韩经典一区二区| 777奇米成人网| 日韩高清不卡一区二区三区| 色嗨嗨av一区二区三区| 日韩一卡二卡三卡| 精品一区二区三区视频 | 久久久久久久久久久久久女国产乱 | www激情久久| 国产一区二区免费视频| av电影天堂一区二区在线观看| 欧美在线999| 亚洲高清免费一级二级三级| 99精品偷自拍| 一区二区三区丝袜| 国产精品萝li| 亚洲精品日日夜夜| 国产精品免费aⅴ片在线观看| 久久这里只有精品首页| 蜜臀av一区二区在线免费观看 | 加勒比av一区二区| 欧美一区二区视频网站| 亚洲成av人片在线观看无码| 91免费看视频| 亚洲黄一区二区三区| 在线观看亚洲精品视频| 一区二区三区欧美| 欧美在线色视频| 依依成人精品视频| 色8久久精品久久久久久蜜| 一区二区三区产品免费精品久久75| 91在线一区二区三区| 亚洲视频一区在线| 色美美综合视频| 怡红院av一区二区三区| 欧美专区亚洲专区| 舔着乳尖日韩一区| 日韩三级视频中文字幕| 激情亚洲综合在线| 国产日韩欧美综合一区| av电影在线观看完整版一区二区| 亚洲欧美综合色| 欧美综合一区二区| 婷婷久久综合九色综合绿巨人| 这里是久久伊人| 国产麻豆精品一区二区| 国产精品狼人久久影院观看方式| jizz一区二区| 亚洲国产日日夜夜| 5月丁香婷婷综合| 精品一区二区三区免费观看 | 国产精品视频看| 一本色道久久加勒比精品| 香蕉久久夜色精品国产使用方法| 日韩免费在线观看| 成人伦理片在线| 午夜婷婷国产麻豆精品| 精品国产一区二区精华| 不卡的看片网站|