智能车制作
标题:
产生20ms周期的PWM波,错误,PWM波的周期如何设定?
[打印本页]
作者:
kemi450
时间:
2010-4-18 18:45
标题:
产生20ms周期的PWM波,错误,PWM波的周期如何设定?
我用示波器检测出来我的PWM波的周期是60ms,为什么呀?PWM波的周期如何计算呢?望给出事例......
void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{ //锁相环时钟=2*16*(2+1)/(1+1)=48MHz
REFDV=1; //总线时钟=48/2=24MHz
SYNR=2;
while(!(CRGFLG&0x08));
CLKSEL=0x80; //选定锁相环时钟
}
void PWM(void)
{
PWME=0;
PWMPRCLK=3; //24M总线时钟8分频,得3M
PWMSCLA=150; //SA=A/2/150=10K
PWMCLK_PCLK0=1; //选SA
PWMPOL_PPOL0=1;
PWMCAE_CAE0=0;
PWMPER0=200; //10k/200=50Hz=20ms
PWMDTY0=100;
PWME=1;
}
作者:
王怀玉
时间:
2010-4-18 18:45
#include <hidef.h>
#include <MC9S12XS128.h>
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
void PWM_int(void)
{
PWME = 0x00; //关闭PWM各通道输出
PWMCTL = 0xF0; //01.23.45.67分别级联
//01 23舵机
//45 67电机
// PWMCLK = 0x00; //时钟选择寄存器
PWMCLK_PCLK1 = 1;
PWMCLK_PCLK3 = 1;
PWMCLK_PCLK5 = 0;
PWMCLK_PCLK7 = 0;
PWMPRCLK = 0x22; //预分频寄存器 2分频
PWMSCLA = 0x0a; //二次分频
PWMSCLB = 0x0a;
//PWMPOL = 0x00; //极性选择寄存器
PWMPOL_PPOL1 = 1;
PWMPOL_PPOL3 = 1;
PWMPOL_PPOL5 = 0;
PWMPOL_PPOL7 = 0;
PWMCAE = 0x00; //波形对齐寄存器
//通道周期寄存器
PWMPER01 = 0x4E1F;//20000-1=19999
PWMPER23 = 0x4E1F;//20000-1=19999
PWMPER45 = 0x07CF;//2000-1
PWMPER67 = 0x07CF;//2000-1
//通道占空比寄存器
PWMDTY01 = 1640;
PWMDTY23 = 2000;
PWMDTY45 = 0x03E8;
PWMDTY67 = 0x0000; //0-2000
PWME = 0xff; //打开PWM各通道输出
}
/***********************后期直接赋值不需要在调用***************/
void PWM_01_out(int out)
{
PWMDTY01 = out;
}
void PWM_23_out(int out)
{
PWMDTY23 = out;
}
void PWM_45_out(int out)
{
PWMDTY45 = out;
}
void PWM_67_out(int out)
{
PWMDTY67 = out;
}
作者:
王怀玉
时间:
2010-4-18 19:19
说明一下,我用的总线频率是80 m
作者:
francis
时间:
2010-4-18 21:54
80m !!
作者:
王怀玉
时间:
2010-4-19 08:53
回复
4#
francis
应该不高吧, 我看别的论坛生用这个频率的挺多的
作者:
nonfreedom
时间:
2010-4-19 12:21
回复
2#
王怀玉
里面 的那个pwm—in函数和pwm—out函数是什么啊,实现的是什么功能啊 ?刚学的,知道每句话的意思,就是不太明白具体实现的功能!求解。谢谢
作者:
王怀玉
时间:
2010-4-19 13:01
回复
6#
nonfreedom
就是你想输出多少占空比 就给out多少的数值
作者:
nonfreedom
时间:
2010-4-19 22:01
回复
7#
王怀玉
好想明白了,谢谢 啊
作者:
王怀玉
时间:
2010-4-20 18:58
回复
8#
nonfreedom
我用的pwm001控制舵机 函数PWM_01_out(int out);这个周期是20ms 你可也在 int out 那里写数字0到2000;即表示0到2ms注意要看你的舵机适合多少的占空比
我用pwm45控制电机 周期是1k,输入值是0到2000;
作者:
sunnylee
时间:
2010-5-16 10:19
看过
作者:
linyujin
时间:
2011-2-18 13:34
路过!
作者:
mashaokang1111
时间:
2011-2-20 19:45
BUS除以各种分频..然后得到的数值是1秒的脉冲数..然后设定周期寄存器..数值为20MS对应的脉冲数..周期就成20MS了..1S=1000MS这个你知道的吧
作者:
liuofsanzhong
时间:
2011-10-26 20:10
楼主是个好淫!!
作者:
754512926
时间:
2011-10-29 11:09
学习一下
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2