智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1099|回复: 0
打印 上一主题 下一主题

关于51控制舵机

[复制链接]

3

主题

7

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1057
威望
470
贡献
293
兑换币
305
注册时间
2015-9-22
在线时间
147 小时
毕业学校
中山大学
跳转到指定楼层
1#
发表于 2015-10-8 16:40:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
#include<reg52.h>
#include<intrins.h>
sbit pwm = P0^0;
unsigned int i = 0;
void init()
{
    TMOD = 0x02;
    TH0 = 0xD2;
    TL0 = 0xD2;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
}
void main()
{
        init();
        while(1);
}
void zd() interrupt 1
{
        if(i>=400)
                i=0;
        if(i<30)
                pwm = 1;
        else
                pwm = 0;
        i++;
}
晶振是11.0592MHZ,如上面程序,设置中断为50us,显然中断中的程序执行不会超过50us,那为什么此时此刻不能居中呢,而且按比例缩短中断时间,高电平的i为啥不是按比例增加呢,求问大神,本人菜鸟,谢谢!

回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-5 00:24 , Processed in 0.067675 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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