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

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

?? ks0108.lst

?? 一個占用內存極少的菜單系統的實現,很使用的程序代碼
?? LST
?? 第 1 頁 / 共 5 頁
字號:
C51 COMPILER V7.20   KS0108                                                                09/04/2007 22:35:41 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE KS0108
OBJECT MODULE PLACED IN .\Obj\Ks0108.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Src\Ks0108.C LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\Lst\Ks0108.lst) OBJECT
                    -(.\Obj\Ks0108.obj)

line level    source

   1          /******************************************************************************
   2           * Ks0108.C - Ks0108 液晶控制器驅動程序
   3           *
   4           *
   5           * DESCRIPTION: -
   6           *
   7           * modification history
   8           * --------------------
   9           * 01a, 04/sep/2007, 梁炎昌 written
  10           * --------------------
  11           ******************************************************************************/
  12          
  13          #include "CPU.H"
  14          #include "Ks0108.H"
  15          #include "Chinese.C"
  16          #include "ASCII.c"
  17          
  18          
  19          
  20          //------------------------------------------------------------------------------------------
  21          
  22          /*
  23          -------------------------------------------------------------------------
  24          GUI相關全局變量
  25          -------------------------------------------------------------------------
  26          */
  27          U8  GUIEnFont = En_8x16;                //英文字體
  28          U8  GUITextMode = GUI_TEXTMODE_NORMAL;  //顯示模式
  29          
  30          U8 Char_XSIZE;   //英文字體X寬度
  31          U8 Char_YSIZE;   //英文字體Y寬度
  32          
  33          U8 PosX = 0;     //當前系統X坐標
  34          U8 PosY = 0;     //當前系統Y坐標
  35          
  36          U8 NoXY = true;//是否使用PosX PosY的標志   1-->不使用   0-->使用
  37          
  38          
  39          // ---- 延遲程序 ----------------------------------------------------
  40          #if OSC_48MHZ == true
  41          
  42          #define SomeNop();      {               \
  43              _nop_(); _nop_(); _nop_(); _nop_(); \
  44              _nop_(); _nop_(); _nop_(); _nop_(); \
  45             }
  46          
  47          #elif OSC_24MHZ == true
              
              #define SomeNop();      {               \
                  _nop_(); _nop_(); _nop_(); _nop_(); \
                  }
              
              #endif
  54          
