标题: 利用中断控制舵机,现在一开机舵机就可以启动,但我想有条件地启动,如何修改 [打印本页]

作者: 衣夏彤    时间: 2019-7-26 16:28
标题: 利用中断控制舵机,现在一开机舵机就可以启动,但我想有条件地启动,如何修改
利用中断控制舵机,现在一开机舵机就可以启动,但我想有条件地启动,比如上电10秒或者按哪个键,请问如何修改?
代码:

#include<reg52.h>
#include "bstv51.h"
uint i=0;
void Init_timer0(void)
{
    TMOD |= 0X01;        
TH0=0XFF;        
TL0=0XA3;  
EA=1;   
ET0=1;  
TR0=1;
}
void main()
{
    bstv51_init();  
Init_timer0();
while(1)
{
   
  if(i==25)    //1=0.1ms
  {
      L0=~L0;
   i=0;  
  }
   
}
}
void Timer0_isr(void)interrupt 1
{
    TH0=0xFF;   //50ms=(12/11059200)(65535-???)  ???=19456????????????0x4C00
TL0=0xA3;
i++;
}



作者: 列子御风    时间: 2019-7-27 10:19
声明一个全局变量。

然后加一个for套在外面

控制变量就可以控制启动前的条件
作者: 衣夏彤    时间: 2019-7-27 11:40
列子御风 发表于 2019-7-27 10:19
声明一个全局变量。

然后加一个for套在外面

我试了一下,但是不行。。。。舵机启动不了。。。
作者: 列子御风    时间: 2019-7-27 22:37
衣夏彤 发表于 2019-7-27 11:40
我试了一下,但是不行。。。。舵机启动不了。。。

你把启动代码简化成短结构的。

然后包裹在for里面
作者: WD51H    时间: 2019-7-28 16:02
用if 判断按键引脚电平,符合条件再初始化定时器,或者TR0=1开中断




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1