• 大小: 73KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: 其他
  • 标签: 电机测速  proteus  

资源简介

51单片机用KEIL4环境下编写的程序,里面也包含了proteus仿真图,是可以直接运行的,很适合初学者的学习使用

资源截图

代码片段和文件信息

#include 
#include 
#define uchar unsigned char
#define uint unsigned int
#define ON 0
#define OFF 1
sbit PWM=P3^5;
sbit MP=P3^4;
bit FLAG=0;
uchar code dispbit[6]={0x200x100x080x040x020x01};
 
uchar code seg[]={0xC00xF90xA40xB00x990x920x820xF80x800x90};
//0123456789
uchar disbuf[6]={00001010};
uint temp[6];
uint discount=0;
uint timecount=0;//定时的次数
uint T0count=0;
uint hus=0;
uint k=60;
uint Vc;
uint Vs;
uint tm=3000;
uint x;
void t0_serv() interrupt 1
{ T0count++;
}
void t1_serv() interrupt 3

  PWM=1;
  TH1=(65536-tm)/256;
  TL1=(65536-tm)%256;
  hus++;
  if(hus==tm)
   { PWM=0;
     TH1=(25536+tm)/256;
     TL1=(25536+tm)%256;
   
   } 
  timecount++;
    if(timecount==250) 
    {  
   //FLAG=1;
   TR0=0;
   hus=0;
   timecount=0;
   Vc=T0count*65536+TH0*256+TL0;
   Vs=144;
   if(abs(Vc-Vs)>5)
    { tm=abs(k*(Vc-Vs));
  T0count=0;
  TR0=1;
  TR1=1;
  ET0=1;
  ET1=1;
  EA=1;
}
  FLAG=1;
  TR0=0;
  timecount=0;
  }
P0=dispbit[discount];  
P1=seg[disbuf[discount]];  
discount++;
  if(discount==6)
   { discount=0;
   }
}    
void main()
{  uint i;
   TMOD=0x15;
   TH0=0;
   TL0=0;
   TH1=(65536-tm)/256;
   TL1=(65536-tm)%256;
   TR0=1;
   TR1=1;
   ET0=1;
   ET1=1;
   EA=1;
   while(1)
  { if(FLAG==1)
   { FLAG=0;
 x=T0count*65536+TH0*256+TL0;
  for(i=0;i<6;i++)
  {temp[i]=0;
  }
i=0;
while(x/10)
 { 
       temp[i]=x%10;
   x=x/10;
   i++;
  }
temp[i]=x;
    for(i=0;i<6;i++)
  {
    disbuf[i]=temp[i];
   } 

   timecount=0;
   T0count=0;
   TH0=0;
       TL0=0;
   T0count=0;
   TR0=1;
      
     }
   }
  
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-03-04 17:10  光电编码显示电机转速\
     文件        7911  2013-06-19 10:25  光电编码显示电机转速\04
     文件        9758  2013-06-19 10:25  光电编码显示电机转速\04.M51
     文件         912  2013-06-19 15:25  光电编码显示电机转速\04.Opt
     文件        2198  2013-06-19 10:25  光电编码显示电机转速\04.Uv2
     文件        3770  2013-06-19 10:25  光电编码显示电机转速\04.hex
     文件          54  2013-06-19 10:25  光电编码显示电机转速\04.lnp
     文件        1104  2013-06-19 10:25  光电编码显示电机转速\04_Opt.Bak
     文件        2194  2013-06-18 21:35  光电编码显示电机转速\04_Uv2.Bak
     文件        4699  2013-06-19 10:21  光电编码显示电机转速\1011.LST
     文件        7870  2013-06-19 10:21  光电编码显示电机转速\1011.OBJ
     文件        1754  2008-11-11 11:30  光电编码显示电机转速\1011.c
     文件        3770  2008-11-11 11:16  光电编码显示电机转速\1011.hex
     文件      138160  2017-03-26 07:56  光电编码显示电机转速\1021.DSN
     文件         840  2019-03-04 17:10  光电编码显示电机转速\1021.PWI
     文件      139642  2013-06-19 15:44  光电编码显示电机转速\Last Loaded 1021.DBK
     文件        6376  2005-03-22 15:22  光电编码显示电机转速\STARTUP.A51
     文件       14049  2013-06-19 10:21  光电编码显示电机转速\STARTUP.LST
     文件         749  2013-06-19 10:21  光电编码显示电机转速\STARTUP.OBJ

评论

共有 条评论