标题:
STC15F2K60S2单片机中断程序错误
[打印本页]
作者:
954198997
时间:
2020-6-4 15:32
标题:
STC15F2K60S2单片机中断程序错误
需要使用单片机控制舵机往东西两个方向转动,但是在使用中断器进行50us/次中断时出现了错误,将时间设定为一秒一次角度变更。烧录程序后无反应。
#include <STC15.H>
#define uchar unsigned char
#define uint unsigned int
sbit _PWM = P4^1;
sbit b=P0^4;
sbit x=P0^5;
sbit n=P0^6;
sbit d=P0^7;
uchar count,jd,sj;
void Timer01Init(void);
void DelayMS(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
P4M1=0x00;
P0M0=0x00;
P4M0=0x02;
P0M1=0x00;
Timer01Init();
while(1)
{
if(jd==2)
{
ET0=0;
d=0x00;
DelayMS(400);
d=0xff;
ET0=1;
}
if(jd==4)
{
ET0=0;
x=0x00;
DelayMS(400);
x=0xff;
ET0=1;
}
}
}
void Timer01Init(void)
{
AUXR &= 0x7F;
TMOD &=0xf0;
TL0 =0xd2;
TH0 =0xff;
TF0=0;
EA=1;
ET0=1;
TR0 = 1;
}
void TIME0() interrupt 1
{
TL0 =0xd2;
TH0 =0xff;
sj++;
if(sj==2000)
{
jd++;
count=0;
}
if(count < jd)
{
_PWM=1;
}
else
_PWM=0;
count++;
count=count%40;
if(jd==6)
jd=0;
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1