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

📄 shift.lst

📁 64x32led单元板的89s51显示控制程序,可以完成静太显示,向上平移,向右平移的动态显示.
💻 LST
字号:
C51 COMPILER V7.06   SHIFT                                                                 05/09/2008 09:11:39 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE SHIFT
OBJECT MODULE PLACED IN shift.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE shift.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg51.h>
   2          #define uchar unsigned char
   3          #define uint unsigned char
   4          
   5          void timerinit(void);
   6          void sioinit(void);
   7          void initial(void);
   8          void clrscree(void);
   9          void senddata(uchar i);
  10          void row_dis(void);
  11          void full_databuf(uchar effict);
  12          void l_databuf(uchar i);
  13          void full_index(uchar *prt,uchar effict);
  14          void display(uchar *a,uchar effict);
  15          
  16          void timerinit(void)//3ms timer
  17          {
  18   1              TMOD=0x01;
  19   1              TH0=(65535-3000)/256;
  20   1              TL0=(65535-3000)%256;
  21   1              IE=0x82;
  22   1      }
  23          void sioinit(void)// 方式0
  24          {
  25   1              SCON=0x00;
  26   1              TI=0;
  27   1      }
  28          void initial(void)
  29          {
  30   1              timerinit();
  31   1              sioinit();
  32   1              inter_init();
*** WARNING C206 IN LINE 32 OF SHIFT.C: 'inter_init': missing function-prototype
  33   1              TR0=1;
  34   1      }
  35          
  36          /*********application function*******
  37           静态显示、左移、右移
  38          ************************************/
  39          
  40          uchar databuf[18];
  41          uint dataindex[12];     
  42          uchar cbuf_flag,fullindex_flag,fulldata_flag;
  43          uchar row_count,shift_count,shift_add,disen;
  44          uchar *indexprt;
  45          
  46          void clrscree(void)
  47          {       
  48   1              int i;
  49   1              for(i=0;i<18;i+=2)
  50   1              {
  51   2                      databuf[i]=0;
  52   2                      databuf[i+1]=0;
  53   2              }       
  54   1      }
