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

📄 ding.lst

📁 直流电动机仿真及程序
💻 LST
字号:
C51 COMPILER V8.02   DING                                                                  04/16/2008 13:31:13 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE DING
OBJECT MODULE PLACED IN ding.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ding.c BROWSE INCDIR(C:\Documents and Settings\Han Yong\桌面\定时器) DEBUG 
                    -OBJECTEXTEND

line level    source

   1          #include"reg51.h"
   2          #include"intrins.h"
   3          #include"lcd.h"
   4          
   5          #define uchar unsigned char
   6          #define uint  unsigned int
   7          
   8          sbit P20=P2^0;
   9          sbit P21=P2^1;
  10          
  11          uchar flag=0;/***高低电平标志***/
  12          bit direction=0;/***方向标志***/
  13          static uchar constant=5;//可以改变占空比
  14          
  15          /****函数声明****/
  16          void delay(uchar i);
  17          void reverse(void);
  18          
  19          
  20          /***定时器t0***/
  21          void time0(void) interrupt 1 using 1
  22          {       
  23   1         static uchar i;
  24   1              i++;
  25   1              /**频率为固定的1kHZ左右,只是占空比发生变化**/
  26   1              if(i<=constant)
  27   1                      flag=1;
  28   1              if(i<=10&&i>constant)
  29   1                      flag=2;         
  30   1              if(i==10) 
  31   1                      i=0;
  32   1              TH0=0xff;
  33   1              TL0=0xe7;
  34   1      }
  35          
  36          /****改变转向标志*****/
  37          void int1_srv (void) interrupt 2 using 2
  38          {
  39   1              if(INT1==0)
  40   1              {
  41   2                      while(!INT1);
  42   2                       direction=!direction;
  43   2              }
  44   1      }
  45          
  46          /*******中断,调节占空比********/
  47          void change(void) interrupt 0 using 0
  48          {
  49   1              if(INT0==0)
  50   1              {
  51   2                      while(!INT0);
  52   2                      constant++;
  53   2                      /***************************/
  54   2                        LCD_Write(0,LCD_CLEAR_SCREEN);
C51 COMPILER V8.02   DING                                                                  04/16/2008 13:31:13 PAGE 2   

  55   2                        GotoXY(0,0);
  56   2                delay(10);
  57   2                    Print(" Duty cycle ! ");
  58   2                        GotoXY(5,1);
  59   2                delay(10);
  60   2                        if(constant==10)
  61   2                        {
  62   3                              LCD_Write(LCD_DATA,0+'0');
  63   3                         }
  64   2                        else
  65   2                      LCD_Write(LCD_DATA,constant+'0');       
  66   2                
  67   2                        delay(10);
  68   2                        Print(":");
  69   2                        delay(10);
  70   2      
  71   2                        if(constant!=10)
  72   2                              LCD_Write(LCD_DATA,10-constant+'0');
  73   2                        else
  74   2                         { LCD_Write(LCD_DATA,1+'0');
  75   3                               delay(10);
  76   3                               LCD_Write(LCD_DATA,0+'0');
  77   3                              }
  78   2                      /********************************/
  79   2                      if(constant==10)
  80   2                      constant=0;
  81   2              }
  82   1      }
  83          
  84          /****延时****/
  85          void delay(uchar i)
  86          {
  87   1              while(i--)
  88   1              _nop_();
  89   1      }
  90          
  91          /*************************/
  92          
  93          void main()
  94          {       
  95   1              EA=1;
  96   1              TMOD=0x01;
  97   1              ET0=1;
  98   1              TR0=1;
  99   1      
 100   1              EX0=1;
 101   1              IT0=1;
 102   1      
 103   1              EX1=1;
 104   1              IT1=1;
 105   1      
 106   1              TH0=0xff;
 107   1              TL0=0xe7;
 108   1              /************/
 109   1              LCD_Initial();
 110   1              delay(10);
 111   1              GotoXY(0,0);
 112   1              delay(10);
 113   1              Print(" Duty cycle(5:5)! ");
 114   1              GotoXY(0,1);
 115   1              delay(10);
 116   1              Print(" please press !");
C51 COMPILER V8.02   DING                                                                  04/16/2008 13:31:13 PAGE 3   

 117   1              /*************/
 118   1              while(1)
 119   1              {
 120   2                      reverse();
 121   2              }
 122   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    452    ----
   CONSTANT SIZE    =     52    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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