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

📄 3192uc.lst

📁 本系统利用AT89S52在线编程技术
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V6.23a  3192UC                                                                12/22/2005 11:00:00 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE 3192UC
OBJECT MODULE PLACED IN E:\XWB\徐伟兵\3192UC\3192UC.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE E:\XWB\徐伟兵\3192UC\3192UC.C DB SB OE

stmt level    source

   1          #include<reg52.h>
   2          #include<absacc.h>
   3          #include<init.h>
   4          #define uchar  unsigned char
   5          #define uint   unsigned int
   6          /********************************************************************************/
   7          /************                      Main Function                     ************/
   8          /********************************************************************************/
   9          void main(void)
  10          {
  11   1         initial();
  12   1         array[0]=0;array[1]=10;array[2]=0;array[3]=1;
  13   1         while(1){
  14   2         switch(PUSHK)
  15   2         {
  16   3           case 0xa1:{array[0]=0;array[1]=4;array[2]=0;array[3]=0;};break;
  17   3           case 0x61:{array[0]=0;array[1]=1;array[2]=0;array[3]=0;};break;
  18   3           case 0x29:{array[0]=0;array[1]=6;array[2]=0;array[3]=0;};break;
  19   3           case 0x25:{array[0]=0;array[1]=3;array[2]=0;array[3]=0;};break;
  20   3           default:break;
  21   3         }
  22   2            CHKT();
  23   2         }
  24   1         while(1);
  25   1      }
  26          void CHKT(void)
  27          {
  28   1         if(SAMOK){
  29   2           SAMOK=0;
  30   2           ADJDLY=0;
  31   2           while(!SAMOK);
  32   2           SAMOK=0;
  33   2           TMPL=AD_RESULTL+ABSDL;
  34   2           TMPH=AD_RESULTH+ABSDH;
  35   2           BINTBCD(TMPL,TMPH);
  36   2           if(TMPH>=0x80){SIGN=0;POL=1;}
  37   2           else{SIGN=1;POL=0;}
  38   2         }
  39   1      }
  40          void KEY(void)
  41          {
  42   1        uchar clmn_pat;
  43   1        for(clmn_pat=0X04;clmn_pat>0;clmn_pat<<=1)
  44   1        {
  45   2          P0=(P0&~clmn_pat)|(0xf0&~clmn_pat);
  46   2          NEWK=(NEWK>>2)|((~(P3|0xCF))<<2);
  47   2          NEWK=(NEWK>>2)|~(P0|0X3F);
  48   2        }
  49   1        if((KTEMP=NEWK^OLDK)>0){
  50   2          PUSHK=KTEMP&NEWK;
  51   2          RELK=KTEMP&OLDK;
  52   2          OLDK=NEWK;
  53   2        }
  54   1      }
  55          /********************************************************************************/
