延时2秒

2019-07-15 23:02发布

#include<reg52.h>
unsigned int count=0;
sbit A=P3^0;
void time0_Init(void)
{
TMOD=0x01;
TH0=0x4c;
TL0=0x00;
ET0=1;
EA=1;
TR0=1;
}
void Time0_Int() interrupt 1
{
TH0=0x4c;
TL0=0x00;
count++;
}
void main(void)
{
Time0_Init();
if(count==40)
{A=1;
count=0;
}
}
请大神帮忙看看哪里有问题!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
绘沙
1楼-- · 2019-07-16 00:39
          while(1);??
xingmingsen
2楼-- · 2019-07-16 03:16
绘沙 发表于 2013-8-14 13:47
while(1);??

应该加在哪里?
方培森
3楼-- · 2019-07-16 03:30
 精彩回答 2  元偷偷看……
方培森
4楼-- · 2019-07-16 05:24
从你的计数初值看来你应该是用了方式二,那么TMOD应该要改吧,应该是0x20
xingmingsen
5楼-- · 2019-07-16 07:50
方培森 发表于 2013-8-14 16:11
从你的计数初值看来你应该是用了方式二,那么TMOD应该要改吧,应该是0x20

我用的是定时器C/T=0,方式1!初值50ms!循环四十次!达到2s,延时2s后让P3^0口为高电平,用来控制两线舵机旋转!
但是程序下到单片机后,不能驱动舵机旋转!
方培森
6楼-- · 2019-07-16 11:38
xingmingsen 发表于 2013-8-14 16:46
我用的是定时器C/T=0,方式1!初值50ms!循环四十次!达到2s,延时2s后让P3^0口为高电平,用来控制两线舵机旋转 ...

我学的计数初值是这样的:TH0=(65536-50000)/256;TH1=(65536-50000)%256;你可以试试,我这有图为证
我也是初学者,你学的两线舵机我不懂,,,
QQ截图20130814203313.png

一周热门 更多>