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

📄 lcd1602.lst

📁 LCD1602驱动
💻 LST
📖 第 1 页 / 共 2 页
字号:
 136   1          P1 = 0x24;// LCD_EN = 1;
 137   1          lck = 1; 
 138   1      
 139   1          _nop_();
 140   1          _nop_();
 141   1          _nop_();
 142   1          _nop_();
 143   1      
 144   1          lck = 0;
 145   1          P1 = 0x00;//LCD_EN = 0; 
 146   1          lck = 1; 
 147   1      }
 148          
 149          /*******************************************************************/
 150          /*                                                                 */                                     
             -                           
 151          /*  设定显示位置                                                   */                                     
             -                     
 152          /*                                                                 */                                     
             -                           
 153          /*******************************************************************/
 154          
 155          void lcd_pos(uchar pos)  
 156          {                          
 157   1         lcd_wcmd(pos|0x80);      //数据指针=80+地址变量
C51 COMPILER V7.06   LCD1602                                                               06/17/2007 07:59:07 PAGE 4   

 158   1      }
 159          
 160          /*******************************************************************/
 161          /*                                                                 */                                     
             -                          
 162          /*  LCD初始化设定                                                  */                                     
             -                    
 163          /*                                                                 */                                     
             -                            
 164          /*******************************************************************/
 165          
 166          void lcd_init()
 167          { 
 168   1          delay(15);                     //等待LCD电源稳定        
 169   1          lcd_wcmd(0x38);          //16*2显示,5*7点阵,8位数据
 170   1          delay(5);
 171   1          lcd_wcmd(0x38);         
 172   1          delay(5);
 173   1          lcd_wcmd(0x38);         
 174   1          delay(5);
 175   1      
 176   1          lcd_wcmd(0x0c);          //显示开,关光标
 177   1          delay(5);
 178   1          lcd_wcmd(0x06);          //移动光标
 179   1          delay(5);
 180   1          lcd_wcmd(0x01);          //清除LCD的显示内容
 181   1          delay(5);
 182   1      }
 183          
 184          /*******************************************************************/
 185          /*                                                                 */                                     
             -                           
 186          /*  清屏子程序                                                     */                                     
             -                      
 187          /*                                                                 */                                     
             -                           
 188          /*******************************************************************/
 189          
 190          void lcd_clr()
 191          {
 192   1          lcd_wcmd(0x01);          //清除LCD的显示内容
 193   1          delay(5);
 194   1      }
 195          
 196          /*******************************************************************/
 197          /*                                                                 */                                     
             -                           
 198          /*  闪动子程序                                                     */                                     
             -                      
 199          /*                                                                 */                                     
             -                            
 200          /*******************************************************************/
 201          
 202          void flash()
 203          {
 204   1          delay(600);                //控制停留时间
 205   1          lcd_wcmd(0x08);            //关闭显示
 206   1          delay(100);                    //延时
 207   1          lcd_wcmd(0x0c);            //开显示
 208   1          delay(100);
 209   1          lcd_wcmd(0x08);            //关闭显示
 210   1          delay(100);                     //延时
C51 COMPILER V7.06   LCD1602                                                               06/17/2007 07:59:07 PAGE 5   

 211   1          lcd_wcmd(0x0c);            //开显示
 212   1          delay(100);
 213   1          lcd_wcmd(0x08);            //关闭显示
 214   1          delay(100);                     //延时
 215   1          lcd_wcmd(0x0c);            //开显示
 216   1          delay(100);
 217   1      }
 218          
 219          /*******************************************************************/
 220          /*                                                                 */                                     
             -                            
 221          /*  主程序                                                         */                                     
             -                        
 222          /*                                                                 */                                     
             -                            
 223          /*******************************************************************/
 224          
 225          main()
 226          {
 227   1          uchar i,j;
 228   1          delay(10);
 229   1          lcd_init();                          //初始化LCD
 230   1            
 231   1          while(1)              
 232   1         { 
 233   2            lcd_clr();
 234   2      
 235   2            lcd_pos(0x10);               //设置显示位置为第一行第17列
 236   2            i = 0;
 237   2      
 238   2           while(dis1[i] != '\0')
 239   2           {                                      //显示字符"    Happy     "
 240   3             lcd_wdat(dis1[i]);
 241   3             i++;
 242   3           }
 243   2      
 244   2            lcd_pos(0x50);              //设置显示位置为第二行第17列
 245   2            i = 0;
 246   2      
 247   2           while(dis2[i] != '\0')
 248   2           {
 249   3             lcd_wdat(dis2[i]);         //显示字符"    NEW YEAR    "
 250   3             i++;
 251   3           }
 252   2      
 253   2           for(j=0;j<16;j++)           //向左移动16格
 254   2           {
 255   3             lcd_wcmd(0x18);           //字符同时左移一格
 256   3             delay(100);                   //控制移动时间
 257   3           }  
 258   2      
 259   2            flash();                            //闪动三次
 260   2            
 261   2         }
 262   1      }
 263          
 264          
 265          /**********************************结束*****************************/
 266          


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.06   LCD1602                                                               06/17/2007 07:59:07 PAGE 6   

   CODE SIZE        =    358    ----
   CONSTANT SIZE    =     35    ----
   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 + -