C51 COMPILER V6.23a  3192UC                                                                12/22/2005 11:00:00 PAGE 2   

  56          /************             Initiation programme Function              ************/
  57          /********************************************************************************/
  58          void initial(void)
  59          {
  60   1         //uint bcdth;
  61   1         uchar i,j;
  62   1         j=4;
  63   1         DARK=0;
  64   1         for(i=18;i>0;i--)array_r1[i+36]=DEFAULT_PID[i];
  65   1         for(i=18;i>0;i--)array_r0[i]=DEFAULT1[i];
  66   1         //for(i=18;i>0;i--)WRU3(array_r0[i],i+1);
  67   1         //ENH=RDSU3(0X07);
  68   1         //ENL=RDSU3(0X08);
  69   1         COMMDLY1=255;
  70   1         COMMDLY2=200;
  71   1         TMOD  =0X22;
  72   1         //RCAP2H=0XFF;
  73   1         //RCAP2L=0XFA;
  74   1         //T2CON =0X34;
  75   1         //SCON  =0X50;
  76   1         PCON  =0X80;
  77   1         IP    =0X11;
  78   1         IE    =0X13;
  79   1         TL0   =0X06;
  80   1         TH0   =0X06;
  81   1         IT0   =1;
  82   1         T2mS  =4;
  83   1         T05Sec =500/20;
  84   1         T1min  =120;
  85   1         CLONDLY=60;
  86   1         CLONDLYF   =1;
  87   1         //COMM_OPEN_F=0;
  88   1         POL=1;
  89   1         DGTCNT=1;
  90   1         TR0=1;
  91   1         EA=1;
  92   1      }
  93          void BINTBCD(uchar x,uchar y)
  94          {
  95   1         uint i;
  96   1         i=0;
  97   1         if(y>=0x80)y=y-0x80;
  98   1         else {
  99   2          if(x>0x00){x=(0xff-x)+1;y=0x7f-y;}
 100   2          else {x=0x00;y=0x80-y;}
 101   2         }
 102   1         i=i+y;i<<=8;i=i+x;
 103   1         if(i>=10000){array[0]=1;i=i-10000;}
 104   1         else array[0]=0;
 105   1         array[1]=i/1000;
 106   1         if(array[1]>0x00)i=i-array[1]*1000;
 107   1         array[2]=i/100;
 108   1         if(array[2]>0x00)i=i-array[2]*100;
 109   1         array[3]=i/10;
 110   1      }
 111          /********************************************************************************/
 112          /************                       Timer0 ISR                       ************/
 113          /********************************************************************************/
 114          void intt0(void) interrupt 1  using 1
 115          {
 116   1        while(T2mS--==0){
 117   2         T2mS=10;
C51 COMPILER V6.23a  3192UC                                                                12/22/2005 11:00:00 PAGE 3   

 118   2         while(T20mS--==0){
 119   3          T20mS=4;
 120   3          if(!PUMP){
 121   4           if(!DSHEAT){
 122   5            if(HTONDLYF){
 123   6             while(HTONDLY--==0){HTONDLYF=0;}
 124   6             if(HTONDLYF)break;
 125   6            }
 126   5            if(T2Sec--==0){
 127   6             T2Sec=100;
 128   6             //CTR();
 129   6             if(PWMBK!=0){
 130   7              HEAT=0;
 131   7              PWMON=PWMBK;
 132   7             }
 133   6             else  {HEAT=1;break;}
 134   6            }
 135   5            while(PWMON--==0){HEAT=1;}
 136   5           }
 137   4           else   HEAT=1;
 138   4          }
 139   3          else  HEAT=1;
 140   3         //CLCKXXX();
 141   3          while(T05Sec--==0){
 142   4           T05Sec=25;
 143   4           while(CLONDLY--==0){CLONDLYF=0;}
 144   4           while(T1min--==0){T1min=120;}
 145   4          }
 146   3          if(KeyS){
 147   4           while(KSNGCNT--==0){
 148   5            KeyS=0;
 149   5            SOUND=1;
 150   5           }
 151   4          }
 152   3          else{
 153   4           if(TMPS){
 154   5            while(TMPSDLY--==0){
 155   6             TMPSDLY=20;
 156   6             SOUND=~SOUND;
 157   6             TMP_HW=~TMP_HW;
 158   6            }
 159   5           }
 160   4           else{
 161   5            if(PRSS){
 162   6             while(PRSSDLY--==0){
 163   7              PRSSDLY=10;
 164   7              SOUND=~SOUND;
 165   7              TMP_HW=~TMP_LW;
 166   7             }
 167   6            }
 168   5            else{SOUND=1;}
 169   5           }
 170   4          }
 171   3         
 172   3         }
 173   2         //KEY();
 174   2        }
 175   1        DARK=0;
 176   1          P0=0XFF;
 177   1          //DARK=0;
 178   1          P0=P0&DGT[DGTCNT-1];
 179   1          P0=P0&(0XF0|array[DGTCNT-1]);
C51 COMPILER V6.23a  3192UC                                                                12/22/2005 11:00:00 PAGE 4   

 180   1          DGTCNT++;
 181   1          if(DGTCNT>=5){
 182   2           DGTCNT=1;
 183   2           KEY();
 184   2          }
 185   1          if(!((DGTCNT==0X02)&&(array[0]==0X00)))
 186   1          DARK=1;
 187   1      }
 188          /********************************************************************************/
 189          /************                  Exterior Interrupt0 ISR               ************/
 190          /********************************************************************************/
 191          void INT_7135(void) interrupt 0 using 1
 192          {
 193   1        uint  admid;
 194   1        uchar SAMV;
 195   1        if(!AD_D5){                   //选通信号有无决定是否输出
 196   2          if(TRAN_EFFIC_F){
 197   3            SAMV=P1&0X0F;
 198   3            switch(AD_FACTORIAL)
 199   3            {
 200   4              case 1:
 201   4              {
 202   5                admid=(uint)SAMV;
 203   5                admid=admid+AD_MID_L;
 204   5                AD_MID_L=admid&0x00ff;
 205   5                AD_MID_H=AD_MID_H+(admid>>8);
 206   5              };break;
 207   4              case 2:
 208   4              {
 209   5                admid=(uint)(SAMV*10);
 210   5                admid=admid+AD_MID_L;
 211   5                AD_MID_L=admid&0x00ff;
 212   5                AD_MID_H=AD_MID_H+(admid>>8);
 213   5              };break;
 214   4              case 3:
 215   4              {
 216   5                admid=(uint)(SAMV*100);
 217   5                admid=admid+AD_MID_L;
 218   5                AD_MID_L=admid&0x00ff;
 219   5                AD_MID_H=AD_MID_H+(admid>>8);
 220   5              };break;
 221   4              case 4:
 222   4              {
 223   5                admid=(uint)(SAMV*1000);
 224   5                admid=admid+AD_MID_L;
 225   5                AD_MID_L=admid&0x00ff;
 226   5                AD_MID_H=AD_MID_H+(admid>>8);
 227   5              };break;
 228   4              default:break;
 229   4            }
 230   3            AD_FACTORIAL--;
 231   3            if(AD_FACTORIAL==0){
 232   4              TRAN_EFFIC_F=0;
 233   4              if(AD_POL)                          //是负的值吗?(AD-POL  1 为正,0 为负)
 234   4              {
 235   5                AD_RESULTH=0x80+AD_MID_H;
 236   5                AD_RESULTL=AD_MID_L;
 237   5              }
 238   4              else{
 239   5                if(AD_MID_L>0){
 240   6                 AD_RESULTH=0X7F-AD_MID_H;
 241   6                 AD_RESULTL=(0XFF-AD_MID_L)+1;
C51 COMPILER V6.23a  3192UC                                                                12/22/2005 11:00:00 PAGE 5   

 242   6                }
 243   5                else{
 244   6                 AD_RESULTH=0x80-AD_MID_H;
 245   6                 AD_RESULTL=AD_MID_L;
 246   6                }
 247   5             }
 248   4             SAMOK=1;
 249   4             ENDLT=~ENDLT;
 250   4           }
 251   3          }
 252   2        }
 253   1        else{
 254   2          TRAN_EFFIC_F=1;                             //开始转化标志置高
 255   2          AD_FACTORIAL=4;                             // AD因子数
 256   2          if(!DB1){AD_MID_H=0;AD_MID_L=0;}            //万位是否为零
 257   2          else{AD_MID_H=0x27; AD_MID_L=0x10; }        //万位送1
 258   2        }

⌨️ 快捷键说明

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