关于51单片机PCA调制PWM的
小氚2015/03/14软件综合 IP:广东
我在自带PCA的51单片机数据手册里面看到,例程都是调处来几K的频率,可是舵机不是要20ms而已嘛?只要50hz而已。。
根本调不出来啊。。。
大神快救我,在线等。。
给个调出500hz的例子也可以。。

[修改于 9年11个月前 - 2015/03/14 09:06:23]

来自:计算机科学 / 软件综合
6
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
小氚 作者
9年11个月前 IP:广东
755918
#include <REG52.H>
sfr CCON=0xD8;
sfr CMOD=0xD9;
sfr CL=0xE9;
sfr CH=0xF9;
sfr CCAP0L=0xEA;
sfr CCAP0H=0xFA;
sfr CCAP1L=0xEB;
sfr CCAP1H=0xFB;
sfr CCAPM0=0xDA;
sfr CCAPM1=0xDB;
sfr PCAPWM0=0xf2;
sfr PCAPWM1=0xf3;
sbit CR=0xDE;

void main()
{
        CMOD=0x00;
        CL=0x00;
        CH=0x00;
        CCAP0L=0x80;
        CCAP0H=0x80;
        CCAP1L=0x80;
        CCAP1H=0x80;
        CCAPM0=0x42;
        CCAPM1=0x42;
        CR=1;
        while(1);
}
这是数据手册的例程,频率都是几K的
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
9年11个月前 IP:北京
755961
改CMOD分频设置
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小氚作者
9年11个月前 IP:广东
756348
引用 张静茹:
改CMOD分频设置
不是改变外部晶振或者定时器0溢出吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小氚作者
9年10个月前 IP:广东
756568
引用 张静茹:
改CMOD分频设置
#include <REG52.H>
#define uint unsigned int
#define uchar unsigned char
sfr CCON=0xD8;
sfr CMOD=0xD9;
sfr CL=0xE9;
sfr CH=0xF9;
sfr CCAP0L=0xEA;
sfr CCAP0H=0xFA;
sfr CCAP1L=0xEB;
sfr CCAP1H=0xFB;
sfr CCAP2L=0xEC;
sfr CCAP2H=0xFC;
sfr CCAP3L=0xED;
sfr CCAP3H=0xFD;
sfr CCAPM0=0xDA;
sfr CCAPM1=0xDB;
sfr CCAPM2=0xDC;
sfr CCAPM3=0xDD;
sfr PCAPWM0=0xf2;
sfr PCAPWM1=0xf3;
sfr PCAPWM2=0xf4;
sfr PCAPWM3=0xf5;
sbit CR=0xDE;




/************************************
函数名 :     init_PWM
功能 :       初始化函数
输入参数 :   无
返回参数 :   无
*************************************/
void init_PWM()
{   
CMOD=0x02;
CL=0x00;
CH=0x00;
CCAP0L=0x1a;
CCAP0H=0x1a;
CCAP1L=0x0d;
CCAP1H=0x0d;
CCAPM0=0x42;
CCAPM1=0x42;
CR=1;
}

/************************************
函数名 :     main
功能 :       主函数
输入参数 :   无
返回参数 :   无
*************************************/
void main()
{
init_PWM();

TMOD = 0x01;
    TH0 = 0x0B8;
    TL0 = 0x00;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
while(1);



}
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小氚作者
9年10个月前 IP:广东
756569
程序是这个,哪里有问题?
我想要50HZ,也就是20ms一个周期的PWM
然后PWM0   1ms高电平就好了
      PWM1   2ms高电平
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
小氚
笔友
文章
47
回复
862
学术分
0
2012/03/16注册,6年7个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}