C51 COMPILER V7.20   KS0108                                                                09/04/2007 22:35:41 PAGE 2   

  55          
  56          
  57          
  58          
  59          
  60          /*
  61          *****************************************************************************
  62          * WriteCommand_0108 - 寫命令到KS0108
  63          * DESCRIPTION: -
  64          * 本函數不接管片選信號
  65          * @Param CmdData:命令碼
  66          * @Return :
  67          * ----
  68          *****************************************************************************
  69          */
  70          void WriteCommand_0108(U8 CmdData)
  71          {
  72   1          LCD_E = 0;
  73   1          LCD_RS = 0;
  74   1          LCD_RW = 0;
  75   1          LCD_Bus = CmdData;
  76   1          SomeNop();
  77   1          LCD_E = 1;
  78   1          SomeNop();
  79   1          LCD_E = 0;
  80   1      
  81   1      }
  82          
  83          
  84          /*
  85          *****************************************************************************
  86          * WriteData_0108 - 寫數據到KS0108
  87          * DESCRIPTION: -
  88          * 本函數不接管片選信號
  89          * @Param Data:寫入的數據
  90          * @Return :
  91          * ----
  92          *****************************************************************************
  93          */
  94          void WriteData_0108(U8 Data)
  95          {
  96   1          LCD_E = 0;
  97   1          LCD_RS = 1;
  98   1          LCD_RW = 0;
  99   1          LCD_Bus = Data;
 100   1          SomeNop();
 101   1          LCD_E = 1;
 102   1          SomeNop();
 103   1          LCD_E = 0;
 104   1      
 105   1      }
 106          /*-------------------讀LCD數據----------------------------*/
 107          #if 0
              U8 ReadData_0108(void)
              {   U8 Temp;
                  LCD_Bus = 0xFF;//切換成輸入
                  LCD_RS = 1;
                  LCD_RW = 1;
                  SomeNop();
                  LCD_E = 1;
                  SomeNop();
                  Temp = LCD_Bus;
C51 COMPILER V7.20   KS0108                                                                09/04/2007 22:35:41 PAGE 3   

                  return(Temp);
              /*
                  U8 Temp;
                  PIN_KS0108_Di_HIGH;
                  PIN_KS0108_RW_HIGH;
                  DelayS(0);
                  PIN_KS0108_Enable_HIGH;
                  DelayS(0);
                  PIN_KS0108_Enable_LOW;
                  Temp = PIN_KS0108_Lcd_InBus;
                  return (Temp);
              */
              }
              
              U8 ReadState_0108(void)
              {
                  U8 Temp;
                  LCD_Bus = 0xFF;
                  LCD_RS = 0;
                  LCD_RW = 1;
                  SomeNop();
                  LCD_E = 1;
                  SomeNop();
                  LCD_E = 0;
                  Temp = LCD_Bus;
                  return (Temp);
              
              
              }
              
              U8 Busy(void)
              {
                  U16 TimeOut;
                  U8 Flag;
                  TimeOut = 200;
                  do{
                      Flag = ReadState_0108();
                      LED1 ^= 0x01;
                      if (TimeOut-- == 0){
                          return 0;
                      }
                  }while(Flag &0x80);
                  return 1;
              }
              #endif
 162          //Option = 1   --->Disp On
 163          //Option = 0   --->Disp Off
 164          void KS0108_DisplayOn(U8 Option)
 165          {
 166   1          if (Option == 1) {
 167   2              WriteCommand_0108(Ks0108_CMD_Disp_ON);
 168   2          }else{
 169   2              WriteCommand_0108(Ks0108_CMD_Disp_OFF);
 170   2          }
 171   1      }
 172          
 173          void KS0108_SetStartRow(U8 Row)
 174          {
 175   1          WriteCommand_0108(Ks0108_CMD_Disp_Start_Line + Row);
 176   1      }
 177          /*
 178          *****************************************************************************
C51 COMPILER V7.20   KS0108                                                                09/04/2007 22:35:41 PAGE 4   

 179          * Display_Locate - LCD上指定位置 顯示指定數據
 180          * DESCRIPTION: -
 181          *
 182          * @Param x0:0--191橫向坐標
 183          * @Param y0:0--7  縱向坐標
 184          * @Param DisplayData:寫入的數據
 185          * @Return :
 186          * ----
 187          *****************************************************************************
 188          */
 189          void Display_Locate(U8 DisplayData, U8 x0, U8 y0)
 190          {
 191   1          if ((x0 <= (LCD_XSIZE-1))&(y0 <= (LCD_YSIZE-1))){
 192   2              if (x0 <= 63){                                //0--191
 193   3                  LCD_CSA();
 194   3      //            Busy();//判忙
 195   3                  WriteCommand_0108(Ks0108_CMD_Set_Addr + x0);
 196   3              } else if (x0 <= 127){
 197   3                  LCD_CSB();
 198   3      //            Busy();//判忙
 199   3                  WriteCommand_0108(Ks0108_CMD_Set_Addr + x0 - 64);
 200   3              } else if (x0 <= 191){
 201   3                  LCD_CSC();
 202   3      //            Busy();//判忙
 203   3                  WriteCommand_0108(Ks0108_CMD_Set_Addr + x0 -128);
 204   3              }
 205   2      //        Busy();//判忙
 206   2              WriteCommand_0108(y0 + Ks0108_CMD_Set_Page);   //0--7
 207   2      //        Busy();//判忙
 208   2              WriteData_0108(DisplayData);
 209   2              LCD_CS_None();//不再片選任何一個Ks0108
 210   2          }
 211   1      }
 212          
 213          
 214          /*
 215          *****************************************************************************
 216          * Display_Clear - 清空LCD顯示
 217          * DESCRIPTION: -
 218          *
 219          * @Param void:
 220          * @Return :
 221          * ----
 222          *****************************************************************************
 223          */
 224          void Display_Clear(void)
 225          {
 226   1          U8 j,k;
 227   1      //--------------------------------------
 228   1          LCD_CSA();
 229   1          for(k = 0; k < 8; k++){
 230   2              WriteCommand_0108(0 + Ks0108_CMD_Set_Addr); //0--7
 231   2              WriteCommand_0108(k + Ks0108_CMD_Set_Page); //0--63
 232   2              for(j = 0;j < 64;j++){
 233   3                  WriteData_0108(0x00);
 234   3              }
 235   2          }
 236   1          KS0108_SetStartRow(0);
 237   1      //--------------------------------------
 238   1          LCD_CSB();
 239   1          for(k = 0; k < 8; k++){
 240   2              WriteCommand_0108(0 + Ks0108_CMD_Set_Addr); //0--7
C51 COMPILER V7.20   KS0108                                                                09/04/2007 22:35:41 PAGE 5   

 241   2              WriteCommand_0108(k + Ks0108_CMD_Set_Page); //0--63
 242   2              for(j = 0;j < 64;j++){
 243   3                  WriteData_0108(0x00);
 244   3              }
 245   2          }
 246   1          KS0108_SetStartRow(0);
 247   1      //-------------------------------------
 248   1          LCD_CSC();
 249   1          for(k = 0; k < 8; k++){
 250   2              WriteCommand_0108(0 + Ks0108_CMD_Set_Addr);//0--7
 251   2              WriteCommand_0108(k + Ks0108_CMD_Set_Page);//0-63
 252   2              for(j = 0;j < 64;j++){
 253   3                  WriteData_0108(0x00);
 254   3              }
 255   2          }
 256   1          KS0108_SetStartRow(0);
 257   1      //-------------------------------------
 258   1          LCD_CS_None();
 259   1      }
 260          
 261          
 262          /*
 263          *****************************************************************************
 264          * Display_Init - 初始化LCD
 265          * DESCRIPTION: -
 266          *
 267          * @Param void:
 268          * @Return :
 269          * ----
 270          *****************************************************************************
 271          */
 272          void Display_Init(void)
 273          {
 274   1      //---------------------------
 275   1          LCD_CSA();
 276   1          KS0108_DisplayOn(0);
 277   1          KS0108_SetStartRow(0);
 278   1          KS0108_DisplayOn(1);
 279   1      //---------------------------
 280   1          LCD_CSB();
 281   1          KS0108_DisplayOn(0);
 282   1          KS0108_SetStartRow(0);
 283   1          KS0108_DisplayOn(1);
 284   1      //---------------------------
 285   1          LCD_CSC();
 286   1          KS0108_DisplayOn(0);
 287   1          KS0108_SetStartRow(0);
 288   1          KS0108_DisplayOn(1);
 289   1      //---------------------------
 290   1          LCD_CS_None();
 291   1      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
石原莉奈在线亚洲二区| 9久草视频在线视频精品| 成人激情免费网站| 中文字幕不卡三区| www.亚洲人| 成人av在线播放网址| 高清视频一区二区| 亚洲国产日韩在线一区模特| 欧美性猛片xxxx免费看久爱| 青娱乐精品在线视频| 国产日韩欧美麻豆| 欧美性猛交一区二区三区精品| 91在线你懂得| 狠狠色狠狠色综合日日91app| 国产日韩欧美亚洲| 国产精品毛片大码女人| 91精品国产综合久久精品图片| 国内精品伊人久久久久av影院| 国内一区二区在线| 国产一区二区在线视频| 亚洲制服丝袜av| 国产精品免费人成网站| 亚洲人成亚洲人成在线观看图片| 欧美久久一二三四区| 91亚洲国产成人精品一区二三| 美女视频网站久久| 亚洲电影欧美电影有声小说| 中文字幕国产一区| 夜夜嗨av一区二区三区四季av| 欧美国产一区在线| 亚洲一区在线观看网站| 美女一区二区在线观看| 东方aⅴ免费观看久久av| 91久久精品一区二区三| 国产精品一区二区三区网站| 蜜桃久久久久久| 97久久超碰国产精品| 538在线一区二区精品国产| 久久九九国产精品| 久久综合九色综合欧美亚洲| 欧美日韩不卡在线| 欧美三级三级三级爽爽爽| 91国偷自产一区二区三区成为亚洲经典 | 国产午夜亚洲精品午夜鲁丝片| 1024精品合集| 专区另类欧美日韩| 亚洲男同1069视频| 久久成人久久鬼色| 国产在线视频一区二区三区| 日本久久一区二区| 久久嫩草精品久久久精品| 精品精品国产高清a毛片牛牛| 日韩亚洲欧美在线| 日韩一卡二卡三卡四卡| 夜夜揉揉日日人人青青一国产精品 | 777奇米四色成人影色区| 国产精品黄色在线观看| 国产精品第五页| 九一九一国产精品| 国产老肥熟一区二区三区| 欧美日韩在线播放三区| 亚洲人成网站在线| 99综合电影在线视频| 日韩欧美色电影| 欧美激情资源网| 激情偷乱视频一区二区三区| 欧美色涩在线第一页| 亚洲人成人一区二区在线观看| 国产成人精品免费在线| 91蜜桃网址入口| 欧美激情一区二区| 国产+成+人+亚洲欧洲自线| 精品卡一卡二卡三卡四在线| 国产视频一区二区三区在线观看| 免费观看一级特黄欧美大片| 在线不卡一区二区| 丝袜诱惑制服诱惑色一区在线观看| 一本久久综合亚洲鲁鲁五月天 | 久久免费电影网| 久久99这里只有精品| 精品噜噜噜噜久久久久久久久试看| 日本欧美在线观看| 成人免费福利片| 91麻豆精品国产91久久久 | 欧美精品亚洲一区二区在线播放| 夜夜夜精品看看| 欧美日本免费一区二区三区| 三级在线观看一区二区| 91精品国产一区二区| 国产精品色眯眯| 色一情一伦一子一伦一区| 亚洲精品水蜜桃| 国产精品系列在线观看| 国产精品久线在线观看| 色婷婷亚洲精品| 日韩电影一区二区三区| 欧美一区二区三区爱爱| 国产一区二区三区不卡在线观看| 久久精品亚洲国产奇米99| 91免费观看视频| 免费日本视频一区| 中文字幕免费不卡| 欧美日韩黄视频| 韩国v欧美v日本v亚洲v| 中文字幕一区在线观看视频| 在线播放/欧美激情| 国产一区二区导航在线播放| 亚洲天天做日日做天天谢日日欢| 欧美日韩激情一区| 高清国产一区二区| 亚洲综合激情网| 久久亚洲二区三区| 91高清视频在线| 经典三级在线一区| 亚洲午夜久久久久久久久电影网| 欧美一区二区黄色| 91年精品国产| 国产精品综合一区二区三区| 亚洲乱码国产乱码精品精小说| 欧美久久久久久久久| 成人av资源站| 国模套图日韩精品一区二区| 亚洲午夜久久久久久久久电影院| 国产婷婷精品av在线| 91麻豆精品国产91久久久更新时间 | 欧美精品久久天天躁| 成人久久久精品乱码一区二区三区| 亚洲大片精品永久免费| 一区在线观看视频| 26uuu精品一区二区| 欧美乱妇20p| 97久久精品人人澡人人爽| 国产超碰在线一区| 久久精品国产一区二区| 亚洲国产一区二区三区青草影视| 国产精品嫩草99a| 26uuu欧美日本| 欧美大肚乱孕交hd孕妇| 欧美主播一区二区三区美女| 天天色 色综合| 久久综合五月天婷婷伊人| 欧美日韩在线不卡| 91亚洲国产成人精品一区二区三| 国产精品亚洲午夜一区二区三区| 日韩影院在线观看| 性久久久久久久久| 亚洲超碰97人人做人人爱| 亚洲蜜臀av乱码久久精品| 国产精品乱人伦| 国产欧美日韩三级| 久久亚洲二区三区| 久久免费电影网| 日本一区二区在线不卡| 国产网站一区二区| 国产欧美日韩不卡免费| 欧美国产一区在线| 亚洲欧洲一区二区三区| 最新日韩av在线| 亚洲精选在线视频| 一卡二卡三卡日韩欧美| 亚洲一区二区av在线| 五月激情丁香一区二区三区| 日日欢夜夜爽一区| 日韩av在线播放中文字幕| 日本不卡一区二区| 蜜臂av日日欢夜夜爽一区| 国产伦精一区二区三区| 成人av午夜电影| 不卡在线视频中文字幕| 色婷婷国产精品| 欧美福利视频导航| 精品剧情在线观看| 中文字幕精品一区二区三区精品 | 性做久久久久久久久| 日韩主播视频在线| 精品一区二区在线视频| 成人免费视频app| 日本丶国产丶欧美色综合| 69精品人人人人| 久久久不卡网国产精品一区| 中文字幕日韩精品一区| 亚洲国产一区二区三区青草影视| 久久99精品国产麻豆婷婷 | 亚洲成人av一区| 国产中文字幕一区| 色综合天天综合网天天看片| 国产麻豆精品一区二区| 风间由美一区二区三区在线观看| 日本福利一区二区| 精品久久久久久久久久久久久久久久久| 中日韩免费视频中文字幕| 亚洲成a人片综合在线| 福利一区福利二区| 欧美福利一区二区| 亚洲欧洲av在线| 久久成人免费日本黄色| 欧美伊人精品成人久久综合97| 欧美大片拔萝卜| 亚洲综合激情另类小说区| 国产成人av影院|