⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1602lcd_yd.lst

📁 1602液晶显示可以移动显示文字的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 129   1          _nop_();                                                               
 130   1          _nop_();                                                               
 131   1          _nop_();                                                               
 132   1          _nop_();                                                               
 133   1          LCD_EN = 0;                                                            
 134   1      }                                                                          
 135                                                                                     
 136          /*******************************************************************/      
 137          /*                                                                         
 138          /*  设定显示位置                                                           
 139          /*                                                                         
 140          /*******************************************************************/      
 141                                                                                     
 142          void lcd_pos(uchar pos)                                                    
 143          {                                                                          
 144   1         lcd_wcmd(pos|0x80);      //数据指针=80+地址变量                         
 145   1      }                                                                          
 146                                                                                     
 147          /*******************************************************************/      
 148          /*                                                                         
 149          /*  LCD初始化设定                                                          
 150          /*                                                                         
 151          /*******************************************************************/      
 152                                                                                     
 153          void lcd_init()                                                            
 154          {                                                                          
 155   1          delay(15);                     //等待LCD电源稳定                       
 156   1          lcd_wcmd(0x38);          //16*2显示,5*7点阵,8位数据                  
 157   1          delay(5);                                                              
 158   1          lcd_wcmd(0x38);                                                        
 159   1          delay(5);                                                              
 160   1          lcd_wcmd(0x38);                                                        
 161   1          delay(5);                                                              
 162   1                                                                                 
 163   1          lcd_wcmd(0x0c);          //显示开,关光标                              
 164   1          delay(5);                                                              
 165   1          lcd_wcmd(0x06);          //移动光标                                    
 166   1          delay(5);                                                              
 167   1          lcd_wcmd(0x01);          //清除LCD的显示内容                           
 168   1          delay(5);                                                              
 169   1      }                                                                          
 170                                                                                     
 171          /*******************************************************************/      
 172          /*                                                                         
 173          /*  清屏子程序                                                             
 174          /*                                                                         
 175          /*******************************************************************/      
 176                                                                                     
 177          void lcd_clr()                                                             
 178          {                                                                          
 179   1          lcd_wcmd(0x01);          //清除LCD的显示内容                           
C51 COMPILER V8.05a   1602LCD_YD                                                           11/23/2006 15:18:20 PAGE 4   

 180   1          delay(5);                                                              
 181   1      }                                                                          
 182                                                                                     
 183          /*******************************************************************/      
 184          /*                                                                         
 185          /*  闪动子程序                                                             
 186          /*                                                                         
 187          /*******************************************************************/      
 188                                                                                     
 189          void flash()                                                               
 190          {                                                                          
 191   1          delay(600);                     //控制停留时间                         
 192   1          lcd_wcmd(0x08);            //关闭显示                                  
 193   1          delay(200);                    //延时                                  
 194   1          lcd_wcmd(0x0c);            //开显示                                    
 195   1          delay(200);                                                            
 196   1          lcd_wcmd(0x08);            //关闭显示                                  
 197   1          delay(200);                     //延时                                 
 198   1          lcd_wcmd(0x0c);            //开显示                                    
 199   1          delay(200);                                                            
 200   1      }                                                                          
 201                                                                                     
 202          /*******************************************************************/      
 203          /*                                                                         
 204          /*  主程序                                                                 
 205          /*                                                                         
 206          /*******************************************************************/      
 207                                                                                     
 208          main()                                                                     
 209          {                                                                          
 210   1          uchar i,j;                                                             
 211   1          delay(10);                                                             
 212   1          lcd_init();                          //初始化LCD                       
 213   1                                                                                 
 214   1          while(1)                                                               
 215   1         {                                                                       
 216   2            lcd_clr();                                                           
 217   2                                                                                 
 218   2            lcd_pos(0x10);               //设置显示位置为第一行第17列            
 219   2            i = 0;                                                               
 220   2                                                                                 
 221   2           while(dis1[i] != '\0')                                                
 222   2           {                             //显示字符"    CHINESE     "   
 223   3             lcd_wdat(dis1[i]);                                                  
 224   3             i++;                                                                
 225   3           }                                                                     
 226   2                                                                                 
 227   2            lcd_pos(0x50);              //设置显示位置为第二行第17列             
 228   2            i = 0;                                                               
 229   2                                                                                 
 230   2           while(dis2[i] != '\0')                                                
 231   2           {                                                                     
 232   3             lcd_wdat(dis2[i]);         //显示字符"    NEW YEAR    "             
 233   3             i++;                                                                
 234   3           }                                                                     
 235   2                                                                                 
 236   2           for(j=0;j<16;j++)           //向左移动16格                           
 237   2           {                                                                     
 238   3             lcd_wcmd(0x18);           //字符同时左移一格                        
 239   3             delay(100);               //控制移动时间                        
 240   3           }                                                                     
 241   2                                                                                 
C51 COMPILER V8.05a   1602LCD_YD                                                           11/23/2006 15:18:20 PAGE 5   

 242   2            flash();                    //闪动二次                       
 243   2                                                                                 
 244   2         }                                                                       
 245   1      }                                                                          
 246                                                                                     
 247                                                                                     
 248                                                                                     
 249                                                                                     


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    316    ----
   CONSTANT SIZE    =     34    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -