在线时间0 小时
UID354574
注册时间2012-4-23
NXP金币0
该用户从未签到
新手上路

- 积分
- 4
- 最后登录
- 1970-1-1
|
/*****************头文件****************************************/
#include /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
/***********************I/O初始化********************************/
void IO_INIT(void)
{
PTDD =0x00; //
PTDDD =0xFF; //
}
void PWM_INIT(void)
{
TPM2MODH=0x00;
TPM2MODL=0x64;
TPM2C1VH=0x00;
TPM2C1VL=0x28;
TPM2C1SC=0x68;//通道1中断使能,边沿对齐PWM
TPM2SC=0x0F;//TPM1时钟源为总线时钟;分频系数为128;溢出中断禁止
TPM2CNTH=0;//任意时刻对TPM1CNTH或TPM1CNTL的写操作将计数寄存器的计数值复位(清零?
}
/***************************************************
总线时钟配置函数
****************************************************/
void MCU_INIT(void)
{
SOPT1 = 0x00;
MCGC1 = 0xBB; // 选择外部参考时钟作为总线的时钟源,使能内部参考时钟
MCGC2 = 0x36; //选择外部1M~16M高频晶振,总线分频率为1
MCGC3 = 0x00; // PLL=0即禁止PLL
//计算一下总线频率:晶振频率是4MHz,BDIV=1,MCGOUT频率为4MHz,总线频率为2MHz
while(!(MCGSC&0x02));
}
/*********************主函数************************************/
void main(void)
{
MCU_INIT();
IO_INIT();
PWM_INIT();
PTDD=0x00;
EnableInterrupts; /* enable interrupts */
for(;;) {
//__RESET_WATCHDOG(); /* feeds the dog */
PTDD_PTDD1 = ~PTDD_PTDD1;
PTDD_PTDD0 = ~PTDD_PTDD0;
} /* loop forever */
/* please make sure that you never leave main */
}
求求大神了,,请帮我看一下程序,无论我怎么调试,PWM的占空比一直都是百分之五十,,,不知道我程序哪里出问题了,求指正
|
|