最近在學習步進電機梯形加減速,我把脈沖放到定時器中斷里,加速是正常的,但就是不能達到預設速度,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;
} |