最近在学习步进电机梯形加减速,我把脉冲放到定时器中断里,加速是正常的,但就是不能达到预设速度,LED显示卡在中断里了,谢谢大家
单片机源程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit M3=P2^0;//脉冲
sbit D1=P1^0;//LED
uchar aa;
uint w,a;
void main()
{
w=3000;
TMOD=0x01;
TH0=(65536-w)/256;
TL0=(65536-w)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
D1=1;
}
}
void timer0() interrupt 1 //定时器0中断服务程序
{
TH0=(65536-w)/256;
TL0=(65536-w)%256;
if(w>=300)//加速
{
w--;
}
M3=1;
M3=0;
D1=0;
} |