C51 COMPILER V7.06   SHIFT                                                                 05/09/2008 09:11:39 PAGE 2   

  55          void senddata(uchar i)  //sio 口发送数据
  56          {
  57   1              SBUF=i;
  58   1              while(TI==0);
  59   1              TI=0;
  60   1      }
  61          void row_dis(void)   //p1.0-a,p1.1-b,p1.2-c,p1.3-d st-p1.4 p1.5-en
  62          {
  63   1              uchar i=0;
  64   1              for(i=0;i<16;i++)
  65   1              senddata(databuf[i]);
  66   1              P1=row_count+0x20+0x10;
  67   1              P1=row_count+0x20;
  68   1              row_count++;
  69   1      }
  70          //*************************databuf 更新
  71          void full_databuf(uchar effict)
  72          {       
  73   1              uchar i;
  74   1              uchar *ptr;
  75   1              if(fulldata_flag==1)
  76   1              {
  77   2                      fulldata_flag=0;        
  78   2                      if(effict==staticdis||effict==left)
*** ERROR C202 IN LINE 78 OF SHIFT.C: 'staticdis': undefined identifier
  79   2                      {
  80   3                              for(i=0;i<18;i+=2)
  81   3                              {
  82   4                                      *ptr=dataindex[i/2];
  83   4                                      databuf[i]=*(ptr+2+row_count*2);
  84   4                                      databuf[i+1]=*(ptr+2+row_count*2+1);
  85   4                              }
  86   3                              if(effict==left)
*** ERROR C202 IN LINE 86 OF SHIFT.C: 'left': undefined identifier
  87   3                              {
  88   4                                      l_databuf(shift_add);
  89   4                              }
  90   3                      }
  91   2                      else if(effict==up)
*** ERROR C202 IN LINE 91 OF SHIFT.C: 'up': undefined identifier
  92   2                      {
  93   3                              for(i=0;i<18;i+=2)
  94   3                              {
  95   4                                      *ptr=dataindex[i/2];
  96   4                                      databuf[i]=*(ptr+2+shift_add+row_count*2);
  97   4                                      databuf[i+1]=*(ptr+2+shift_add+row_count*2+1);
  98   4                              }               
  99   3                      }
 100   2              }
 101   1      }
 102          void l_databuf(uchar i)//左移时数据BUF处理
 103          {
 104   1              uchar h;
 105   1              int j,k;
 106   1              if(i>=8)
 107   1              {
 108   2                      for(h=0;h<17;h++)
 109   2                      databuf[h]=databuf[h+1];
 110   2                      i-=8;
 111   2              }
 112   1              for(h=0;h<16;h++)
 113   1              {
C51 COMPILER V7.06   SHIFT                                                                 05/09/2008 09:11:39 PAGE 3   

 114   2                      j=databuf[h];
 115   2                      k=databuf[h+1];
 116   2                      j=j<<i;
 117   2                      k=k>>(8-i);
 118   2                      databuf[h]=j|k;
 119   2              }       
 120   1      }
 121          
 122          void full_index(uchar *prt,uchar effict)
 123          {
 124   1              uchar str1,str1;
*** ERROR C231 IN LINE 124 OF SHIFT.C: 'str1': redefinition
 125   1              if(fullindex_flag==1)
 126   1              {
 127   2                      fullindex_flag=0;
 128   2                      if(effict==staticdis)indexprt=prt;
*** ERROR C202 IN LINE 128 OF SHIFT.C: 'staticdis': undefined identifier
 129   2                      else if(effict==up)indexprt=prt+8;
*** ERROR C202 IN LINE 129 OF SHIFT.C: 'up': undefined identifier
 130   2                      else if(effict==up)indexprt=prt+2;
*** ERROR C202 IN LINE 130 OF SHIFT.C: 'up': undefined identifier
 131   2                      for(uchar i=0;i<12;i++,prt+=2)
*** ERROR C141 IN LINE 131 OF SHIFT.C: syntax error near 'unsigned'
*** ERROR C202 IN LINE 131 OF SHIFT.C: 'i': undefined identifier
*** ERROR C202 IN LINE 131 OF SHIFT.C: 'i': undefined identifier
*** ERROR C202 IN LINE 131 OF SHIFT.C: 'i': undefined identifier
*** ERROR C141 IN LINE 131 OF SHIFT.C: syntax error near ')'
 132   2                      {
 133   3                              str1=*prt;
 134   3                              str2=*(prt+1);
*** ERROR C202 IN LINE 134 OF SHIFT.C: 'str2': undefined identifier
 135   3                              if(str1==' '&&str2==' ') {disen=1;break;}
*** ERROR C202 IN LINE 135 OF SHIFT.C: 'str2': undefined identifier
*** ERROR C171 IN LINE 135 OF SHIFT.C: 'break': missing enclosing loop
 136   3                              for(uchar j=0;j<sizeof(GB_16)/sizeof(GB_16[0]);j++)
*** ERROR C141 IN LINE 136 OF SHIFT.C: syntax error near 'unsigned'
*** ERROR C202 IN LINE 136 OF SHIFT.C: 'j': undefined identifier
*** ERROR C202 IN LINE 136 OF SHIFT.C: 'j': undefined identifier
*** ERROR C202 IN LINE 136 OF SHIFT.C: 'j': undefined identifier
*** ERROR C141 IN LINE 136 OF SHIFT.C: syntax error near ')'
 137   3                              {
 138   4                                      if(c1 == GB_16[j].Index[0] && c2 == GB_16[j].Index[1])
 139   4                                      break;
*** ERROR C171 IN LINE 139 OF SHIFT.C: 'break': missing enclosing loop
 140   4                              }
 141   3                              prt=GB_16[j].Index[];
*** ERROR C202 IN LINE 141 OF SHIFT.C: 'j': undefined identifier
*** ERROR C141 IN LINE 141 OF SHIFT.C: syntax error near ']'
 142   3                              dataindex[i]=prt+2;
 143   3                      }
 144   2              }               
 145   1      }
 146          void timeIRQ(void) interrupt 4
 147          {
 148   1              TH0=(65535-3000)/256;
 149   1              TL0=(65535-3000)%256;
 150   1              if(row_count==16)row_count=0;
 151   1              row_dis();
 152   1              shift_count++;
 153   1              if(shift_count==100)
 154   1              {
 155   2                      fulldata_flag=1;
C51 COMPILER V7.06   SHIFT                                                                 05/09/2008 09:11:39 PAGE 4   

 156   2                      shift_add++;
 157   2                      if(shift_add==16)
 158   2                      {
 159   3                              shift_add=0;
 160   3                              fullindex_flag=1;               
 161   3                      }                       
 162   2              }
 163   1      }
 164          
 165          void display(uchar *a,uchar effict)
 166          {
 167   1              indexprt=a;
 168   1              disen=0;
 169   1              while(!disen)
 170   1              {
 171   2                      full_index(indexprt,effict);
 172   2                      full_databuf(effict);
 173   2              }
 174   1      }

C51 COMPILATION COMPLETE.  1 WARNING(S),  23 ERROR(S)

⌨️ 快捷键说明

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