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

📄 led.lst

📁 led显示屏测试程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 194          uchar code xin1[]={
 195          /*--  调入了一幅图像:C:\Documents and Settings\jyn\桌面\148.bmp  --*/
 196          /*--  宽度x高度=32x16  --*/
 197          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xC3,0xFF,
 198          0xFF,0x03,0x81,0xFF,0xFE,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFF,
 199          0xFE,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x07,0xFF,
 200          0xFF,0xE0,0x0F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xFC,0x7F,0xFF};
 201          
 202          uchar code xin2[]={
 203          /*--  调入了一幅图像:C:\Documents and Settings\jyn\桌面\149.bmp  --*/
 204          /*--  宽度x高度=32x16  --*/
 205          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xC3,0xFF,
 206          0xFF,0x03,0x81,0xFF,0xFE,0x00,0x00,0xFF,0xFE,0x1C,0x70,0xFF,0xFE,0x33,0x98,0xFF,
 207          0xFE,0x31,0x18,0xFF,0xFF,0x18,0x31,0xFF,0xFF,0x8C,0x63,0xFF,0xFF,0xC6,0xC7,0xFF,
 208          0xFF,0xE3,0x8F,0xFF,0xFF,0xF1,0x1F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xFC,0x7F,0xFF};
 209          uchar code xin3[]={
 210          /*--  调入了一幅图像:C:\Documents and Settings\jyn\桌面\1410.bmp  --*/
 211          /*--  宽度x高度=32x16  --*/
 212          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xC3,0xFF,
 213          0xFF,0x03,0x81,0xFF,0xFE,0x3C,0x78,0xFF,0xFE,0x7E,0xFC,0xFF,0xFE,0x73,0x9C,0xFF,
 214          0xFE,0x71,0x1C,0xFF,0xFF,0x38,0x39,0xFF,0xFF,0x9C,0x73,0xFF,0xFF,0xCE,0xE7,0xFF,
 215          0xFF,0xE7,0xCF,0xFF,0xFF,0xF3,0x9F,0xFF,0xFF,0xF9,0x3F,0xFF,0xFF,0xFC,0x7F,0xFF};
 216          
 217          /**********************/
 218          
 219          void init_com()
 220             
 221            {SCON=0x50;
 222   1         TMOD=0x20;
 223   1         TH1=0xFA;
 224   1         TL1=0xFA;
 225   1         TH0=0;
 226   1         TL0=0;
 227   1         TCON=0x02;
 228   1         
 229   1         TR1=1;
 230   1         REN=1;
 231   1         EA=1;
 232   1         ES=1;
 233   1        }
 234          /********************************/
 235           void delay1(uint us)
 236            {uint i,j;
 237   1         for(i=0;i<us;i++)
 238   1         for(j=0;j<1000;j++);
 239   1      
 240   1         }
 241          /******************************/
C51 COMPILER V7.50   LED                                                                   09/02/2007 22:46:16 PAGE 5   

 242          
 243           void delay2(uint i)
 244           { 
 245   1         while(i!=0)i--;
 246   1       
 247   1       }
 248          
 249          
 250          /********************************/
 251          /* 发送8位数据到595
 252          /********************************/
 253          
 254          void send_8bit(uchar led_data,uchar t)
 255            {
 256   1         uchar i;      
 257   1         for(i=0;i<t;i++)
 258   1             {                
 259   2                  if(led_data&0x80)DI=1;
 260   2                      else DI=0;
 261   2                      CLK=1;                                                                                                                          
 262   2              led_data=led_data<<1;
 263   2                      CLK=0;                                                  
 264   2             }        
 265   1         }
 266          /********************************/
 267           void serial ()  interrupt 4 
 268          
 269          { uchar S=0;
 270   1      
 271   1        if(RI)
 272   1          {RI=0;
 273   2               LED[3]=SBUF;
 274   2               LED[0]=LED[1];
 275   2               LED[1]=LED[2];
 276   2               LED[2]=LED[3];
 277   2               if(RECODE==1)rx_buff[i++]=SBUF;
 278   2               if((LED[0]=='L')&(LED[1]=='E')&(LED[2]=='D')){RECODE=1;i=0;}
 279   2               if((LED[0]=='E')&(LED[1]=='N')&(LED[2]=='D')){RECODE=0;
 280   3                                                             if(rx_buff[i-4]=='L')LEFT=1;
 281   3                                                                                                         else if(rx_buff[i-4]=='R')RIGHT=1;
 282   3                                                                                                         lager=rx_buff[i-5];
 283   3                                                                                                         i=0;rx_over=1;}
 284   2               
 285   2               }
 286   1      
 287   1        if(TI)
 288   1           {  TI=0;
 289   2                  if(*(++tx_pointer)!='\0')
 290   2                                         
 291   2                                  SBUF=* tx_pointer;                                 
 292   2                                               
 293   2                  else    tx_complete=1;               //发送完毕后,置发送完成标志位!
 294   2                         
 295   2               }
 296   1      } 
 297          
 298          ///////////////////////////////
 299          //         发送命令子函数                //
 300          //                                                       //
 301          ///////////////////////////////
 302          
 303           void tx_string(uchar * buff)
