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

📄 123456.lst

📁 51单片机项目集
💻 LST
字号:
C51 COMPILER V8.17   123456                                                                05/07/2010 09:31:36 PAGE 1   


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

line level    source

   1          #include<reg51.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int 
   4          uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//转动数组
   5          uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
   6          uchar key1_down,key2_down,key3_down,key1_flag,key2_flag,key3_flag;//变量定义
   7          sbit key1 = P3^0;//按键定义
   8          sbit key2 = P3^1;
   9          sbit key3 = P3^2;
  10          /************************按键程序****************************/
  11          /****************按键延迟函数**********/
  12          void delay()
  13          {
  14   1              uchar a,b;
  15   1              for(a=0;a<25;a++)
  16   1              for(b=0;b<255;b++);
  17   1      }
  18          void key_scan()
  19          {
  20   1              /************按键1*************/
  21   1              if(key1 == 0)
  22   1              {
  23   2                      delay();
  24   2                      if(key1 == 0)key1_down = 1;     
  25   2              }
  26   1              if(key1_down == 1 && key1 == 1)
  27   1              {
  28   2                      key1_flag = 1;
  29   2                      key2_flag = 0;
  30   2                      key3_flag = 0;
  31   2                      key1_down = 0;  
  32   2              }
  33   1              /************按键2*************/
  34   1              if(key2 == 0)
  35   1              {
  36   2                      delay();
  37   2                      if(key2 == 0)key2_down = 1;     
  38   2              }
  39   1              if(key2_down == 1 && key2 == 1)
  40   1              {
  41   2                      key1_flag = 0;
  42   2                      key2_flag = 1;
  43   2                      key3_flag = 0;
  44   2                      key2_down = 0;  
  45   2              }
  46   1              /************按键3*************/
  47   1              if(key3 == 0)
  48   1              {
  49   2                      delay();
  50   2                      if(key3 == 0)key3_down = 1;     
  51   2              }
  52   1              if(key3_down == 1 && key3 == 1)
  53   1              {
  54   2                      key1_flag = 0;
  55   2                      key2_flag = 0;
C51 COMPILER V8.17   123456                                                                05/07/2010 09:31:36 PAGE 2   

  56   2                      key3_flag = 1;
  57   2                      key3_down = 0;  
  58   2              }
  59   1      }
  60          /****************转动延迟函数**********/
  61          void delayB(uint t)
  62          {                           
  63   1         uchar k;
  64   1         while(t--)
  65   1         {
  66   2          for(k=0; k<125; k++)
  67   2          { }
  68   2         }
  69   1      }
  70          /************************电机正转****************************/
  71          void motor_ffw()
  72          { 
  73   1              uchar i;
  74   1              for (i=0; i<8; i++)       //一个周期转30度
  75   1          {
  76   2              P1 = FFW[i];          //取数据
  77   2              delayB(100);            //调节转速
  78   2          }
  79   1       }
  80          /************************电机反转****************************/
  81          void motor_rev()
  82          {
  83   1              uchar i;
  84   1              for (i=0; i<8; i++)     //一个周期转30度
  85   1          {
  86   2              P1 = REV[i];          //取数据
  87   2              delayB(100);            //调节转速
  88   2          }
  89   1      }
  90          /************************主程序****************************/
  91          main()
  92          { 
  93   1              while(1)
  94   1          {  
  95   2              key_scan();
  96   2                      if(key1_flag == 1)motor_ffw();       //电机正转
  97   2                  if(key2_flag == 1)motor_rev();              //电机反转
  98   2              if(key3_flag == 1) P1 = 0x0f;                   //电机停止
  99   2              }
 100   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    189    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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