📄 直流电机调速控制.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 + -