金牌会员
- 积分
- 2898
- 威望
- 1582
- 贡献
- 758
- 兑换币
- 243
- 注册时间
- 2011-3-18
- 在线时间
- 279 小时
|
extern void PWM_init(void){
PWME = 0x00; //PWM禁止
PWMCTL = 0x70; //[7]0 6,7通道独立使用
//[6]1 4,5通道级联,通道5决定属性
//[5]1 2,3通道级联,通道3决定属性
//[4]1 0,1通道级联,通道1决定属性
PWMPRCLK = 0x00; //不分频,Clock A和Clock B为总线时钟频率80M
PWMSCLA = 0x07; //Clock SA = Clock A / (2 * PWMSCLA)
//Clock SA = 80M / 14 = 5.71M
PWMSCLB = 0x28; //C//Clock SA = Clock A / (2 * PWMSCLA)
//Clock SA = 80M / 80 = 1M
PWMCLK = 0x6A; //时钟选择
//[7:6] B,SB
//[5:4] SA
//[3:2] SB
//[1:0] SA
PWMPOL = 0xAA; //先1后0
PWMCAE = 0x00; //左对齐
//---------------------------------------------------------------
//
//---------------------------------------------------------------
PWMPER01 = 500; //频率 1/(1/5710000*500)=11.42K
PWMDTY01 = 400; //占空比400/500=80%
//---------------------------------------------------------------
//
//---------------------------------------------------------------
PWMPER23 = 20000; //频率 1/(1/1000000*20000)=50
PWMDTY23 = 1500; //中间1500 右1330 左1670
//---------------------------------------------------------------
//
//---------------------------------------------------------------
PWMPER7 = 8; //频率 1/(1/80000000*8)=10M
PWMDTY7 = 2; //占空比=2/8=25%
PWME = 0x8A; //1,3,7使能
}
自己改 |
|