• 大小: 71KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-07-30
  • 语言: 其他
  • 标签: proteus  

资源简介

直流电机控制程序,可以学习proteus仿真,包含c文件及protues文件

资源截图

代码片段和文件信息

                                                                                                                                                                                                                                                                                                                                                                                                                                                           // PWM 控制 DC电机转速
// 晶振为12M
// 利用定时器控制产生占空比可变的 PWM 波
// 按K1,PWM值增加,则占空比增加电机转快
// 按K2,PWM值减小,则占空比减小电机转慢。
// 当PWM值增加到最大值(255)或减小到最小值(1)时,蜂鸣器将报警。
#include < reg51.h >
sbit  K1 =P1^0 ;            //增加键
sbit  K2 =P1^1 ;            //减少键
sbit  K3 =P1^2 ;            //转向选择键
sbit  PWMUOT =P3^0 ; //PWM波输出
sbit  turn_around =P3^1 ; //转向控制输出
sbit  BEEP =P3^2 ;          //蜂鸣器
unsigned int PWM;   
void Beep(void);
void delay(unsigned int n);

void main(void)
{   
     TMOD=0x11;//设置T0、T1为方式1(16位定时器)
     TH0=0 ;   //65536us延时常数(t=(65536-TH)/fosc/12)
 TL0=0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            M ; //脉宽调节,高8位
 TL1=0;
     EA=1;  //开总中断
     ET0=1;  //开T0中断
     ET1=1;  //开T1中断
     TR0=1 ;  //T0定时允许
   while(1)
   {  
 if(K3==0&&K1==1&&K2==1)//转向控制
   {
turn_around=!turn_around;
 }
 while(K3==0);//检测K3是否释放
 do{
PWM++ ;
if(PWM>0xfe)//防止PWM计数溢出
{
PWM=0xff;
}
if(PWM==0xff)Beep() ; 
delay(3000);
         }
     while(K1==0&&K2==1);
     do{
PWM-- ;
if(PWM<1)//防止PWM计数溢出
{
PWM=1;
}
if(PWM==1)Beep() ;
delay(3000);
          }
     while(K1==1&&K2==0);
   }
}


void timer0() interrupt 1 using 2// 定时器0中断服务程序.
{  
    TR1=0 ;  //T1禁止
TH0=0 ;    //置T0定时常数
TL0=0 ;
TH1=PWM ;  //置T1定时常数
TL1=0;
TR1=1 ;  //T1允许
  PWMUOT=0 ; //PWM波输出0 
}

void timer1() interrupt 3 using 3  // 定时器1中断服务程序

    TR1=0 ;  //T1禁止
    PWMUOT=1 ; //PWM波输出1
}

void Beep(void)   //蜂鸣器子程序  
  {
      unsigned char i;
      for (i=0;i<100;i++)
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     107833  2008-11-08 23:57  1 直流电机控制\Last Loaded pwm.DBK

     文件     106991  2008-11-09 10:46  1 直流电机控制\Last Loaded pwm1.DBK

     文件     106991  2008-11-09 10:54  1 直流电机控制\pwm.DSN

     文件        840  2002-12-28 18:00  1 直流电机控制\pwm.PWI

     文件        792  2008-11-09 10:58  1 直流电机控制\pwm1.PWI

     文件       4310  2008-11-09 10:53  1 直流电机控制\pwm2

     文件       3462  2008-12-28 19:30  1 直流电机控制\pwm2.c

     文件        696  2008-11-09 10:53  1 直流电机控制\pwm2.hex

     文件         64  2008-11-09 10:53  1 直流电机控制\pwm2.lnp

     文件       4415  2008-11-09 10:53  1 直流电机控制\pwm2.LST

     文件       7906  2008-11-09 10:53  1 直流电机控制\pwm2.M51

     文件       4337  2008-11-09 10:53  1 直流电机控制\pwm2.OBJ

     文件       1476  2008-12-25 23:28  1 直流电机控制\pwm2.Opt

     文件        162  2008-12-25 23:28  1 直流电机控制\pwm2.plg

     文件       2045  2008-12-25 23:28  1 直流电机控制\pwm2.Uv2

     文件       6376  2005-03-22 15:22  1 直流电机控制\STARTUP.A51

     文件      14049  2008-11-09 10:53  1 直流电机控制\STARTUP.LST

     文件        749  2008-11-09 10:53  1 直流电机控制\STARTUP.OBJ

     目录          0  2013-06-05 12:16  1 直流电机控制

----------- ---------  ---------- -----  ----

               373494                    19


评论

共有 条评论