C51 COMPILER V7.50   LED                                                                   09/02/2007 22:46:16 PAGE 6   

 304            {       
 305   1               uint i=0; 
 306   1                      
 307   1                 tx_pointer=buff;       
 308   1             SBUF=buff[0];    
 309   1                 while(tx_complete!=1){delay(1);      ++i;     //等待命令字节发送完毕!       
 310   2                                       if(i>500)break;
 311   2                                                               }        
 312   1        }     
 313          
 314                                    
 315          /**************************************************/
 316          /*      读数据到显示缓存
 317          /**************************************************/
 318           void DATA_TO_dispBUF(uchar number)
 319          {
 320   1       uchar i,j;
 321   1       for(i=0;i<16;i++)
 322   1       for(j=0;j<number;j++)
 323   1              {
 324   2               dispBUF[i*(number*2)+j*2]=MY_DATA[(number-j-1)*32+(i*2)+1];
 325   2               dispBUF[i*(number*2)+j*2+1]=MY_DATA[(number-j-1)*32+(i*2)];
 326   2               }
 327   1      }
 328          /***************************************************/
 329          /* 主函数
 330          /***************************************************/
 331          main()
 332          { uchar i,j,t=0;
 333   1        uchar a,b,c,d,e,f;               //'L''E''D''N''R'':'
 334   1        uchar L_R=1;
 335   1        uchar time=0;
 336   1        uchar N=0,M=0;
 337   1        uchar x=0; 
 338   1      //  init_com();
 339   1       // I_write(0,34);
 340   1      //  lager=I_read(0);  
 341   1      //  L_R=I_read(1);
 342   1       // for(i=0;i<(lager*32);i++)
 343   1      //       rx_buff[i]=I_read(i+2);
 344   1       
 345   1      
 346   1      
 347   1        P0=time;
 348   1        DATA_TO_dispBUF(3);  //装载
 349   1      /* for(i=0;i<16;i++) 
 350   1          { 
 351   1                dispBUF[i*4]=rx_buf[i*2+65];
 352   1                dispBUF[i*4+1]=rx_buf[i*2+64];
 353   1                dispBUF[i*4+2]=rx_buf[i*2+33];
 354   1                dispBUF[i*4+3]=rx_buf[i*2+32];
 355   1                dispBUF[i*4+4]=rx_buf[i*2+1];
 356   1                dispBUF[i*4+5]=rx_buf[i*2];      
 357   1               }              */
 358   1        while(1)
 359   1                                                  
 360   1               {             
 361   2                         if(rx_over==1)
 362   2                               {tx_string(OK);
 363   3                                I_write(0,lager);
 364   3                                        if(LEFT==1)I_write(1,1);
 365   3                                        else if(RIGHT==1)I_write(1,0);
C51 COMPILER V7.50   LED                                                                   09/02/2007 22:46:16 PAGE 7   

 366   3                                        lager=I_read(0);
 367   3                                        L_R=I_read(1);
 368   3                                      //  for(i=0;i<(lager*32);i++)
 369   3                                      //        I_write(i+2,rx_buff[i]);
 370   3                                        rx_over=0;
 371   3                                        }
 372   2      
 373   2                       /******************************************/
 374   2                       /*      显示部分
 375   2                       /******************************************/                      
 376   2                         
 377   2                       
 378   2                            {time=15;              
 379   3                         for(i=15;i>0;i--)
 380   3                              {
 381   4                                       a=i*6;                                 
 382   4                                   SCLK=0;                              
 383   4                                       send_8bit(dispBUF[a+2],8);
 384   4                                       send_8bit(dispBUF[a+3],8);
 385   4                                       send_8bit(dispBUF[a+4],8);
 386   4                                       send_8bit(dispBUF[a+5],8);                                                                                                                                         
 387   4                                   SCLK=1;
 388   4                                   P0=time;             
 389   4                                   time--;                                                            
 390   4                               }
 391   3                                      time=0;
 392   3                                      SCLK=0;                           
 393   3                                       send_8bit(dispBUF[0+2],8);
 394   3                                       send_8bit(dispBUF[0+3],8);
 395   3                                       send_8bit(dispBUF[0+4],8);

⌨️ 快捷键说明

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