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

📄 display.lst

📁 本程序功能: DDS文件夹内的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 198   2                      dis=ReadData(flag);
 199   2                      dis=GetDisplay();
 200   2              Set_Display_Add(start);
 201   2                      Display(~dis);
 202   2                 start++;
 203   2              }
 204   1      }
 205          
 206          void Set_Display_Add(unsigned int add){
 207   1                      flag=((add&0x40)==0x40);
 208   1                      SetCommand(0xb8+((add&0x380)>>7),flag);
 209   1                      SetCommand(0x40+(add&0x3f),flag);
 210   1                      Dispointer=add;
 211   1      }
 212          
 213          
 214          void SetCommand(unsigned char Command,bit CS)
 215          {
 216   1              EA=0;
 217   1              if(CS==0)
 218   1              {
 219   2              lcd_cs1=1;
 220   2              lcd_cs0=0;
 221   2              }
 222   1              else
 223   1              {
 224   2              lcd_cs1=0;
 225   2              lcd_cs0=1;
 226   2              }
 227   1              lcd_DC=0;
 228   1              P0=Command;
 229   1              lcd_rw=0;
 230   1              lcd_EN=0;
 231   1              lcd_EN=1;
 232   1              lcd_EN=0;
 233   1              lcd_cs1=1;
 234   1              lcd_cs0=1;
 235   1              lcddelay();
 236   1              EA=1;
 237   1      }
 238          
 239          void WriteData(unsigned char Data,bit CS){
C51 COMPILER V7.09   DISPLAY                                                               05/17/2006 14:57:10 PAGE 5   

 240   1              EA=0;
 241   1              if(CS==0)
 242   1              {
 243   2              lcd_cs1=1;
 244   2              lcd_cs0=0;
 245   2              }
 246   1              else
 247   1              {
 248   2              lcd_cs1=0;
 249   2              lcd_cs0=1;
 250   2              }
 251   1              lcd_DC=1;
 252   1              P0=Data;
 253   1              lcd_rw=0;
 254   1              lcd_EN=0;
 255   1              lcd_EN=1;
 256   1              lcd_EN=0;
 257   1              lcd_cs1=1;
 258   1              lcd_cs0=1;
 259   1              lcddelay();
 260   1              EA=1;
 261   1      }
 262          
 263          
 264          void cls(void){
 265   1      unsigned char data k,j;
 266   1              for(k=0;k<8;k++){
 267   2                      SetCommand(0xb8+k,1);
 268   2                      SetCommand(0x40,1);
 269   2                      for(j=0;j<64;j++){
 270   3                              WriteData(0x0,1);
 271   3                      }
 272   2                      SetCommand(0xb8+k,0);
 273   2                      SetCommand(0x40,0);
 274   2                      for(j=0;j<64;j++){
 275   3                              WriteData(0x0,0);
 276   3                      }
 277   2              }
 278   1      Set_Display_Add(0);
 279   1      }
 280          
 281          #if char_send
 282          
 283          void SendChar(unsigned char m)
 284          {
 285   1              switch (m>>4)
 286   1              {
 287   2                      case 0x00: putchar('0');
 288   2                                              break;
 289   2                      case 0x01: putchar('1');
 290   2                                              break;
 291   2                      case 0x02: putchar('2');
 292   2                                              break;
 293   2                      case 0x03: putchar('3');
 294   2                                              break;
 295   2                      case 0x04: putchar('4');
 296   2                                              break;
 297   2                      case 0x05: putchar('5');
 298   2                                              break;
 299   2                      case 0x06: putchar('6');
 300   2                                              break;
 301   2                      case 0x07: putchar('7');
C51 COMPILER V7.09   DISPLAY                                                               05/17/2006 14:57:10 PAGE 6   

 302   2                                              break;
 303   2                      case 0x08: putchar('8');
 304   2                                              break;
 305   2                      case 0x09: putchar('9');
 306   2                                              break;
 307   2                      case 0x0a: putchar('A');
 308   2                                              break;
 309   2                      case 0x0b: putchar('B');
 310   2                                              break;
 311   2                      case 0x0c: putchar('C');
 312   2                                              break;
 313   2                      case 0x0d: putchar('D');
 314   2                                              break;
 315   2                      case 0x0e: putchar('E');
 316   2                                              break;
 317   2                      case 0x0f: putchar('F');
 318   2                                              break;
 319   2                      default:break;
 320   2              }
 321   1              switch (m&0x0f)
 322   1              {
 323   2                      case 0x00: putchar('0');
 324   2                                              break;
 325   2                      case 0x01: putchar('1');
 326   2                                              break;
 327   2                      case 0x02: putchar('2');
 328   2                                              break;
 329   2                      case 0x03: putchar('3');
 330   2                                              break;
 331   2                      case 0x04: putchar('4');
 332   2                                              break;
 333   2                      case 0x05: putchar('5');
 334   2                                              break;
 335   2                      case 0x06: putchar('6');
 336   2                                              break;
 337   2                      case 0x07: putchar('7');
 338   2                                              break;
 339   2                      case 0x08: putchar('8');
 340   2                                              break;
 341   2                      case 0x09: putchar('9');
 342   2                                              break;
 343   2                      case 0x0a: putchar('A');
 344   2                                              break;
 345   2                      case 0x0b: putchar('B');
 346   2                                              break;
 347   2                      case 0x0c: putchar('C');
 348   2                                              break;
 349   2                      case 0x0d: putchar('D');
 350   2                                              break;
 351   2                      case 0x0e: putchar('E');
 352   2                                              break;
 353   2                      case 0x0f: putchar('F');
 354   2                                              break;
 355   2                      default:break;
 356   2              }
 357   1      }
 358          
 359          #endif
 360          
 361          #if int_send
 362          void SendInt(unsigned int m){
 363   1      SendChar(((unsigned char *)&m)[0]);
C51 COMPILER V7.09   DISPLAY                                                               05/17/2006 14:57:10 PAGE 7   

 364   1      SendChar(((unsigned char *)&m)[1]);
 365   1      }
 366          #endif
 367          
 368          
 369          #if long_send
 370          void SendLong(unsigned long m){
 371   1      SendChar(((unsigned char *)&m)[0]);
 372   1      SendChar(((unsigned char *)&m)[1]);
 373   1      SendChar(((unsigned char *)&m)[2]);
 374   1      SendChar(((unsigned char *)&m)[3]);
 375   1      }
 376          
 377          #endif
 378          
 379          unsigned char ReadData(bit CS){
 380   1              if (CS==0){
 381   2              while((IRPort1&0x80)==0x80);
 382   2                      return DRPort1;
 383   2              }
 384   1              else{
 385   2              while((IRPort0&0x80)==0x80);
 386   2                      return DRPort0;
 387   2              }
 388   1      }
 389          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1127    ----
   CONSTANT SIZE    =   1288    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2      26
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       3
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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