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

📄 直流电机调速控制.c

📁 基于Proteus的51系列单片机设计与仿真
💻 C
字号:
/***********************************************************************
    直流电机转速控制,按下K1键,电机加速转动,按下K2键,电机减速转动						 
************************************************************************/
#include"reg51.h"
#define uint unsigned int
#define uchar unsigned char
sbit P2_1=P2^1;  //定义位变量
long a=355;
bit flag=1;
void  int0() interrupt 0        //  使占空比加大
{
	a+=3000;
	if(a>=65535)
	a=65534;
}
void  int1() interrupt 2       // 使占空比减小
{
	a-=3000;
	if(a<0)
	a=0;
}
void time0_server_(void) interrupt 1
{  
	if(flag==1)
	{
    	P2_1=0;
		TH0=65535-((65535-a)/256);      
    	TL0=65535-((65535-a)%256);
	}
    if(flag==0)
	{
		P2_1=1;
    	TH0=(65535-a)/256;      
    	TL0=(65535-a)%256;
	}
   flag=~flag;	
}
void Init_t0(void)    //初始化
{
      TMOD=0X01;     //选择方式1
	  TH0=(65535-a)/256;     
      TL0=(65535-a)%256;
	  ET0=1;
      TR0=1;
      EX0=1;         //打开外部中断0
	  IT0=1;         //下降沿触发中断INT0 
      EX1=1;         //打开外部中断1
	  IT1=1;         //下降沿触发中断INT1 
      EA=1;
}
void main(void)
{     
	P2_1=1;
	Init_t0();    //初始化
	while(1);       
}

⌨️ 快捷键说明

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