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

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

?? charlcd.lst

?? 51 lcd時鐘 能調(diào)試 顯示字符 自己年仍修在得更好 包你滿意
?? LST
字號:
C51 COMPILER V7.20   CHARLCD                                                               08/13/2007 10:29:16 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE CHARLCD
OBJECT MODULE PLACED IN CharLCD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CharLCD.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          /*------------------------------------------------------------------
   3          
   4             CharLCD.C (v1.00)   16x2 字符液晶屏驅(qū)動程序
   5          
   6          ------------------------------------------------------------------*/
   7                              
   8          
   9          #include "CharLCD.h"
  10          
  11           
  12          
  13          //Change the following section accroding to you hardware
  14          #ifdef _LCDXADDR  
                  #define Lcd1602WCmdPort    (*(volatile uchar *)0x2000)  //E=1 RS=0 RW=0
                  #define Lcd1602RStatusPort (*(volatile uchar *)0x2001)  //E=1 RS=0 RW=1
                  #define Lcd1602WdataPort   (*(volatile uchar *)0x2002)  //E =1 RS=1 RW=0
                  #define Lcd1602RDataPort   (*(volatile uchar *)0x2003)  //E=1 RS=1 RW=1 
              #else
  20              #ifdef  _51   
  21                  sbit lcd_cs = P2^0;            //控制位
  22                  sbit lcd_rw = P2^1; 
  23                  sbit lcd_rs = P2^2;
  24                  #define DataPort      P0 
  25                  #define DataDirPort   P0  
  26                  #define StatePort     P0   
  27              #endif
  28            
  29              #ifdef _AVR 
                      #define lcd_cs          PORTC.0    //控制位以及其方向控制位
                      #define lcd_cs_dir_bit  DDRC.0
                      #define lcd_rw          PORTC.1 
                      #define lcd_rw_dir_bit  DDRC.1
                      #define lcd_rs          PORTC.2
                      #define lcd_rs_dir_bit  DDRC.2  
                      #define DataPort        PORTA
                      #define StatePort       PINA
                      #define DataDirPort     DDRA    
                  #endif     
  40          
  41          #endif 
  42          
  43                 
  44          // ------ Private constants ----------------------------------------    
  45          
  46          #define Busy 0x80 // 忙判別位  
  47          
  48            
  49          // ------ Private variables-----------------------------------------
  50          #ifdef  _51   
  51              code uchar* WrtieLcdErr =  "Display char outof range."; 
  52          #endif
  53          
  54          #ifdef  _AVR   
                  flash uchar* WrtieLcdErr =  "Display char outof range."; 
C51 COMPILER V7.20   CHARLCD                                                               08/13/2007 10:29:16 PAGE 2   

              #endif
  57          
  58          
  59          // ------ Private function prototypes ------------------------------
  60          static BOOL WaitTillNotBusy();
  61          static BOOL LocateXY(uchar posx,uchar posy); 
  62          static BOOL LcdWData(uchar dataW);
  63          static BOOL LcdWCMD(uchar CMD);
  64                    
  65          
  66          
  67          
  68                    
  69          
  70          /*------------------------------------------------------------------
  71          
  72            WaitTillNotBusy()
  73            檢測忙
  74          
  75          ------------------------------------------------------------------*/
  76          BOOL WaitTillNotBusy()
  77          { 
  78   1          uint delay = 0xffff;  
  79   1       
  80   1          #ifdef _LCDXADDR 
                      while( (Lcd1602RStatusPort & Busy) && delay )
                          delay--;
                            
                      if (!delay)  
                          return FALSE;
                             
                  #else
  88   1              #ifdef _AVR         
                          DataDirPort = 0x00;              
                      #endif   
  91   1          
  92   1              #ifdef _51    
  93   1                  DataDirPort = 0xff; 
  94   1              #endif  
  95   1                                
  96   1              lcd_cs = 1;
  97   1              lcd_rs = 0;
  98   1              lcd_rw = 1;
  99   1              while( (StatePort & Busy) && delay)
 100   1                  delay--;
 101   1              lcd_cs = 0;  
 102   1              if (!delay)  
 103   1                  return FALSE ; 
 104   1          #endif   
 105   1          
 106   1          return TRUE; 
 107   1      }      
 108          
 109          
 110          
 111          
 112          /*------------------------------------------------------------------
 113          
 114            LocateXY()
 115           顯示光標定位
 116          
 117          ------------------------------------------------------------------*/
