找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1371|回复: 4
打印 上一主题 下一主题
收起左侧

利用中断控制舵机,现在一开机舵机就可以启动,但我想有条件地启动,如何修改

[复制链接]
跳转到指定楼层
楼主
ID:527444 发表于 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++;
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:591139 发表于 2019-7-27 10:19 | 只看该作者
声明一个全局变量。

然后加一个for套在外面

控制变量就可以控制启动前的条件
回复

使用道具 举报

板凳
ID:527444 发表于 2019-7-27 11:40 | 只看该作者
列子御风 发表于 2019-7-27 10:19
声明一个全局变量。

然后加一个for套在外面

我试了一下,但是不行。。。。舵机启动不了。。。
回复

使用道具 举报

地板
ID:591139 发表于 2019-7-27 22:37 | 只看该作者
衣夏彤 发表于 2019-7-27 11:40
我试了一下,但是不行。。。。舵机启动不了。。。

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

然后包裹在for里面
回复

使用道具 举报

5#
ID:591400 发表于 2019-7-28 16:02 | 只看该作者
用if 判断按键引脚电平,符合条件再初始化定时器,或者TR0=1开中断
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表