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

📄 led2.lst

📁 该程序可以实现用595与154结合51单片机的16*32LED点阵左右滚动。
💻 LST
📖 第 1 页 / 共 3 页
字号:
 482   1          T_RST = 1;
 483   1          RTInputByte(ucAddr);       /* 地址,命令 */
 484   1          RTInputByte(ucDa);       /* 写1Byte数据*/
 485   1          T_CLK = 1;
 486   1          T_RST = 0;
 487   1      }
 488          /********************************************************************
 489          函 数 名:R1302()
C51 COMPILER V8.05a   LED2                                                                 09/21/2008 11:39:51 PAGE 9   

 490          功    能:读取DS1302某地址的数据
 491          说    明:先写地址,后读命令/数据 (内部函数)
 492          调    用:RTInputByte() , RTOutputByte()
 493          入口参数:ucAddr: DS1302地址
 494          返 回 值:ucData :读取的数据
 495          ***********************************************************************/
 496          uchar R1302(uchar ucAddr)
 497          {
 498   1          uchar ucData;
 499   1          T_RST = 0;
 500   1          T_CLK = 0;
 501   1          T_RST = 1;
 502   1          RTInputByte(ucAddr);             /* 地址,命令 */
 503   1          ucData = RTOutputByte();         /* 读1Byte数据 */
 504   1          T_CLK = 1;
 505   1          T_RST = 0;
 506   1          return(ucData);
 507   1      }
 508          
 509          /********************************************************************
 510          函 数 名:Set1302()
 511          功    能:设置初始时间
 512          说    明:先写地址,后读命令/数据(寄存器多字节方式)
 513          调    用:W1302()
 514          入口参数:pClock: 设置时钟数据地址 格式为: 秒 分 时 日 月 星期 年
 515                                         7Byte (BCD码)1B 1B 1B 1B 1B  1B  1B
 516          返 回 值:无
 517          ***********************************************************************/
 518          void Set1302(uchar *pClock)
 519          {
 520   1          uchar h;
 521   1          uchar ucAddr = 0x80;
 522   1          W1302(0x8e,0x00);           /* 控制命令,WP=0,写操作?*/
 523   1          for(h =7; h>0; h--)
 524   1          {
 525   2              W1302(ucAddr,*pClock);  /* 秒 分 时 日 月 星期 年 */
 526   2              pClock++;
 527   2              ucAddr +=2;
 528   2          }
 529   1              W1302(0xc0,0x01);
 530   1              W1302(0XC2,0X03);                       //初始自动转换显示时间为3秒。
 531   1          W1302(0x8e,0x80);           /* 控制命令,WP=1,写保护?*/
 532   1      
 533   1      }
 534          /******************读取DS1302中的时间****************/
 535          void du1302()
 536          {
 537   1            Sec=R1302(0x81);   //对取 秒 分 时 日 月 星期 年
 538   1                Cent=R1302(0x83);
 539   1                Hour=R1302(0x85);
 540   1                Day=R1302(0x87);
 541   1                Month=R1302(0x89);
 542   1                Week=R1302(0x8b);
 543   1                Year=R1302(0x8d);
 544   1              
 545   1      
 546   1      }
 547          
 548           
 549          unsigned char code time[][16]={            /*0~9字符*/
 550          
 551          {
C51 COMPILER V8.05a   LED2                                                                 09/21/2008 11:39:51 PAGE 10  

 552          /*------------------------------------------------------------------------------
 553          ;  源文件 / 文字: 0
 554          
 555          ;  宽×高(像素) : 16×8
 556          ------------------------------------------------------------------------------*/
 557            0x00,0x00,0x3C,0x42,0x81,0x81,0x81,0x81,
 558            0x81,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,
 559           
 560          },
 561          
 562          
 563          
 564          {
 565          /*------------------------------------------------------------------------------
 566          ;  源文件 / 文字: 1
 567          
 568          ;  宽×高(像素) : 16×8
 569          ------------------------------------------------------------------------------*/
 570            0x00,0x00,0x08,0x08,0x38,0x08,0x08,0x08,
 571            0x08,0x08,0x08,0x08,0x3E,0x00,0x00,0x00,
 572           
 573          },
 574          
 575          {
 576          /*------------------------------------------------------------------------------
 577          ;  源文件 / 文字: 2
 578          
 579          ;  宽×高(像素) : 16×8
 580          ------------------------------------------------------------------------------*/
 581            0x00,0x00,0x7C,0x82,0x01,0x01,0x01,0x02,
 582            0x04,0x18,0x60,0x80,0xFF,0x00,0x00,0x00,
 583           
 584          },
 585          
 586          {
 587          /*------------------------------------------------------------------------------
 588          ;  源文件 / 文字: 3
 589          
 590          ;  宽×高(像素) : 16×8
 591          ------------------------------------------------------------------------------*/
 592            0x00,0x00,0x7E,0x81,0x01,0x02,0x1C,0x02,
 593            0x01,0x01,0x01,0x82,0x7C,0x00,0x00,0x00,
 594           
 595          },
 596          
 597          {
 598          /*------------------------------------------------------------------------------
 599          ;  源文件 / 文字: 4
 600          
 601          ;  宽×高(像素) : 16×8
 602          ------------------------------------------------------------------------------*/
 603            0x00,0x00,0x02,0x06,0x0A,0x12,0x22,0x42,
 604            0x82,0xFF,0x02,0x02,0x02,0x00,0x00,0x00,
 605           
 606          },
 607          
 608          {
 609          /*------------------------------------------------------------------------------
 610          ;  源文件 / 文字: 5
 611          
 612          ;  宽×高(像素) : 16×8
 613          ------------------------------------------------------------------------------*/
C51 COMPILER V8.05a   LED2                                                                 09/21/2008 11:39:51 PAGE 11  

 614            0x00,0x00,0x7F,0x40,0x40,0x40,0x7C,0x02,
 615            0x01,0x01,0x01,0x82,0x7C,0x00,0x00,0x00,
 616           
 617          },
 618          
 619          {
 620          /*------------------------------------------------------------------------------
 621          ;  源文件 / 文字: 6
 622          ;  宽×高(像素) : 16×8
 623          ------------------------------------------------------------------------------*/
 624            0x00,0x00,0x1E,0x20,0x40,0x80,0xBC,0xC2,
 625            0x81,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,
 626           
 627          },
 628          
 629          {
 630          /*------------------------------------------------------------------------------
 631          ;  源文件 / 文字: 7
 632          ;  宽×高(像素) : 16×8
 633          ------------------------------------------------------------------------------*/
 634            0x00,0x00,0x7F,0x01,0x02,0x02,0x04,0x04,
 635            0x08,0x08,0x10,0x10,0x20,0x00,0x00,0x00,
 636           
 637          },
 638          
 639          {
 640          /*------------------------------------------------------------------------------
 641          ;  源文件 / 文字: 8
 642          ;  宽×高(像素) : 16×8
 643          ------------------------------------------------------------------------------*/
 644            0x00,0x00,0x3C,0x42,0x81,0x81,0x42,0x3C,
 645            0x42,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,
 646           
 647          },
 648          
 649          {
 650          /*------------------------------------------------------------------------------
 651          ;  源文件 / 文字: 9
 652          ;  宽×高(像素) : 16×8
 653          ------------------------------------------------------------------------------*/
 654            0x00,0x00,0x3C,0x42,0x81,0x81,0x81,0x41,
 655            0x3F,0x01,0x02,0x04,0x78,0x00,0x00,0x00,
 656           
 657          },
 658          
 659          {
 660          /*------------------------------------------------------------------------------
 661          ;  源文件 / 文字: :
 662          ;  宽×高(像素) : 16×8
 663          ------------------------------------------------------------------------------*/
 664            0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,
 665            0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
 666           
 667          },
 668          
 669           
 670          }; 
 671          void showtime(uchar shijian)
 672          {
 673   1       uchar l,k;
 674   1               for(k=1;k<9;k++)
 675   1                  {
C51 COMPILER V8.05a   LED2                                                                 09/21/2008 11:39:51 PAGE 12  

 676   2                   for(l=0;l<16;l++)
 677   2                      {
 678   3                       dispram[l*BLKN]=dispram[l*BLKN]
 679   3      <<1|dispram[l*BLKN+1]>>7;
 680   3                           dispram[l*BLKN+1]=dispram[l*BLKN+1]
 681   3      <<1|dispram0[l*BLKN]>>7;
 682   3                       dispram0[l*BLKN]=dispram0[l*BLKN]
 683   3      <<1|dispram0[l*BLKN+1]>>7;
 684   3                       dispram0[l*BLKN+1]=dispram0[l*BLKN+1]
 685   3      <<1|time[shijian/16][l]>>(8-k);
 686   3                       }
 687   2                   delay(100);
 688   2                               }
 689   1                               for(k=1;k<9;k++)
 690   1                  {
 691   2                   for(l=0;l<16;l++)
 692   2                      {
 693   3                       dispram[l*BLKN]=dispram[l*BLKN]
 694   3      <<1|dispram[l*BLKN+1]>>7;
 695   3                           dispram[l*BLKN+1]=dispram[l*BLKN+1]
 696   3      <<1|dispram0[l*BLKN]>>7;
 697   3                       dispram0[l*BLKN]=dispram0[l*BLKN]
 698   3      <<1|dispram0[l*BLKN+1]>>7;
 699   3                       dispram0[l*BLKN+1]=dispram0[l*BLKN+1]
 700   3      <<1|time[shijian%16][l]>>(8-k);
 701   3                       }
 702   2                   delay(100);
 703   2                               }
 704   1                               }
 705          
 706          
 707          
 708           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1550    ----
   CONSTANT SIZE    =   1040    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     78       6
   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 + -