找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4704|回复: 5
收起左侧

求大神教我单片机PCA-PWM固定频率可调占空比输出

[复制链接]
ID:229232 发表于 2017-9-4 22:15 | 显示全部楼层 |阅读模式
200黑币
本帖最后由 tcwoailuo 于 2017-9-4 22:47 编辑

我用的是12C5A60S2     我没用过单片机自带PWM的功能,限于水平,搞不定,想高人教我用这个功能实现固定频率可调占空比的程序编程,
还有就是我的目的是用6050原始数据输出的0-32768变量值,去控制电机占空比的比值,如果能教会我,回答的精彩,可以追加悬赏!

回复

使用道具 举报

ID:230985 发表于 2017-9-4 22:38 | 显示全部楼层
刚好学到这块儿。
周期=占空比*溢出时间,频率等于周期分之一,根据题设要求算出溢出时间,然后去配置定时器,八位自动重装模式,设置个定时器中断,然后就可以了,主要还是设置定时器中断。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:229232 发表于 2017-9-4 22:53 | 显示全部楼层
tilanta 发表于 2017-9-4 22:38
刚好学到这块儿。
周期=占空比*溢出时间,频率等于周期分之一,根据题设要求算出溢出时间,然后去配置定时 ...

求程序哈
回复

使用道具 举报

ID:229232 发表于 2017-9-4 22:55 | 显示全部楼层
怎么来编辑占空比的控制呢
回复

使用道具 举报

ID:229232 发表于 2017-9-4 22:55 | 显示全部楼层
tilanta 发表于 2017-9-4 22:38
刚好学到这块儿。
周期=占空比*溢出时间,频率等于周期分之一,根据题设要求算出溢出时间,然后去配置定时 ...

怎么来编辑占空比的控制呢
回复

使用道具 举报

ID:230985 发表于 2017-9-4 23:12 | 显示全部楼层

/*这个程序就是简单的通过pwm脉宽调节控制led灯光强*/

unsigned char pwm_led_val = 0;   //占空比初值
unsigned char pwm_t;           //周期


//定时器0中断
void timer0() interrupt 1        
{
        pwm_t++;
        if(pwm_t == 20)       
        {        pwm_t =0;        
                P1 = 0xff;                     //所有灯熄灭
        }
        if(pwm_led_val == pwm_t)
                P1 = 0;                           //        点亮所有灯               
}


void main()
{
        TMOD |= 0x02;   //设置为八位自动重装
        TH0 = 240;
        TL0 =  240;                //11.0592MHz占空比最大比值20,输出2880hz
        TR0 = 1;                //启动定时器0
        ET0 = 1;                //允许定时器0中断
        EA = 1;                        //开总中断
        while(1);
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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