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

📄 90c58.lst

📁 STC90C58AD 程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.00  90C58                                                                  01/09/2011 14:26:43 PAGE 1   


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

stmt level    source

   1          #include <reg52.h>
   2          #include <absacc.h> 
   3          #include <stdio.h>
   4          sfr P4   = 0xC0;
   5          //#include <math.h>
   6          unsigned char TLV=0x00;
   7          unsigned char THV=0xf1;//0xe7;
   8          unsigned short SECTICKS=240; //24; //65536/(65536-(THV*256+TLV))*18;
   9          unsigned short HALFSECTICKS=120; //12;
  10          unsigned short Q1SECTICKS=60; //12;
  11          unsigned short Q3SECTICKS=180; //12;
  12          unsigned short TICKS_U=6;
  13          unsigned short TICKS_D=2;
  14          unsigned char sbuff[16];
  15          unsigned char count=0,triggle=0,chno=0,cycles=0;
  16          static unsigned char ticks[8][4]; //oldP1Stat;
  17          static unsigned char X0Buff[8];
  18          static unsigned char X1Buff[8];
  19          static unsigned char X2Buff[8];
  20          static unsigned char XBuffP=0;
  21          
  22          //sbit RLed = P1^3;
  23          //sbit GLed = P1^2;
  24          
  25          sbit  Y00 = P2^3;
  26          sbit  Y01 = P2^4;
  27          sbit  Y02 = P2^5;
  28          sbit  Y03 = P2^6;
  29          sbit  Y04 = P2^7;
  30          sbit  Y05 = P4^4;//P0^7;
  31          sbit  Y06 = P4^1; //P0^6;
  32          sbit  Y07 = P0^7;
  33          sbit  Y10 = P0^6;
  34          sbit  Y11 = P0^4;
  35          
  36          sbit  X00 = P2^2;
  37          sbit  X01 = P2^1;
  38          sbit  X02 = P2^0;
  39          sbit  X03 = P4^0;//P3^6;//?
  40          sbit  X04 = P3^7;
  41          sbit  X05 = P3^6;
  42          sbit  X06 = P3^4;
  43          sbit  X07 = P3^5 ;
  44          
  45          sbit  X10 = P3^3;
  46          sbit  X11 = P4^3;//P3^0;//?
  47          sbit  X12 = P1^7;
  48          sbit  X13 = P1^6;
  49          sbit  X14 = P1^5;
  50          sbit  X15 = P1^4;
  51          sbit  X16 = P1^3;
  52          sbit  X17 = P1^2;
  53          
  54          sbit  X20 = P1^1;
  55          sbit  X21 = P1^0;
