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

📄 1602lcd_yd.c

📁 1602液晶显示可以移动显示文字的程序
💻 C
📖 第 1 页 / 共 2 页
字号:
    _nop_();                                                               
    _nop_();                                                               
    LCD_EN = 1;                                                            
    _nop_();                                                               
    _nop_();                                                               
    _nop_();                                                               
    _nop_();                                                               
    LCD_EN = 0;                                                            
}                                                                          
                                                                           
/*******************************************************************/      
/*                                                                         
/*  设定显示位置                                                           
/*                                                                         
/*******************************************************************/      
                                                                           
void lcd_pos(uchar pos)                                                    
{                                                                          
   lcd_wcmd(pos|0x80);      //数据指针=80+地址变量                         
}                                                                          
                                                                           
/*******************************************************************/      
/*                                                                         
/*  LCD初始化设定                                                          
/*                                                                         
/*******************************************************************/      
                                                                           
void lcd_init()                                                            
{                                                                          
    delay(15);                     //等待LCD电源稳定                       
    lcd_wcmd(0x38);          //16*2显示,5*7点阵,8位数据                  
    delay(5);                                                              
    lcd_wcmd(0x38);                                                        
    delay(5);                                                              
    lcd_wcmd(0x38);                                                        
    delay(5);                                                              
                                                                           
    lcd_wcmd(0x0c);          //显示开,关光标                              
    delay(5);                                                              
    lcd_wcmd(0x06);          //移动光标                                    
    delay(5);                                                              
    lcd_wcmd(0x01);          //清除LCD的显示内容                           
    delay(5);                                                              
}                                                                          
                                                                           
/*******************************************************************/      
/*                                                                         
/*  清屏子程序                                                             
/*                                                                         
/*******************************************************************/      
                                                                           
void lcd_clr()                                                             
{                                                                          
    lcd_wcmd(0x01);          //清除LCD的显示内容                           
    delay(5);                                                              
}                                                                          
                                                                           
/*******************************************************************/      
/*                                                                         
/*  闪动子程序                                                             
/*                                                                         
/*******************************************************************/      
                                                                           
void flash()                                                               
{                                                                          
    delay(600);                     //控制停留时间                         
    lcd_wcmd(0x08);            //关闭显示                                  
    delay(200);                    //延时                                  
    lcd_wcmd(0x0c);            //开显示                                    
    delay(200);                                                            
    lcd_wcmd(0x08);            //关闭显示                                  
    delay(200);                     //延时                                 
    lcd_wcmd(0x0c);            //开显示                                    
    delay(200);                                                            
}                                                                          
                                                                           
/*******************************************************************/      
/*                                                                         
/*  主程序                                                                 
/*                                                                         
/*******************************************************************/      
                                                                           
main()                                                                     
{                                                                          
    uchar i,j;                                                             
    delay(10);                                                             
    lcd_init();                          //初始化LCD                       
                                                                           
    while(1)                                                               
   {                                                                       
      lcd_clr();                                                           
                                                                           
      lcd_pos(0x10);               //设置显示位置为第一行第17列            
      i = 0;                                                               
                                                                           
     while(dis1[i] != '\0')                                                
     {                             //显示字符"    CHINESE     "   
       lcd_wdat(dis1[i]);                                                  
       i++;                                                                
     }                                                                     
                                                                           
      lcd_pos(0x50);              //设置显示位置为第二行第17列             
      i = 0;                                                               
                                                                           
     while(dis2[i] != '\0')                                                
     {                                                                     
       lcd_wdat(dis2[i]);         //显示字符"    NEW YEAR    "             
       i++;                                                                
     }                                                                     
                                                                           
     for(j=0;j<16;j++)           //向左移动16格                           
     {                                                                     
       lcd_wcmd(0x18);           //字符同时左移一格                        
       delay(100);               //控制移动时间                        
     }                                                                     
                                                                           
      flash();                    //闪动二次                       
                                                                           
   }                                                                       
}                                                                          
                                                                           
                                                                           
                                                                           
                                                                           

⌨️ 快捷键说明

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