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

📄 text2.lst

📁 能够显示32个汉字的LED大屏显示的单片机源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 848   2                              return 128;
 849   2                              case 4:
 850   2                              return 112;
 851   2                              case 5:
 852   2                              return 96;
 853   2                              case 6:
 854   2                              return 80;
 855   2                              case 7:
 856   2                              return 64;
 857   2                              default :
 858   2                              break;
 859   2                      }
C51 COMPILER V7.06   TEXT2                                                                 07/24/2006 16:19:54 PAGE 15  

 860   1      }
 861          //void display_linedata(unsigned char linedata,unsigned char *data11)
 862          //{
 863          //              unsigned char i,lines;
 864          //              unsigned int j1;
 865          //              unsigned char j2;
 866          //              unsigned char line_count;
 867          
 868          //              line_count=linedata/8;
 869          //              lines=linedata%8;
 870          //              j1=display_line1(lines)+line_count;
 871          //              j2=display_line2(lines)+line_count;
 872          //              for(i=0;i<4;i++)
 873          //              {
 874          //                      yyj[j1*8+i]=data11[i*2];
 875          //                      yyj[j2*8+i]=data11[i*2+1];
 876          //              }
 877          //}
 878          void shift_display(unsigned char *point)
 879          {
 880   1                      unsigned char i,j;
 881   1                      unsigned int j1;
 882   1                      unsigned char j2;
 883   1                      unsigned char lines,line_count;
 884   1                      CNTB_245=1;
 885   1                      CNTA_245=0;
 886   1                      SELECT0=0;
 887   1                      for(i=0;i<128;i++)
 888   1                      {
 889   2                              line_count=i/8;
 890   2                              lines=i%8;
 891   2                              j1=ret_lines1(lines)-line_count;
 892   2                              j2=ret_lines2(lines)-line_count;
 893   2                              
 894   2                              for(j=0;j<4;j++)
 895   2                              {
 896   3                                      yyj[j1*8+j]=point[j*2*128+i];
 897   3                                      yyj[j2*8+j]=point[(j*2+1)*128+i];
 898   3                              }
 899   2                      }
 900   1                      CNTB_245=0;
 901   1                      CNTA_245=1;
 902   1                      SELECT0=1;
 903   1      }
 904          
 905          
 906          void shift_display2(unsigned char cr,unsigned char *point)
 907          {
 908   1                      unsigned char j;
 909   1                      unsigned int j1;
 910   1                      unsigned char j2;
 911   1                      unsigned char lines,line_count;
 912   1                      CNTB_245=1;
 913   1                      CNTA_245=0;
 914   1                      SELECT0=0;
 915   1                              line_count=cr/8;
 916   1                              lines=cr%8;
 917   1                              j1=ret_lines1(lines)-line_count;
 918   1                              j2=ret_lines2(lines)-line_count;
 919   1                              for(j=0;j<4;j++)
 920   1                              {
 921   2                                      yyj[j1*8+j]=point[j*2*128+cr];
C51 COMPILER V7.06   TEXT2                                                                 07/24/2006 16:19:54 PAGE 16  

 922   2                                      yyj[j2*8+j]=point[(j*2+1)*128+cr];
 923   2                              }
 924   1                      CNTB_245=0;
 925   1                      CNTA_245=1;
 926   1                      SELECT0=1;
 927   1      }
 928          void s_d(unsigned char *pointdata)
 929          {
 930   1                      unsigned char i;
 931   1                      
 932   1                      for(i=0;i<128;i++)
 933   1                      {
 934   2                              shift_display2(i,pointdata);
 935   2                              delay(20);
 936   2                      }
 937   1                      
 938   1      }
 939          void shift_display3(unsigned char cr,unsigned char *point)
 940          {
 941   1                      unsigned char j;
 942   1                      unsigned int j1;
 943   1                      unsigned char j2;
 944   1                      unsigned char lines,line_count;
 945   1                      CNTB_245=1;
 946   1                      CNTA_245=0;
 947   1                      SELECT0=0;
 948   1                              line_count=cr/8;
 949   1                              lines=cr%8;
 950   1                              j1=display_line1(lines)+line_count;
 951   1                              j2=display_line2(lines)+line_count;
 952   1                              for(j=0;j<4;j++)
 953   1                              {
 954   2                                      yyj[j1*8+j]=point[(j*2*128+127)-cr];
 955   2                                      yyj[j2*8+j]=point[((j*2+1)*128+127)-cr];
 956   2                              }
 957   1                      CNTB_245=0;
 958   1                      CNTA_245=1;
 959   1                      SELECT0=1;
 960   1      }
 961          void left_s_d(unsigned char *pointdata)
 962          {
 963   1                      unsigned char i;
 964   1                      
 965   1                      for(i=0;i<128;i++)
 966   1                      {
 967   2                              
 968   2                              shift_display3(i,pointdata);
 969   2                              delay(20);
 970   2                      }
 971   1                      
 972   1      }
 973          void display_line(unsigned char linedata)
 974          {
 975   1                      unsigned char i,lines;
 976   1                      unsigned int j1;
 977   1                      unsigned char j2;
 978   1                      unsigned char line_count;
 979   1                      unsigned char line_count1;
 980   1                      unsigned char lines1;
 981   1                      unsigned int jj1;
 982   1                      unsigned char jj2;
 983   1      
C51 COMPILER V7.06   TEXT2                                                                 07/24/2006 16:19:54 PAGE 17  

 984   1                      line_count=linedata/8;
 985   1                      lines=linedata%8;
 986   1      
 987   1                      line_count1=(linedata-1)/8;
 988   1                      lines1=(linedata-1)%8;
 989   1      
 990   1                      jj1=display_line1(lines1)+line_count1;
 991   1                      jj2=display_line2(lines1)+line_count1;
 992   1      
 993   1                      j1=display_line1(lines)+line_count;
 994   1                      j2=display_line2(lines)+line_count;
 995   1      
 996   1                      CNTB_245=1;
 997   1                      CNTA_245=0;     
 998   1                      SELECT0=0;
 999   1                      
1000   1                      for(i=0;i<4;i++)
1001   1                      {
1002   2                              yyj[jj1*8+i]=0x0;
1003   2                              yyj[jj2*8+i]=0x0;
1004   2                      }
1005   1      
1006   1                      for(i=0;i<4;i++)
1007   1                      {
1008   2                              yyj[j1*8+i]=0xff;
1009   2                              yyj[j2*8+i]=0xff;
1010   2                      }
1011   1                      CNTB_245=0;
1012   1                      CNTA_245=1;
1013   1                      SELECT0=1;
1014   1      }
1015          void display_screen(unsigned char *data0)
1016          {
1017   1                      unsigned int i;
1018   1                      unsigned int l;
1019   1                      unsigned char linecount;
1020   1                      unsigned char bytecount;
1021   1                      unsigned char kk,kkk1,kkk2;
1022   1                      CNTB_245=1;
1023   1                      CNTA_245=0;
1024   1                      SELECT0=0;      
1025   1                      for(i=0;i<1024;i++)
1026   1                      {
1027   2                              linecount=i/8;          // 确定数据所在的列数
1028   2                              kkk1=linecount%8;
1029   2                              kkk2=linecount/8;
1030   2                              bytecount=i%2;
1031   2                              kk=i%8;
1032   2                              if(bytecount==0)
1033   2                              l=display_line1(kkk1)+kkk2;
1034   2                              else
1035   2                              l=display_line2(kkk1)+kkk2;
1036   2                              yyj[l*8+kk]=*data0;
1037   2                              data0++;
1038   2                      }
1039   1                      CNTB_245=0;
1040   1                      CNTA_245=1;     
1041   1                      SELECT0=1;
1042   1      }
1043          void display_screen1(unsigned char *data0)  //整屏图文方式
1044          {
1045   1                      unsigned int i;
C51 COMPILER V7.06   TEXT2                                                                 07/24/2006 16:19:54 PAGE 18  

1046   1                      unsigned int l;
1047   1                      unsigned char bytecount;
1048   1                      unsigned char kkk1,kkk2;
1049   1                      unsigned char cc;
1050   1                      CNTB_245=1;
1051   1                      CNTA_245=0;     
1052   1                      SELECT0=0;
1053   1                      for(i=0;i<1024;i++)
1054   1                      {
1055   2                              cc=i/128;
1056   2                              kkk1=i%8;
1057   2                              kkk2=(i/8)%

⌨️ 快捷键说明

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