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

📄 直流电机.lst

📁 直流电机调速proteus仿真
💻 LST
字号:
C51 COMPILER V6.12  ___鱛缁_                                                               07/06/2009 11:10:37 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<reg51.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          
   5          sbit key2=P3^2;
   6          sbit key1=P3^1;
   7          sbit CLOCK=P2^4;
   8          sbit ST=P2^5;
   9          sbit EOC=P2^6;
  10          sbit OE=P2^7;
  11          sbit PWM=P3^7;
  12          uint temp;
  13          uchar start;
  14          
  15          void keyscan();
  16          void delay(uint zz);
  17          void main()
  18          {	
  19   1      	P3=0;P0=0xff;
  20   1      	TMOD=0x02;
  21   1      	TH0=0x01;
  22   1      	TL0=0X00;
  23   1      	IE=0x82;
  24   1      	TR0=1;
  25   1      	start=0;
  26   1      	while(1)
  27   1      		{
  28   2      			
  29   2      			keyscan();			
  30   2      			while(start)
  31   2      				{
  32   3      
  33   3      					ST=0;ST=1;ST=0;	//启动ADC0809
  34   3      					while(!EOC);		//查询EOC是否为1;
  35   3      					OE=1;
  36   3      					temp=P1;				//读取A/D转化的结果
  37   3      					OE=0;
  38   3      					PWM=1;				//PWM输出高电平
  39   3      					keyscan();
  40   3      					delay(temp);		//正脉冲宽度
  41   3      					PWM=0;				//PWM输出低电平
  42   3      					keyscan();
  43   3      					delay(255-temp);	//低脉冲宽度
  44   3      
  45   3      				}		
  46   2      		}
  47   1      }
  48          
  49          void keyscan()
  50          {
  51   1      
  52   1      	key2=1;
  53   1      	key1=1;
  54   1      
  55   1      	if(!key1)
C51 COMPILER V6.12  ___鱛缁_                                                               07/06/2009 11:10:37 PAGE 2   

  56   1      		{
  57   2      			delay(5);
  58   2      			if(!key1)
  59   2      				{
  60   3      					start=1;
  61   3      				}
  62   2      			while(!key1);
  63   2      			delay(5);
  64   2      			while(!key1);
  65   2      		}
  66   1      
  67   1      	key2=1;
  68   1      	key1=1;
  69   1      	if(!key2)
  70   1      		{
  71   2      			delay(5);
  72   2      			if(!key2)
  73   2      				{
  74   3      					
  75   3      					if(!PWM)PWM=1;
  76   3      						else PWM=0;
  77   3      					if(start)PWM=0;
  78   3      					start=0;
  79   3      				}
  80   2      			while(!key2);
  81   2      			delay(5);
  82   2      			while(!key2);
  83   2      		}
  84   1      }
  85          
  86          void clockwave() interrupt 1
  87          {	
  88   1      	CLOCK=!CLOCK;
  89   1      	TH0=0x01;
  90   1      	TL0=0X00;
  91   1      }
  92          
  93          
  94          void delay(uint zz)
  95          {
  96   1      	uint x,y;
  97   1      	for(x=zz;x>0;x--)
  98   1      		for(y=50;y>0;y--);
  99   1      }


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