在线时间1 小时
UID137977
注册时间2007-12-27
NXP金币0
该用户从未签到
注册会员

- 积分
- 188
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2010-7-6 16:12:01
|
显示全部楼层
回复:倍频后的定时问题
回复第 2 楼 安 于2010-07-06 07:56:19发表:
TPM1SC=0B01001001;
0 1 0 01 001
001=时钟分频2,也就是时钟总线/2=16M,目前你的定时器时钟是16M。
我用的CPU是MC9S08DZ60,外部晶振8MHz,寄存器配置后升频为32MHz。好像我的倍频就没有起作用,没有升频到32MHz,所以定时也就不正确,请再给我看看。下面是我的程序。
//********************MCU初始化函数********************
//函数定义:void MCG_Init(void)
//描述:
//参数: 无
//返回值: 无
//备注:
//********************************************************
void MCG_Init(void)
{ MCGC1=0B10010011;
MCGC2=0B00110101;
MCGC3=0B00000001;
while(!(MCGSC&0x02)); //OCS初始化
SOPT1=0B11100000;
SOPT2=0B00000000;
SPMSC1=0X1C;
SPMSC2=0X00; }
/**********************************************
定时器初始化
**********************************************/
void TPM1_Init(void)
{ TPM1SC=0X00;
TPM1SC=0B01001010;//定时器1
TPM1MODH=0XC3;
TPM1MODL=0X50; //0XC350=0D50000次,0.25us*50000=12.5ms,定时12.5ms中断发生一次
} |
|