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

📄 lcd1602.lst

📁 按键和lcd1602的C51程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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                                                               04/18/2009 11:51: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                                                               04/18/2009 11:51: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              uchar i,j;
 228                  uchar temp=123;
 229                  uchar tj[3];
 230              delay(10);
 231              lcd_init();                          //初始化LCD
 232                
 233              while(1)              
 234             { 
 235                lcd_clr();
 236                    tj[0]=temp/100+48;
 237                    tj[1]=(temp/10)%10+48;
 238                    tj[2]=temp%10+48;
 239          
 240                lcd_pos(0x00);               //设置显示位置为第一行第17列
 241                i = 0;
 242          
 243               while(dis1[i] != '\0')
 244               {                                      //显示字符"    Happy     "
 245                 lcd_wdat(dis1[i]);
 246                 i++;
 247               }
 248          
 249                lcd_pos(0x40);              //设置显示位置为第二行第17列
 250                i = 0;
 251          
 252               while(dis2[i] != '\0')
 253               {
 254                 lcd_wdat(dis2[i]);         //显示字符"    NEW YEAR    "
 255                 i++;
 256               }
 257                   
 258                   lcd_pos(0x02); 
 259                   i=0;
 260                    while(tj[i] != '\0')
 261               {
 262                 lcd_wdat(tj[i]);         //显示字符"    NEW YEAR    "
 263                 i++;
 264               }
 265                   delay(1000);
 266               for(j=0;j<16;j++)           //向左移动16格
 267               {
 268                 lcd_wcmd(0x18);           //字符同时左移一格
 269                 delay(100);                   //控制移动时间
C51 COMPILER V7.06   LCD1602                                                               04/18/2009 11:51:07 PAGE 6   

 270               }  
 271          
 272                flash();                            //闪动三次
 273                
 274             }
 275          }*/
 276          
 277          
 278          /**********************************结束*****************************/
 279          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    280    ----
   CONSTANT SIZE    =   ----    ----
   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 + -