C51 COMPILER V7.20   CHARLCD                                                               08/13/2007 10:29:16 PAGE 3   

 118          BOOL LocateXY( uchar posx,uchar posy)
 119          {
 120   1          posy &= 0x01;
 121   1          if (posy == 1)
 122   1              posx |= 0x40;
 123   1          posx |= 0x80;
 124   1          
 125   1          
 126   1          return LcdWCMD(posx);   
 127   1      }
 128          
 129          
 130           
 131          
 132          
 133          /*------------------------------------------------------------------
 134          
 135            LcdWCMD()
 136           寫控制字符子程序: E=1 RS=0 RW=0
 137          
 138          ------------------------------------------------------------------*/
 139          BOOL LcdWCMD(uchar CMD) 
 140          {        
 141   1          #ifdef _LCDXADDR               
                      if (!WaitTillNotBusy()) // 檢測忙信號? 
                          return FALSE;
                      Lcd1602WCmdPort = CMD; 
                         
                  #else 
 147   1              uchar i=1;
 148   1                                  
 149   1              if (!WaitTillNotBusy()) // 檢測忙信號? 
 150   1                  return FALSE;    
 151   1                
 152   1              #ifdef _AVR         
                          DataDirPort = 0xff;              
                      #endif   
 155   1                                       
 156   1              DataPort = CMD;
 157   1              lcd_rs = 0;
 158   1              lcd_rw = 0;
 159   1              lcd_cs = 1;
 160   1              while(i++);
 161   1              lcd_cs = 0;  
 162   1          
 163   1          #endif
 164   1          
 165   1          return TRUE;
 166   1      }
 167          
 168             
 169          
 170          
 171          /*------------------------------------------------------------------
 172          
 173            LcdWData()
 174           當前位置寫字符子程序: E =1 RS=1 RW=0
 175          
 176          ------------------------------------------------------------------*/
 177          BOOL LcdWData( uchar dataW ) 
 178          {    
 179   1          #ifdef _LCDXADDR  
C51 COMPILER V7.20   CHARLCD                                                               08/13/2007 10:29:16 PAGE 4   

                      if (!WaitTillNotBusy()) // 檢測忙信號? 
                          return FALSE;
                      Lcd1602WdataPort = dataW;
                  
                  #else       
 185   1              uchar i = 1;
 186   1               
 187   1              if (!WaitTillNotBusy()) // 檢測忙信號? 
 188   1                  return FALSE; 
 189   1              
 190   1              #ifdef _AVR         
                          DataDirPort = 0xff;              
                      #endif        
 193   1              
 194   1              DataPort = dataW;
 195   1              lcd_rs = 1;
 196   1              lcd_rw = 0;
 197   1              lcd_cs = 1;
 198   1              while(i++);
 199   1              lcd_cs = 0;   
 200   1              
 201   1          #endif  
 202   1          
 203   1          return TRUE;
 204   1      } 
 205               
 206          
 207          
 208          
 209          /*------------------------------------------------------------------
 210          
 211            LCDInit()
 212           初始化程序, 必須按照產(chǎn)品資料介紹的初始化過程進行
 213          
 214          ------------------------------------------------------------------*/
 215          BOOL LCDInit() 
 216          {
 217   1          #ifdef _AVR 
                      #ifndef _LCDXADDR
                          lcd_cs_dir_bit = 1;
                          lcd_rw_dir_bit = 1;
                          lcd_rs_dir_bit = 1; 
                      #endif
                  #endif
 224   1          
 225   1          // 顯示模式設置,光標移動設置,顯示開及光標設置,顯示清屏 
 226   1          return (LcdWCMD( 0x38) && LcdWCMD( 0x06) && LcdWCMD( 0x0c) && LcdWCMD( 0x01));       
 227   1      
 228   1      }
 229             
 230              
 231          
 232          
 233          /*------------------------------------------------------------------
 234          
 235            DisplayOneChar()
 236           按指定位置顯示數(shù)出一個字符
 237          
 238          ------------------------------------------------------------------*/   
 239          BOOL DisplayOneChar(uchar x ,uchar y ,uchar Wdata) 
 240          {
 241   1         
C51 COMPILER V7.20   CHARLCD                                                               08/13/2007 10:29:16 PAGE 5   

 242   1          if( (x >= 0 && x < 16) && (y >= 0 && y < 2) )
 243   1              return (LocateXY( x, y ) && LcdWData( Wdata )) ;// 定位顯示地址,寫字符 
 244   1          else
 245   1              return ( LCDInit() && DisplayString(0, 0, WrtieLcdErr));    //顯示越界消息    
 246   1      }
 247          
 248          
 249          
 250          
 251          /*------------------------------------------------------------------
 252          
 253            DisplayString()
 254           從指定位置開始顯示一串字符
 255          
 256          ------------------------------------------------------------------*/
 257          BOOL DisplayString(uchar posx, uchar posy,  flash uchar*  str)
 258          {    
 259   1          while ( (*str) != '\0' )
 260   1          {
 261   2              if (!DisplayOneChar(posx, posy, (*str)))
 262   2                  return FALSE;
 263   2              str++;
 264   2              posx++;
 265   2              if( posx == 16 )
 266   2              {
 267   3                  posx = 0;
 268   3                  posy++;
 269   3      
 270   3              }
 271   2          }
 272   1          
 273   1          return TRUE;              
 274   1      }          
 275          
 276          
 277          /*------------------------------------------------------------------
 278            ---- END OF FILE -------------------------------------------------
 279          ------------------------------------------------------------------*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    271    ----
   CONSTANT SIZE    =     29    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄色av一区| 日韩精品中文字幕在线不卡尤物 | 日本高清视频一区二区| 国产精品毛片大码女人| www.日本不卡| 亚洲综合久久av| 欧美日韩黄色一区二区| 免费观看一级欧美片| 久久夜色精品国产噜噜av| 国产69精品久久久久毛片| 国产精品久久久久久久久久久免费看 | 国产呦精品一区二区三区网站| 精品成人一区二区三区四区| 粉嫩av一区二区三区| 亚洲柠檬福利资源导航| 欧美日韩五月天| 韩国精品免费视频| **性色生活片久久毛片| 欧美日韩久久久久久| 男女性色大片免费观看一区二区 | 日韩视频123| 极品美女销魂一区二区三区| 欧美韩国日本一区| 欧美日韩国产综合久久| 国产精品自拍网站| 亚洲一区二区三区四区在线| 欧美大胆一级视频| 91免费版在线| 狠狠色综合播放一区二区| 综合久久综合久久| 日韩美女在线视频| 91在线视频免费91| 美女精品自拍一二三四| 最新高清无码专区| 日韩精品资源二区在线| 色综合欧美在线视频区| 韩国成人福利片在线播放| 亚洲精品综合在线| 2022国产精品视频| 欧美日本视频在线| 不卡的电视剧免费网站有什么| 天堂精品中文字幕在线| 国产精品卡一卡二| 日韩欧美成人一区| 欧美午夜精品电影| av在线播放一区二区三区| 美女视频第一区二区三区免费观看网站| 国产精品久久精品日日| 91精品国产一区二区人妖| 99v久久综合狠狠综合久久| 看国产成人h片视频| 亚洲一区电影777| 国产精品日日摸夜夜摸av| 欧美一二三在线| 99久久精品免费看国产免费软件| 久久69国产一区二区蜜臀| 亚洲精品欧美在线| 国产精品久久三| 久久久精品中文字幕麻豆发布| 337p亚洲精品色噜噜噜| 色婷婷av一区二区三区之一色屋| 国产精品亚洲一区二区三区妖精 | 亚洲丝袜自拍清纯另类| 欧美精品一区二区三| 欧美一级淫片007| 欧美剧情片在线观看| 欧美亚洲一区三区| 一本到高清视频免费精品| thepron国产精品| 成人毛片老司机大片| 国产99久久久国产精品| 国产美女主播视频一区| 精品一区二区三区视频| 老司机精品视频在线| 美脚の诱脚舐め脚责91| 奇米影视一区二区三区小说| 天天操天天干天天综合网| 亚洲国产精品一区二区www在线| 亚洲美腿欧美偷拍| 亚洲欧美电影院| 一区2区3区在线看| 亚洲一区二区在线视频| 一区二区久久久| 亚洲成av人片在线| 日一区二区三区| 免费久久精品视频| 国产一区二区三区免费播放| 国产成人无遮挡在线视频| 国产精品一区二区三区网站| 国产精品一区在线观看乱码| 高清视频一区二区| 91天堂素人约啪| 欧美三级日韩三级国产三级| 欧美精品久久天天躁| 日韩欧美的一区| 国产欧美一区二区三区沐欲 | 国产jizzjizz一区二区| 国产91在线|亚洲| 97久久精品人人澡人人爽| 欧美在线|欧美| 日韩午夜小视频| 国产网红主播福利一区二区| 国产精品久久福利| 亚洲成人av中文| 激情综合亚洲精品| 97se亚洲国产综合自在线不卡 | 日韩一级视频免费观看在线| 欧美成人福利视频| 国产欧美视频一区二区三区| 国产精品成人免费在线| 午夜日韩在线电影| 国产在线麻豆精品观看| 97国产一区二区| 欧美一区二区国产| 国产精品久久久久久久久快鸭 | 884aa四虎影成人精品一区| 日韩欧美一区在线| 中文乱码免费一区二区| 亚洲国产裸拍裸体视频在线观看乱了| 麻豆国产一区二区| 99国产精品一区| 精品日韩在线一区| 亚洲精品高清在线观看| 精品无人码麻豆乱码1区2区| 一本一道波多野结衣一区二区| 日韩女优制服丝袜电影| 亚洲狼人国产精品| 国产一区999| 精品视频1区2区3区| 欧美极品aⅴ影院| 日本不卡视频在线观看| 成人午夜在线视频| 日韩美女在线视频 | 欧美人与性动xxxx| 中文子幕无线码一区tr| 日韩av一区二区在线影视| 91网站视频在线观看| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 久久精品网站免费观看| 亚洲一区二区精品3399| 国产麻豆9l精品三级站| 欧美日本一区二区三区四区 | 在线观看av不卡| 欧美国产一区二区在线观看| 亚洲成国产人片在线观看| 福利一区福利二区| 精品卡一卡二卡三卡四在线| 午夜精品久久久久久久久| 99视频国产精品| 国产日韩v精品一区二区| 蜜臀a∨国产成人精品| 欧美色图在线观看| 亚洲日本电影在线| 高清不卡一区二区| 久久久99精品免费观看| 久久成人18免费观看| 日韩欧美视频在线| 日本欧美一区二区| 欧美精品乱人伦久久久久久| 亚洲一线二线三线久久久| 色婷婷国产精品| 一区二区三区高清在线| 色综合久久久久久久久| 亚洲欧美视频在线观看| 成人免费视频一区二区| 欧美激情资源网| www.亚洲免费av| 国产精品美女久久久久久2018| 国产成人精品亚洲日本在线桃色| 久久综合99re88久久爱| 国产精品中文字幕日韩精品| 日韩欧美123| 国产真实乱子伦精品视频| 日韩欧美的一区| 韩国女主播一区| 国产日韩欧美不卡| av亚洲产国偷v产偷v自拍| 国产精品久久久99| 色就色 综合激情| 亚洲大片精品永久免费| 欧美精品三级在线观看| 秋霞午夜av一区二区三区| 在线91免费看| 久久91精品国产91久久小草| 久久人人爽人人爽| 成人avav影音| 亚洲欧美日韩在线播放| 欧美午夜片在线观看| 欧美aaaaa成人免费观看视频| 精品久久久久久久人人人人传媒 | 欧美日韩亚洲国产综合| 人人狠狠综合久久亚洲| 日韩精品在线网站| 成人午夜免费av| 一区二区三区小说| 日韩色在线观看| av欧美精品.com| 视频一区免费在线观看| 26uuu国产电影一区二区| gogogo免费视频观看亚洲一|