注册会员
- 积分
- 153
- 威望
- 106
- 贡献
- 39
- 兑换币
- 10
- 注册时间
- 2012-5-31
- 在线时间
- 4 小时
|
1贡献
#include"reg52.h"
#define uint unsigned int
#define uchar unsigned char
sbit servo=P2^0;
//sbit k1=P1^0;
//sbit k2=P1^1;
uint j,duoji,i;
void delay(uint t)
{
uint x,y;
for(x=t;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
for(i=0;i<10;i++)
{
if(i%2==0)
{ duoji=10; //45
delay(100);
}
else
{ duoji=20; //90
delay(100);
}
}
}
}
void timer0() interrupt 1
{
TH0=(65536-100)/256; //定时100us
TL0=(65536-100)%256;
j++;
if(j<=duoji)
servo=1;
else servo=0;
if(j==200)
j=0;
}
补充内容 (2012-6-18 12:34):
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
改过来了的。还是不能按要求转动。
if(j==200)
j=0;
将200改为176恰好是周期恰好是20ms。
但是还是不能按要求转动 |
|