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

📄 text1.lst

📁 个人单片机入门程序集合 。很适合刚学单片机的人。用的是keil proteus
💻 LST
📖 第 1 页 / 共 2 页
字号:
 242   3                                    }
 243   2                      delay(100);
 244   2                                      c=(a%1000)/100;
 245   2                      if(c!=0 || p==1)
 246   2                       {lcd1602_wrdata(c+0x30);
 247   3                                    }
 248   2                      delay(100);
 249   2                                      c=(a%100)/10;
 250   2                      if(c!=0 || p==1)
 251   2                       {lcd1602_wrdata(c+0x30);
 252   3                                    }
 253   2                      delay(100);
 254   2                          c=a%10+0x30;
 255   2                          lcd1602_wrdata(c);   
 256   2                                      delay(100);
 257   2                                      
 258   2                  }
 259   1      }
 260          
 261          void main()                                                                                                                                                      
 262          {       
 263   1         
 264   1          uchar i;
 265   1      //      uint t;
 266   1              uchar str[]="    welcome   ";
 267   1          uchar str0='7';
 268   1              uchar str1='4';
 269   1              uchar str2='1';
 270   1          uchar str3=' ';
 271   1              uchar str4='8';
 272   1              uchar str5='5';
 273   1          uchar str6='2';
 274   1              uchar str7='0';
 275   1              uchar str8='9';
 276   1          uchar str9='6';
 277   1              uchar str10='3';
 278   1              uchar str11='=';
 279   1              uchar str12='/';
 280   1              uchar str13='*';
 281   1          uchar str14='-';
 282   1              uchar str15='+';
 283   1              unsigned long c,a=0,b;
 284   1              uchar j;     //标记加减乘除
 285   1              
 286   1              
 287   1              
 288   1      
 289   1              unsigned char offset=0x80;   //定义一个偏移地址变量,lcd1602 写入控制字时用到
 290   1              unsigned char key;
 291   1      //      unsigned int count1=10;
 292   1      //      unsigned int count2=297;
 293   1              delay(2);
 294   1              lcd1602_bus=0xff;
 295   1              lcd1602_init();
 296   1          lcd1602_wrcmd(offset+0x00);
 297   1              for(i=0;i<12;i++)   lcd1602_wrdata(str[i]);    
 298   1          //  lcd1602_wrcmd(offset+0x40);
 299   1          //  for(i=0;i<11;i++)   lcd1602_wrdata(str02[i]);
 300   1      
 301   1      //      lcd1602_clear();
 302   1          while(1)
 303   1              {    
C51 COMPILER V7.20   TEXT1                                                                 07/16/2007 22:00:06 PAGE 6   

 304   2                         
 305   2                 
 306   2                         key=getkey_ii();
 307   2      //                 hexstoascii2(count1);
 308   2      //         hexstoascii3(count2);
 309   2                        if(key==0)
 310   2                              { 
 311   3                                      lcd1602_clear();
 312   3                          lcd1602_wrcmd(offset+0x00);
 313   3                                         
 314   3                                  a=a*10+7;
 315   3                          xianshi(a);  
 316   3                              //lcd1602_wrcmd(offset+0x40);
 317   3                              //      for(i=0;i<11;i++) lcd1602_wrdata(str12[i]);
 318   3                               }
 319   2                         else if (key==1)
 320   2                              { 
 321   3                                      lcd1602_clear();
 322   3                          lcd1602_wrcmd(offset+0x00);
 323   3                                                                      
 324   3                          lcd1602_wrcmd(0x0c);
 325   3                                       a=a*10+4;
 326   3                                       xianshi(a);  
 327   3                              //lcd1602_wrcmd(offset+0x40);
 328   3                                      //for(i=0;i<15;i++) lcd1602_wrdata(str22[i]);
 329   3                               }
 330   2                         else if (key==2)
 331   2                               {
 332   3                                      lcd1602_clear();
 333   3                          lcd1602_wrcmd(offset+0x00);
 334   3                            
 335   3                      a=a*10+1;
 336   3                                      xianshi(a);  
 337   3                            //  lcd1602_wrcmd(offset+0x40);
 338   3                              //      for(i=0;i<15;i++) lcd1602_wrdata(str31[i]);
 339   3                               }
 340   2                 else if (key==3)
 341   2                               {
 342   3                                      lcd1602_clear();
 343   3                          lcd1602_wrcmd(offset+0x00);
 344   3                          a=0; 
 345   3       
 346   3                  }
 347   2                 else if (key==4)
 348   2                               {
 349   3                                      lcd1602_clear();
 350   3                          lcd1602_wrcmd(offset+0x00);
 351   3                                      a=a*10+8;
 352   3                          xianshi(a);  
 353   3                  }
 354   2                 else if (key==5)
 355   2                               {
 356   3                                      lcd1602_clear();
 357   3                          lcd1602_wrcmd(offset+0x00);
 358   3                                      a=a*10+5;
 359   3                          xianshi(a);  
 360   3                  }
 361   2                  else if (key==6)
 362   2                               {
 363   3                                      lcd1602_clear();
 364   3                          lcd1602_wrcmd(offset+0x00);
 365   3                                      a=a*10+2;
C51 COMPILER V7.20   TEXT1                                                                 07/16/2007 22:00:06 PAGE 7   

 366   3                          xianshi(a);  
 367   3                  }
 368   2                              else if (key==7)
 369   2                               {
 370   3                                      lcd1602_clear();
 371   3                          lcd1602_wrcmd(offset+0x00);
 372   3                                      xianshi(a);  
 373   3                                      a=a*10+0;
 374   3                          lcd1602_wrdata(str7);
 375   3                  }
 376   2                              else if (key==8)
 377   2                               {
 378   3                                      lcd1602_clear();
 379   3                          lcd1602_wrcmd(offset+0x00);
 380   3                                      a=a*10+9;
 381   3                         xianshi(a);  
 382   3                  }
 383   2                              else if (key==9)
 384   2                               {
 385   3                                      lcd1602_clear();
 386   3                          lcd1602_wrcmd(offset+0x00);
 387   3                                      a=a*10+6;
 388   3                         xianshi(a);  
 389   3                  }
 390   2                              else if (key==10)
 391   2                               {
 392   3                                      lcd1602_clear();
 393   3                          lcd1602_wrcmd(offset+0x00);
 394   3                                      a=a*10+3;
 395   3                         xianshi(a);  
 396   3                  }
 397   2                              else if (key==11)
 398   2                               {  uchar p=0;
 399   3                                      lcd1602_clear();
 400   3                          lcd1602_wrcmd(offset+0x00);
 401   3                                      if (j==12)
 402   3                                  {
 403   4                                   c=b/a;
 404   4                                       xianshi(c);
 405   4                                       if (c==0) lcd1602_wrdata(0x30);
 406   4                      }
 407   3      
 408   3      
 409   3                      if (j==13)
 410   3                                  {
 411   4                                   c=b*a;
 412   4                                       xianshi(c);
 413   4                                       if (c==0) lcd1602_wrdata(0x30);
 414   4                      }
 415   3      
 416   3      
 417   3                                      if (j==14)
 418   3                                  {
 419   4                                   c=b-a;
 420   4                                       xianshi(c);
 421   4                                       if (c==0) lcd1602_wrdata(0x30);
 422   4                      }
 423   3      
 424   3                                      if (j==15)
 425   3                                  {
 426   4                                   c=b+a;
 427   4                                       xianshi(c);
C51 COMPILER V7.20   TEXT1                                                                 07/16/2007 22:00:06 PAGE 8   

 428   4                                       if (c==0) lcd1602_wrdata(0x30);
 429   4                      }
 430   3                      a=0;
 431   3                                      b=0;
 432   3      
 433   3                  }
 434   2                              else if (key==12)
 435   2                               {
 436   3                                      lcd1602_clear();
 437   3                          lcd1602_wrcmd(offset+0x00);
 438   3                          lcd1602_wrdata(str12);
 439   3                                      j=12;
 440   3                                      b=a;
 441   3                                      a=0;
 442   3                  }
 443   2                              else if (key==13)
 444   2                               {
 445   3                                      lcd1602_clear();
 446   3                          lcd1602_wrcmd(offset+0x00);
 447   3                          lcd1602_wrdata(str13);
 448   3                                      j=13;
 449   3                                      b=a;
 450   3                                      a=0;
 451   3                  }
 452   2                              else if (key==14)
 453   2                               {
 454   3                                      lcd1602_clear();
 455   3                          lcd1602_wrcmd(offset+0x00);
 456   3                          lcd1602_wrdata(str14);
 457   3                                      j=14;
 458   3                                      b=a;
 459   3                                      a=0;
 460   3                  }
 461   2                              else if (key==15)
 462   2                               {
 463   3                                      lcd1602_clear();
 464   3                          lcd1602_wrcmd(offset+0x00);
 465   3                          lcd1602_wrdata(str15);
 466   3                                      b=a;
 467   3                                      j=15;
 468   3                                      a=0;
 469   3                                      
 470   3                  }
 471   2      
 472   2      
 473   2      
 474   2                  }
 475   1      
 476   1      }
 477          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1917    ----
   CONSTANT SIZE    =    139    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      59
   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 + -