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

📄 1011.lst

📁 Proteus环境下直流电机测速程序
💻 LST
字号:
C51 COMPILER V8.05a   1011                                                                 11/11/2008 11:15:59 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE 1011
OBJECT MODULE PLACED IN 1011.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1011.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include <math.h>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          #define ON 0
   6          #define OFF 1
   7          sbit PWM=P3^5;
   8          sbit MP=P3^4;
   9          bit FLAG=0;
  10          uchar code dispbit[6]={0x20,0x10,0x08,0x04,0x02,0x01};
  11           
  12          uchar code seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
  13                                                  //0,1,2,3,4,5,6,7,8,9
  14          uchar disbuf[6]={0,0,0,0,10,10};
  15          uint temp[6];
  16          uint discount=0;
  17          uint timecount=0;//定时的次数
  18          uint T0count=0;
  19          uint hus=0;
  20          uint k=60;
  21          uint Vc;
  22          uint Vs;
  23          uint tm=3000;
  24          uint x;
  25          void t0_serv() interrupt 1
  26          { T0count++;
  27   1      }
  28          void t1_serv() interrupt 3
  29          { 
  30   1        PWM=1;
  31   1        TH1=(65536-tm)/256;
  32   1        TL1=(65536-tm)%256;
  33   1        hus++;
  34   1        if(hus==tm)
  35   1         { PWM=0;
  36   2           TH1=(25536+tm)/256;
  37   2           TL1=(25536+tm)%256;
  38   2         
  39   2         } 
  40   1        timecount++;
  41   1          if(timecount==250) 
  42   1          {  
  43   2                 //FLAG=1;
  44   2                 TR0=0;
  45   2                 hus=0;
  46   2                 timecount=0;
  47   2                 Vc=T0count*65536+TH0*256+TL0;
  48   2                 Vs=144;
  49   2                 if(abs(Vc-Vs)>5)
  50   2                  { tm=abs(k*(Vc-Vs));
  51   3                        T0count=0;
  52   3                        TR0=1;
  53   3                        TR1=1;
  54   3                        ET0=1;
  55   3                        ET1=1;
C51 COMPILER V8.05a   1011                                                                 11/11/2008 11:15:59 PAGE 2   

  56   3                        EA=1;
  57   3                      }
  58   2                FLAG=1;
  59   2                TR0=0;
  60   2                timecount=0;
  61   2                }
  62   1              P0=dispbit[discount];    
  63   1              P1=seg[disbuf[discount]];        
  64   1              discount++;
  65   1                if(discount==6)
  66   1                 { discount=0;
  67   2                 }
  68   1      }          
  69          void main()
  70          {  uint i;
  71   1         TMOD=0x15;
  72   1         TH0=0;
  73   1         TL0=0;
  74   1         TH1=(65536-tm)/256;
  75   1         TL1=(65536-tm)%256;
  76   1         TR0=1;
  77   1         TR1=1;
  78   1         ET0=1;
  79   1         ET1=1;
  80   1         EA=1;
  81   1         while(1)
  82   1        { if(FLAG==1)
  83   2         { FLAG=0;
  84   3               x=T0count*65536+TH0*256+TL0;
  85   3                for(i=0;i<6;i++)
  86   3                {temp[i]=0;
  87   4                }
  88   3              i=0;
  89   3              while(x/10)
  90   3               { 
  91   4                 temp[i]=x%10;
  92   4                 x=x/10;
  93   4                 i++;
  94   4                }
  95   3              temp[i]=x;
  96   3                  for(i=0;i<6;i++)
  97   3                {     
  98   4                  disbuf[i]=temp[i];
  99   4                 } 
 100   3              
 101   3                 timecount=0;
 102   3                 T0count=0;
 103   3                 TH0=0;
 104   3             TL0=0;
 105   3                 T0count=0;
 106   3                 TR0=1;
 107   3            
 108   3           }
 109   2         }
 110   1        
 111   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    632    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V8.05a   1011                                                                 11/11/2008 11:15:59 PAGE 3   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =     36    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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