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

📄 method2.lst

📁 单片机的电机控制
💻 LST
字号:
C51 COMPILER V6.12  METHOD2                                                                05/26/2007 10:17:55 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE METHOD2
OBJECT MODULE PLACED IN .\method2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\method2.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg51.h>
   2          #include<math.h>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          extern motor(uchar index, char speed);
   6          extern motorz(uchar index, char speed);
   7          extern stop();
   8          extern delay(uint j);
   9          extern delayz(uint j);
  10          extern m1,m2;
  11          
  12          sbit en1=P2^4;      /* L298的Enable A */
  13          sbit en2=P2^5;      /* L298的Enable B */
  14          sbit s1=P2^0;       /* L298的Input 1  */
  15          sbit s2=P2^1;       /* L298的Input 2  */
  16          sbit s3=P2^2;       /* L298的Input 3  */
  17          sbit s4=P2^3;       /* L298的Input 4  */
  18          sbit sensor1=P2^6;  //传感器一的输入
  19          sbit sensor2=P2^7;  //传感器二的输入
  20          sbit sensors=P3^2;
  21          
  22          
  23          
  24          
  25          
  26          
  27          
  28          void method2()
  29          {
  30   1       EA=0;                    //设置系统不接受任何中断
  31   1       TMOD=0x02;	        /* 设定T0的工作模式为2 */
  32   1       TH0=0x9B;		/* 装入定时器的初值    */
  33   1       TL0=0x9B; 
  34   1       //PX0=1;                     //设置优先级为高 
  35   1       IT0=0;                    //设置下降延触发
  36   1       EX0=1;                    //设置接受INT0的中断 
  37   1       ET0=1;			/* 定时器0允许中断     */
  38   1       TR0=1;			/* 启动定时器0         */
  39   1       EA=1;	        	     /* 开中断              */
  40   1       while(1)               /* 电机实际控制演示    */
  41   1       {
  42   2         if(sensor1!=0||sensor2!=0)
  43   2         {
  44   3         if(sensor1==1)          //判断传感器信号高低
  45   3             motor(1,5);
  46   3         else
  47   3            {
  48   4             motor(1,13);
  49   4             delay(100);
  50   4            }               //减速
  51   3         if(sensor2==1)          //判断传感器信号高低
  52   3             motor(2,5);
  53   3         else
  54   3            {
  55   4             motor(2,13);          //减速
C51 COMPILER V6.12  METHOD2                                                                05/26/2007 10:17:55 PAGE 2   

  56   4             delay(100);
  57   4            }
  58   3        }
  59   2       }
  60   1      }
  61          
  62          
  63          
  64          
  65          
  66          
  67          
  68          static void xint0_isr(void) interrupt 0
  69          {
  70   1         static uchar j=0;
  71   1         //char k;
  72   1         TMOD=0x22;	        /* 设定T1的工作模式为2 */
  73   1         TH1=0x9B;		/* 装入定时器的初值    */
  74   1         TL1=0x9B;
  75   1         PT1=1;
  76   1         j++;
  77   1         ET1=1;
  78   1         EA=1; 
  79   1         if(j==5||j==9)
  80   1           {
  81   2             stop();
  82   2             TR1=1;
  83   2              if(j==5)
  84   2               {
  85   3                    motorz(1,12);
  86   3                    motorz(2,-10);
  87   3                    delayz(600);
  88   3                }
  89   2               if(j==9)
  90   2                 {
  91   3                    motorz(1,-10);
  92   3                    motorz(2,10);
  93   3                    delayz(740);
  94   3                  }
  95   2               stop();
  96   2           }
  97   1         else
  98   1         {
  99   2         TR1=1;
 100   2         motorz(1,m1);
 101   2         motorz(2,m2);
 102   2         //for(k=0;k<2;k++)
 103   2         delayz(250);
 104   2         }  
 105   1         ET1=0;  
 106   1      }


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

C51 COMPILER V6.12  METHOD2                                                                05/26/2007 10:17:55 PAGE 3   


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

⌨️ 快捷键说明

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