C51 COMPILER V7.00  90C58                                                                  01/09/2011 14:26:43 PAGE 2   

  56          sbit  X22 = P4^2;//P0^5;//?
  57          sbit  X23 = P0^0;
  58          sbit  X24 = P0^1;
  59          sbit  X25 = P0^2;
  60          sbit  X26 = P0^3;
  61          sbit  X27 = P0^5;
  62          
  63          bit direction=0,direction1=0,direction2=0;
  64          bit oldX20Stat;
  65          bit oldX21Stat;
  66          bit oldX22Stat;
  67          bit oldX23Stat;
  68          bit oldX24Stat;
  69          bit oldX25Stat;
  70          bit oldX26Stat;
  71          bit oldX27Stat;
  72          
  73          /*void delay()
  74          {
  75           unsigned short i,j;
  76           for(i=0;i<30;i++) j=i;
  77          }*/
  78          
  79          void t0int() interrupt 1 
  80          {
  81   1       unsigned char i;
  82   1       TH0=THV; //Bcause TLV=0,no need to init TL0;
  83   1       count++;
  84   1      /* if ((oldP1Stat&0x10)==0x10 && (P1&0x10)==0x00) //UP triggle.
  85   1       {
  86   1        //if ((P1&0x20)==0x20) direction1=1;
  87   1        //else direction1=0;
  88   1       }
  89   1       if ((oldP1Stat&0x20)==0x20 && (P1&0x20)==0x00) //UP triggle.
  90   1       {
  91   1        //if ((P1&0x10)==0x10) direction2=1;
  92   1        //else direction2=0;
  93   1       } */
  94   1       if(oldX20Stat^X20) ticks[0][cycles]++;
  95   1       if(oldX21Stat^X21) ticks[1][cycles]++;
  96   1       if(oldX22Stat^X22) ticks[2][cycles]++;
  97   1       if(oldX23Stat^X23) ticks[3][cycles]++;
  98   1       if(oldX24Stat^X24) ticks[4][cycles]++;
  99   1       if(oldX25Stat^X25) ticks[5][cycles]++;
 100   1       if(oldX26Stat^X26) ticks[6][cycles]++;
 101   1       if(oldX27Stat^X27) ticks[7][cycles]++;
 102   1      
 103   1       //oldP1Stat=P1;
 104   1       oldX20Stat=X20;
 105   1       oldX21Stat=X21;
 106   1       oldX22Stat=X22;
 107   1       oldX23Stat=X23;
 108   1       oldX24Stat=X24;
 109   1       oldX25Stat=X25;
 110   1       oldX26Stat=X26;
 111   1       oldX27Stat=X27;
 112   1      
 113   1       
 114   1       if(count == Q1SECTICKS)
 115   1       {
 116   2        cycles=1;
 117   2        for(i=0;i<8;i++)
C51 COMPILER V7.00  90C58                                                                  01/09/2011 14:26:43 PAGE 3   

 118   2        { 
 119   3         sbuff[4+i]=ticks[i][0]+ticks[i][1]+ticks[i][2]+ticks[i][3]; 
 120   3         ticks[i][cycles]=0;
 121   3        }
 122   2        if(X00) X0Buff[0]|=(1<<XBuffP);
 123   2        else X0Buff[0]&=~(1<<XBuffP);
 124   2        if(X01) X0Buff[1]|=(1<<XBuffP);
 125   2        else X0Buff[1]&=~(1<<XBuffP);
 126   2        if(X02) X0Buff[2]|=(1<<XBuffP);
 127   2        else X0Buff[2]&=~(1<<XBuffP);
 128   2        if(X03) X0Buff[3]|=(1<<XBuffP);
 129   2        else X0Buff[3]&=~(1<<XBuffP);
 130   2        if(X04) X0Buff[4]|=(1<<XBuffP);
 131   2        else X0Buff[4]&=~(1<<XBuffP);
 132   2        if(X05) X0Buff[5]|=(1<<XBuffP);
 133   2        else X0Buff[5]&=~(1<<XBuffP);
 134   2        if(X06) X0Buff[6]|=(1<<XBuffP);
 135   2        else X0Buff[6]&=~(1<<XBuffP);
 136   2        if(X07) X0Buff[7]|=(1<<XBuffP);
 137   2        else X0Buff[7]&=~(1<<XBuffP);
 138   2      
 139   2        if(X10) X1Buff[0]|=(1<<XBuffP);
 140   2        else X1Buff[0]&=~(1<<XBuffP);
 141   2        if(X11) X1Buff[1]|=(1<<XBuffP);
 142   2        else X1Buff[1]&=~(1<<XBuffP);
 143   2        if(X12) X1Buff[2]|=(1<<XBuffP);
 144   2        else X1Buff[2]&=~(1<<XBuffP);
 145   2        if(X13) X1Buff[3]|=(1<<XBuffP);
 146   2        else X1Buff[3]&=~(1<<XBuffP);
 147   2        if(X14) X1Buff[4]|=(1<<XBuffP);
 148   2        else X1Buff[4]&=~(1<<XBuffP);
 149   2        if(X15) X1Buff[5]|=(1<<XBuffP);
 150   2        else X1Buff[5]&=~(1<<XBuffP);
 151   2        if(X16) X1Buff[6]|=(1<<XBuffP);
 152   2        else X1Buff[6]&=~(1<<XBuffP);
 153   2        if(X17) X1Buff[7]|=(1<<XBuffP);
 154   2        else X1Buff[7]&=~(1<<XBuffP);
 155   2      
 156   2        if(X20) X2Buff[0]|=(1<<XBuffP);
 157   2        else X2Buff[0]&=~(1<<XBuffP);
 158   2        if(X21) X2Buff[1]|=(1<<XBuffP);
 159   2        else X2Buff[1]&=~(1<<XBuffP);
 160   2        if(X22) X2Buff[2]|=(1<<XBuffP);
 161   2        else X2Buff[2]&=~(1<<XBuffP);
 162   2        if(X23) X2Buff[3]|=(1<<XBuffP);
 163   2        else X2Buff[3]&=~(1<<XBuffP);
 164   2        if(X24) X2Buff[4]|=(1<<XBuffP);
 165   2        else X2Buff[4]&=~(1<<XBuffP);
 166   2        if(X25) X2Buff[5]|=(1<<XBuffP);
 167   2        else X2Buff[5]&=~(1<<XBuffP);
 168   2        if(X26) X2Buff[6]|=(1<<XBuffP);
 169   2        else X2Buff[6]&=~(1<<XBuffP);
 170   2        if(X27) X2Buff[7]|=(1<<XBuffP);
 171   2        else X2Buff[7]&=~(1<<XBuffP);
 172   2      
 173   2        XBuffP++;
 174   2        if(XBuffP==8) XBuffP=0;
 175   2        triggle=1;
 176   2       }
 177   1       
 178   1       if(count == HALFSECTICKS)
 179   1       {
C51 COMPILER V7.00  90C58                                                                  01/09/2011 14:26:43 PAGE 4   

 180   2        cycles=2;
 181   2        for(i=0;i<8;i++)
 182   2        { 
 183   3         sbuff[4+i]=ticks[i][0]+ticks[i][1]+ticks[i][2]+ticks[i][3]; 
 184   3         ticks[i][cycles]=0;
 185   3        }
 186   2        if(X00) X0Buff[0]|=(1<<XBuffP);
 187   2        else X0Buff[0]&=~(1<<XBuffP);
 188   2        if(X01) X0Buff[1]|=(1<<XBuffP);
 189   2        else X0Buff[1]&=~(1<<XBuffP);
 190   2        if(X02) X0Buff[2]|=(1<<XBuffP);
 191   2        else X0Buff[2]&=~(1<<XBuffP);
 192   2        if(X03) X0Buff[3]|=(1<<XBuffP);
 193   2        else X0Buff[3]&=~(1<<XBuffP);
 194   2        if(X04) X0Buff[4]|=(1<<XBuffP);
 195   2        else X0Buff[4]&=~(1<<XBuffP);
 196   2        if(X05) X0Buff[5]|=(1<<XBuffP);
 197   2        else X0Buff[5]&=~(1<<XBuffP);
 198   2        if(X06) X0Buff[6]|=(1<<XBuffP);
 199   2        else X0Buff[6]&=~(1<<XBuffP);
 200   2        if(X07) X0Buff[7]|=(1<<XBuffP);
 201   2        else X0Buff[7]&=~(1<<XBuffP);
 202   2      
 203   2        if(X10) X1Buff[0]|=(1<<XBuffP);
 204   2        else X1Buff[0]&=~(1<<XBuffP);
 205   2        if(X11) X1Buff[1]|=(1<<XBuffP);
 206   2        else X1Buff[1]&=~(1<<XBuffP);
 207   2        if(X12) X1Buff[2]|=(1<<XBuffP);
 208   2        else X1Buff[2]&=~(1<<XBuffP);
 209   2        if(X13) X1Buff[3]|=(1<<XBuffP);
 210   2        else X1Buff[3]&=~(1<<XBuffP);
 211   2        if(X14) X1Buff[4]|=(1<<XBuffP);
 212   2        else X1Buff[4]&=~(1<<XBuffP);
 213   2        if(X15) X1Buff[5]|=(1<<XBuffP);
 214   2        else X1Buff[5]&=~(1<<XBuffP);
 215   2        if(X16) X1Buff[6]|=(1<<XBuffP);
 216   2        else X1Buff[6]&=~(1<<XBuffP);
 217   2        if(X17) X1Buff[7]|=(1<<XBuffP);
 218   2        else X1Buff[7]&=~(1<<XBuffP);
 219   2      
 220   2        if(X20) X2Buff[0]|=(1<<XBuffP);
 221   2        else X2Buff[0]&=~(1<<XBuffP);
 222   2        if(X21) X2Buff[1]|=(1<<XBuffP);
 223   2        else X2Buff[1]&=~(1<<XBuffP);
 224   2        if(X22) X2Buff[2]|=(1<<XBuffP);
 225   2        else X2Buff[2]&=~(1<<XBuffP);
 226   2        if(X23) X2Buff[3]|=(1<<XBuffP);
 227   2        else X2Buff[3]&=~(1<<XBuffP);
 228   2        if(X24) X2Buff[4]|=(1<<XBuffP);
 229   2        else X2Buff[4]&=~(1<<XBuffP);
 230   2        if(X25) X2Buff[5]|=(1<<XBuffP);
 231   2        else X2Buff[5]&=~(1<<XBuffP);
 232   2        if(X26) X2Buff[6]|=(1<<XBuffP);
 233   2        else X2Buff[6]&=~(1<<XBuffP);
 234   2        if(X27) X2Buff[7]|=(1<<XBuffP);
 235   2        else X2Buff[7]&=~(1<<XBuffP);
 236   2      

⌨️ 快捷键说明

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