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

📄 text1.lst

📁 个人单片机入门程序集合 。很适合刚学单片机的人。用的是keil proteus
💻 LST
📖 第 1 页 / 共 3 页
字号:
 318   1      }
 319          
 320          
 321          
 322          
 323          /************向液晶片写数据***************/
 324          void lcd_wrdata( uchar lcddata)
 325          {
 326   1      
 327   1              while(lcd_busy());
 328   1              lcd_bus=lcddata;
 329   1              rs=1;
 330   1              rw=0;
 331   1              _nop_();
 332   1              e=1;
 333   1              _nop_();
 334   1              _nop_();
 335   1              e=0;
 336   1      }
 337          
 338          
 339          void lcd_ini(void)
 340          {
 341   1      
 342   1              lcd_wrcmd(0x38); 
 343   1              delay(100);
 344   1              lcd_wrcmd(0x0c);
 345   1                      delay(100);
 346   1              lcd_wrcmd(0x06);
 347   1                      delay(100);
 348   1              lcd_wrcmd(0x01);
 349   1                      delay(100);
 350   1      }
 351          
 352          uchar key()
 353          {
 354   1          uchar keycode=0xff,temp,i;
 355   1          key_bus=0x0f;
 356   1              temp=key_bus&0x0f; 
 357   1              if(temp!=0x0f)                 //有键按下
 358   1              {
 359   2                  key_bus=0x7f;
 360   2                  for(i=0;i<4;i++)
 361   2                      {
 362   3                              temp=key_bus&0x0f;
 363   3                  if(temp==0x07)
 364   3                      {    
 365   4                                  keycode=i*4;
C51 COMPILER V7.20   TEXT1                                                                 07/31/2007 15:31:44 PAGE 7   

 366   4                                      break;
 367   4                              }
 368   3                      else if(temp==0x0b)
 369   3                              {
 370   4                          keycode=i*4+1;
 371   4                                      break;
 372   4                              }
 373   3                  else if(temp==0x0d)
 374   3                              {
 375   4                          keycode=i*4+2;
 376   4                                      break;
 377   4                              }
 378   3                  else if(temp==0x0e)
 379   3                              {
 380   4                          keycode=i*4+3;
 381   4                                      break;
 382   4                              }
 383   3                              key_bus=(key_bus>>1)|0x80;
 384   3                      }
 385   2      
 386   2                   while((key_bus&0x0f)!=0x0f)   //等待释放
 387   2                       {
 388   3                           key_bus=0x0f; 
 389   3                       }
 390   2                                                                                                   
 391   2                  
 392   2               }
 393   1               return keycode;
 394   1      }
 395          
 396          
 397          void display(uchar cmd,uchar code *str)
 398          {
 399   1              uchar i=0;
 400   1                      lcd_wrcmd(cmd);
 401   1                      while(str[i]!='\0')
 402   1                      {
 403   2                          lcd_wrdata(str[i]);
 404   2                              i++;                                
 405   2                      }
 406   1      }
 407          main()
 408          {
 409   1              uint i;
 410   1              uchar tt;
 411   1          uchar code str[]="IDT7132 CE=1";
 412   1              en=0;ce=0;
 413   1              for(i=0;i<2048;i++) sin1[i]=Rom[i];
 414   1          ce=1;
 415   1              lcd_ini();
 416   1          temp = sin1[1];
 417   1              lcd_wrcmd(0xc0);
 418   1              lcd_wrdata(0x30+temp/100);
 419   1          lcd_wrdata(0x30+temp/10%10);
 420   1              lcd_wrdata(0x30+temp%10);
 421   1      
 422   1              temp=sin1[44];
 423   1              lcd_wrcmd(0xc4);
 424   1              lcd_wrdata(0x30+temp/100);
 425   1          lcd_wrdata(0x30+temp/10%10);
 426   1              lcd_wrdata(0x30+temp%10);
 427   1      
C51 COMPILER V7.20   TEXT1                                                                 07/31/2007 15:31:44 PAGE 8   

 428   1              display(0x80,str);
 429   1              en=1;   
 430   1              while(1)
 431   1              {
 432   2                  tt=key();
 433   2                      if(tt==0)
 434   2                      {
 435   3      
 436   3                          en=0;ce=0;
 437   3                      for(i=0;i<2048;i++) sin1[i]=Rom1[i];
 438   3                  ce=1;en=1;
 439   3                      }
 440   2                      else if(tt==1)
 441   2                      {  
 442   3                         en=0;ce=0;
 443   3                     for(i=0;i<2048;i++) sin1[i]=Rom[i];
 444   3                 ce=1; en=1;
 445   3                      }
 446   2                      else if(tt==2)
 447   2                      {  
 448   3                         en=0;ce=0;
 449   3                     for(i=0;i<2048;i++) sin1[i]=(Rom[i]/2+Rom1[i]/2);
 450   3                 ce=1; en=1;
 451   3                      }
 452   2                      else if(tt==3)
 453   2                      {  
 454   3                         en=0;ce=0;
 455   3                     for(i=0;i<2048;i++) sin1[i]=Rom[i]*Rom1[i];
 456   3                 ce=1; en=1;
 457   3                      }
 458   2                      else if(tt==4)
 459   2                      {  
 460   3                         en=0;ce=0;
 461   3                     for(i=0;i<2048;i++) sin1[i]=Rom[i]-Rom1[i];
 462   3                 ce=1; en=1;
 463   3                      }
 464   2      
 465   2              }
 466   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    723    ----
   CONSTANT SIZE    =   4109    ----
   XDATA SIZE       =   2048    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       2
   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 + -