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

📄 noname2.lst

📁 measure coin used 89c52,which use two Timers
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   NONAME2                                                               08/10/2008 10:38:12 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE NONAME2
OBJECT MODULE PLACED IN D:\东美\89C52~2\NONAME2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\东美\89C52~2\NONAME2.C DB SB OE

line level    source

   1          
   2           #include<reg52.h>
   3           #include <noname1.h>
   4           #include <absacc.h>
   5          
   6          #define uchar unsigned char
   7          #define uint  unsigned int
   8          #define senddata_shu 22
   9          #define maichong  6            //脉冲个数
  10          #define shijian   60000           //时间
  11          
  12          sbit P3_3=P3^3;
  13          sbit P3_5=P3^5;
  14          sbit P3_2=P3^2;
  15          sbit P1_5=P1^5;
  16          sbit P1_6=P1^6;
  17          sbit P1_7=P1^7;
  18          
  19          uchar   flag_int1;            //外中断输入的标志位
  20          
  21          uchar m_flag;
  22          bit bhead=0;
  23          bit send_flag=0;
  24          
  25          
  26          /*外中断1的控制T1计数子程序*/
  27          void int1svr(void) interrupt 2
  28          {
  29   1            TR0=1;      //打开定时器T0
  30   1            TR1=1;     //打开计数器T1
  31   1            ET0=1;     //开定时器中断
  32   1            ET1=1;     //开定时器中断
  33   1            l++;
  34   1      }
  35          void int0svr(void) interrupt 0
  36          {
  37   1            EX0=0;      //关外部中断0
  38   1            EX1=1;    //开外部中断1
  39   1            flag0=1;
  40   1            P1_7=!P1_7;
  41   1      }
  42          /*T0定时溢出子程序*/
  43          void timer0(void) interrupt 1
  44          {
  45   1         TH0=0;
  46   1         TL0=0;
  47   1         N=N+1;
  48   1      }
  49          
  50          /*T1计数器溢出子程序*/
  51          void timer1(void) interrupt 3
  52          {
  53   1         TH1=0;
  54   1         TL1=0;
  55   1         M=M+1;
C51 COMPILER V8.02   NONAME2                                                               08/10/2008 10:38:12 PAGE 2   

  56   1      }
  57          void send() interrupt 4
  58          {
  59   1        TI=0;
  60   1        if(!bhead)
  61   1          {
  62   2            SBUF=0x7F;
  63   2            bhead=1;
  64   2            while(!TI);
  65   2      
  66   2          }
  67   1        else
  68   1        {
  69   2          SBUF=senddata[l];            //按顺序发送帧数据
  70   2          while(!TI);
  71   2          l++;
  72   2          if(l==senddata_shu)
  73   2          {
  74   3            SBUF=0x7f;            //按顺序发送帧数据
  75   3            while(!TI);
  76   3          }
  77   2          else if(l>senddata_shu)
  78   2          {
  79   3            TI=0;
  80   3          }
  81   2        }
  82   1      }
  83          /*
  84          void send() interrupt 4
  85          {
  86              TI=0;
  87             // EX1=0;
  88              if(!bhead)
  89              {
  90                SBUF=0x7F;
  91                bhead=1;
  92                while(!TI);
  93          
  94              }
  95              else if(l==1)
  96              {
  97              //SBUF=0x55;
  98              SBUF=guangdian>>16;
  99                while(!TI);
 100              }
 101               else if(l==2)
 102              {
 103                SBUF=guangdian>>8;
 104                while(!TI);
 105              }
 106              else if(l==3)
 107              {
 108                SBUF=guangdian;
 109                while(!TI);
 110              }
 111              else if(l==4)
 112              {
 113                SBUF=T0_total>>16;
 114                while(!TI);
 115              }
 116              else if(l==5)
 117              {
C51 COMPILER V8.02   NONAME2                                                               08/10/2008 10:38:12 PAGE 3   

 118                SBUF=T0_total>>8;
 119                while(!TI);
 120              }
 121              else if(l==6)
 122              {
 123                SBUF=T0_total;
 124                while(!TI);
 125              }
 126          /*    else if(l==6)
 127              {
 128                SBUF=T1_total>>16;
 129                while(!TI);
 130              }                   */
 131          /*    else if(l==7)
 132              {
 133                SBUF=T1_total>>8;
 134                while(!TI);
 135              }
 136              else if(l==8)
 137              {
 138                SBUF=T1_total;
 139                while(!TI);    
 140              }                   */
 141          /*    else if(l==10)
 142              {
 143                SBUF=T2_total>>16;
 144                while(!TI);
 145              }                 */
 146          /*    else if(l==9)
 147              {
 148                SBUF=T2_total>>8;
 149                while(!TI);
 150              }
 151              else if(l==10)
 152              {
 153                SBUF=T2_total;
 154                while(!TI);
 155              }
 156              else if(l==11)
 157              {
 158                SBUF=freq>>8;
 159                while(!TI);
 160              }
 161              else if(l==12)
 162              {
 163                SBUF=freq;
 164                while(!TI);
 165              }
 166              else if(l==13)
 167              {
 168                SBUF=k>>8;
 169                while(!TI);
 170              }
 171              else if(l==14)
 172              {
 173                SBUF=k;
 174                while(!TI);
 175              }
 176               else if(l==15)
 177              {
 178                SBUF=T0_total1>>16;
 179                while(!TI);
C51 COMPILER V8.02   NONAME2                                                               08/10/2008 10:38:12 PAGE 4   

 180              }
 181              else if(l==16)
 182              {
 183                SBUF=T0_total1>>8;
 184                while(!TI);
 185              }
 186              else if(l==17)
 187              {
 188                SBUF=T0_total1;
 189                while(!TI);
 190              }
 191               else if(l==18)
 192              {
 193                SBUF=T1_total1>>16;
 194                while(!TI);
 195              }
 196              else if(l==19)
 197              {
 198                SBUF=T1_total1>>8;
 199                while(!TI);
 200              }
 201              else if(l==20)
 202              {
 203                SBUF=T1_total1;
 204                while(!TI);
 205              }
 206              else if(l==21)
 207              {
 208                SBUF=0x7f;
 209                while(!TI);
 210              }
 211              else
 212                TI=0;
 213              l++;
 214          
 215          }                   */
 216          void timer1_INT(void)
 217          {
 218   1          EA=1;
 219   1      //    IT0=1;         //下降沿触发
 220   1          PCON=0X00;
 221   1          IT1=1;
 222   1          EX1=0;
 223   1          TMOD=0x51;       //T1为16位计数器,T0为16位定时器
 224   1          TH0=0;
 225   1          TL0=0;
 226   1          TH1=0;
 227   1          TL1=0;
 228   1          ES  = 0;                //关闭串口中断
 229   1          M=0;

⌨️ 快捷键说明

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