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

📄 text2.lst

📁 能够显示32个汉字的LED大屏显示的单片机源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 633          {
 634   1                      unsigned char i;
 635   1                      for(i=0;i<128;i++)
 636   1                      {
 637   2                              shift_ee3(i,picturenumber);
 638   2                              delay(20);
 639   2                      }
 640   1      }
 641          void clr_display(void)
 642          {
 643   1                      unsigned char i;
 644   1                      unsigned int  j;
 645   1                      CNTB_245=1;
 646   1                      CNTA_245=0;
 647   1                      SELECT0=0;
 648   1                      for(j=0;j<192;j++)
 649   1                      {
 650   2                              for(i=0;i<4;i++)
 651   2                              yyj[j*8+i]=0;
 652   2                      }
 653   1                      for(j=4032;j<4096;j++)
 654   1                      {
 655   2                              for(i=0;i<4;i++)
 656   2                              {
 657   3                                      yyj[j*8+i]=0;
 658   3                              }
 659   2                      }
 660   1                      CNTB_245=0;
 661   1                      CNTA_245=1;
 662   1                      SELECT0=1;
 663   1      }
 664          //test cpld ram program////////////////////////////////////////////
 665          void test_cpldram(void)
 666          {
 667   1                      unsigned int i;
 668   1                      SRAM1_E=1;
 669   1                      CNTB_245=1;
 670   1                      CNTA_245=0;
 671   1                      SELECT0=0;
 672   1                      clr_display();
 673   1                      for(i=1;i<128;i++)
C51 COMPILER V7.06   TEXT2                                                                 07/24/2006 16:19:54 PAGE 12  

 674   1                      {
 675   2                              display_line(i);
 676   2                              delay(10);
 677   2                      }
 678   1                      CNTB_245=1;
 679   1                      CNTA_245=0;
 680   1                      SELECT0=0;
 681   1                      clr_line(127);
 682   1                      CNTB_245=0;
 683   1                      CNTA_245=1;
 684   1                      SELECT0=1;
 685   1      }
 686          /*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 687                          uart interrupt 4
 688                          receive_send
 689          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
 690          void receive_send() interrupt 4
 691          {
 692   1                      unsigned char s,i;
 693   1                      unsigned char bcc=0;
 694   1                      ES=0;
 695   1                      if(RI)
 696   1                      {
 697   2                              RI=0;
 698   2                              s=SBUF;
 699   2                              if((rxhead==0)&&(s!=0xff))
 700   2                              {
 701   3                                      rxhead=0;
 702   3                                      ES=1;
 703   3                              }
 704   2                              if((rxhead==1)&&(s!=LOCAL_PORT))
 705   2                              {
 706   3                                      rxhead=0;
 707   3                                      ES=1;
 708   3                              }
 709   2      
 710   2                              receive_buf1[rxhead++]=s;
 711   2                              if(rxhead==32)
 712   2                              {
 713   3                                      for(i=0;i<29;i++)
 714   3                                      bcc=bcc^receive_buf1[2+i];      
 715   3                                      
 716   3                                      if(bcc==receive_buf1[31])
 717   3                                      {
 718   4                                              rxhead=0;
 719   4                                              for(i=0;i<29;i++)
 720   4                                              {
 721   5                                                      receive_buf1[i]=receive_buf1[i+2];
 722   5                                              }
 723   4                                              
 724   4                                              receive_flag=1;
 725   4                                              ES=1;
 726   4                                      }
 727   3                                      else
 728   3                                      {
 729   4                                              rxhead=0;
 730   4                                              ES=1;
 731   4                                      }
 732   3                              }
 733   2      
 734   2                              
 735   2                      }
C51 COMPILER V7.06   TEXT2                                                                 07/24/2006 16:19:54 PAGE 13  

 736   1                      else if(TI)
 737   1                      {
 738   2                              TI=0;
 739   2                              if(receive_count>=4);
 740   2                              else
 741   2                                      {
 742   3                                      if(receive_count++==3) 
 743   3                                      SBUF=receive_bcc;
 744   3      
 745   3                                      }
 746   2                      }
 747   1                      ES=1;
 748   1      }
 749          
 750          //timer0 count 1ms           
 751          void timer0(void) interrupt 1 
 752          {
 753   1                              TL0=0x66;
 754   1                              TH0=0xfc;
 755   1                              time_counter++;
 756   1                              if(time_counter>20)
 757   1                              display_flag=1;
 758   1      
 759   1      }
 760          void extern_interrupt1() interrupt 2
 761          {
 762   1                      
 763   1      }
 764          unsigned int ret_lines1(unsigned char lines)
 765          {
 766   1                      switch(lines)
 767   1                      {
 768   2                              case 0:
 769   2                              return 4047;
 770   2                              case 1:
 771   2                              return 4063;
 772   2                              case 2:
 773   2                              return 4079;
 774   2                              case 3:
 775   2                              return 4095;
 776   2                              case 4:
 777   2                              return 15;
 778   2                              case 5:
 779   2                              return 31;
 780   2                              case 6:
 781   2                              return 47;
 782   2                              case 7:
 783   2                              return 63;
 784   2                              default :
 785   2                              break;
 786   2                      }
 787   1      }
 788          unsigned char ret_lines2(unsigned char lines)
 789          {
 790   1                      switch(lines)
 791   1                      {
 792   2                              case 0:
 793   2                              return 79;
 794   2                              case 1:
 795   2                              return 95;
 796   2                              case 2:
 797   2                              return 111;
C51 COMPILER V7.06   TEXT2                                                                 07/24/2006 16:19:54 PAGE 14  

 798   2                              case 3:
 799   2                              return 127;
 800   2                              case 4:
 801   2                              return 143;
 802   2                              case 5:
 803   2                              return 159;
 804   2                              case 6:
 805   2                              return 175;
 806   2                              case 7:
 807   2                              return 191;
 808   2                              default :
 809   2                              break;
 810   2                      }
 811   1      }
 812          unsigned int display_line1(unsigned char lines)
 813          {
 814   1                      switch(lines)
 815   1                      {
 816   2                              case 0:
 817   2                              return 48;
 818   2                              case 1:
 819   2                              return 32;
 820   2                              case 2:
 821   2                              return 16;
 822   2                              case 3:
 823   2                              return 0;
 824   2                              case 4:
 825   2                              return 4080;
 826   2                              case 5:
 827   2                              return 4064;
 828   2                              case 6:
 829   2                              return 4048;
 830   2                              case 7:
 831   2                              return 4032;
 832   2                              default :
 833   2                              break;
 834   2                      }
 835   1                      
 836   1      }
 837          unsigned char display_line2(unsigned char lines)
 838          {
 839   1                      switch(lines)
 840   1                      {
 841   2                              case 0:
 842   2                              return 176;
 843   2                              case 1:
 844   2                              return 160;
 845   2                              case 2:
 846   2                              return 144;
 847   2                              case 3:

⌨️ 快捷键说明

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