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

📄 直流电机.lst

📁 单片机和电机的简单结合运用
💻 LST
字号:
C51 COMPILER V6.12  ___鱛缁_                                                               01/03/2010 16:01:47 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE ___鱛缁_
OBJECT MODULE PLACED IN .\直流电机.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\直流电机.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>
   2          #define uint unsigned int
   3          #define uchar unsigned char
   4          sbit dianji=P1^7;
   5          sbit zen=P1^0;
   6          sbit jian=P1^1;
   7          uchar table[]={0xc0,0xf9,0xa4,0xb0,
   8                         0x99,0x92,0x82,0xf8,
   9                         0x80,0x90,0x88,0x83,
  10                         0xc6,0xa1,0x86,0x8e};//数码管对应显示0123456789abcdef
  11          int num;
  12          void delay(uint z)  //延时子函数
  13          {
  14   1         uint x,y;
  15   1         for(x=z;x>0;x--)
  16   1           for(y=110;y>0;y--);
  17   1      }
  18          void key()  //按键扫描函数
  19          {
  20   1         if(zen==0)
  21   1         {
  22   2            delay(5);
  23   2            if(zen==0)
  24   2            {
  25   3                num++;
  26   3                if(num==5)
  27   3                num=4;
  28   3            }
  29   2            while(!zen);
  30   2         }
  31   1         if(jian==0)
  32   1         {
  33   2            delay(5);
  34   2            if(jian==0)
  35   2            {
  36   3                num--;
  37   3                if(num==-1)
  38   3                num=0;
  39   3            }
  40   2            while(!jian);
  41   2         }
  42   1      }
  43          void display(int x) //显示函数
  44          {
  45   1         if(x==0)
  46   1            P2=0;  
  47   1         else if(x==1)
  48   1         {
  49   2            P2=0x01;
  50   2            P0=table[1];
  51   2            delay(5);
  52   2         }
  53   1         else if(x==2)
  54   1         {
  55   2            P2=0x02;
C51 COMPILER V6.12  ___鱛缁_                                                               01/03/2010 16:01:47 PAGE 2   

  56   2            P0=table[2];
  57   2            delay(5);
  58   2         }
  59   1          else if(x==3)
  60   1         {
  61   2            P2=0x04;
  62   2            P0=table[3];
  63   2            delay(5);
  64   2         }
  65   1         else
  66   1         {
  67   2            P2=0x08;
  68   2            P0=table[4];
  69   2            delay(5);
  70   2         }
  71   1      }
  72          void main()
  73          {  
  74   1         int di,gao;
  75   1         num=0;
  76   1         while(1)
  77   1         {
  78   2            for(di=4-num;di>0;di--)
  79   2            {
  80   3               dianji=0; 
  81   3               display(num);
  82   3               key();
  83   3            }
  84   2            for(gao=num;gao>0;gao--)
  85   2            {  
  86   3               dianji=1;
  87   3               display(num);
  88   3               key();
  89   3            }
  90   2         }
  91   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    262    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     18       4
   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 + -