#include "STC15F2K60S2.h"
#include "INTRINS.H"
#define uchar unsigned char
#define uint unsigned int
uint a;
sbit pwm=P0^0;
sbit IN1=P0^1;
sbit IN2=P0^2;
sbit flage=P1^1;
sbit beep=P1^2;
void init()
{
a=200;
p10=0;
TMOD=0x11;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
EA=1;
ET0=1;
}
void main()
{
P0M0=0x00;
P0M1=0x00;
P1M0=0x00;
P1M1=0x00;
init();
IN1=0;
IN2=1;
TR0=1;
flage=1;
pwm=1;
while(1) ;
}
void timer0()interrupt 1 //定时器0为0.1ms一个周期
{
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if( flage==1)
{
beep=1;
if(a>195) //产生周期为20ms,高电平为0.5ms,舵机会转到0度
pwm=1;//如果想反转方向,就需把第一个p10=0,第二个p10=-1
else
pwm=0;
a--;
if(a<1)a=200;
}
else
{
beep=0;
if(a>180) //产生周期为20ms,高电平为2.0ms,舵机会转到135度
pwm=1;
else
pwm=0;
aa--;
if(a<1)a=200;
}
}
#include "INTRINS.H"
#define uchar unsigned char
#define uint unsigned int
uint a;
sbit pwm=P0^0;
sbit IN1=P0^1;
sbit IN2=P0^2;
sbit flage=P1^1;
sbit beep=P1^2;
void init()
{
a=200;
p10=0;
TMOD=0x11;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
EA=1;
ET0=1;
}
void main()
{
P0M0=0x00;
P0M1=0x00;
P1M0=0x00;
P1M1=0x00;
init();
IN1=0;
IN2=1;
TR0=1;
flage=1;
pwm=1;
while(1) ;
}
void timer0()interrupt 1 //定时器0为0.1ms一个周期
{
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if( flage==1)
{
beep=1;
if(a>195) //产生周期为20ms,高电平为0.5ms,舵机会转到0度
pwm=1;//如果想反转方向,就需把第一个p10=0,第二个p10=-1
else
pwm=0;
a--;
if(a<1)a=200;
}
else
{
beep=0;
if(a>180) //产生周期为20ms,高电平为2.0ms,舵机会转到135度
pwm=1;
else
pwm=0;
aa--;
if(a<1)a=200;
}
}