中级会员
- 积分
- 201
- 威望
- 136
- 贡献
- 39
- 兑换币
- 0
- 注册时间
- 2012-5-7
- 在线时间
- 13 小时
- 毕业学校
- 安徽建筑工业学院
|
用dp512做了个模块,查询法测PWM频率,数码管显示,每次通过BDM烧写后显示正常,可为什么每次单片机重启后数码管数据显示为0?谁能告诉我更好的测频率和占空比的方法啊?
void HL_SetMainTimer(void)
{
TSCR1=0x90; //激活定时器、标志位快速清除
TIOS=0x00; //输入捕捉
TIE=0x00; //不允许中断
TSCR2=0x07; //计数器自由运行,不允许中断,禁止复位,/128分频,计数4us
TCTL3=0X00;
TCTL4=0X05; //通道0,1上升沿捕捉
ICOVW=0Xff; //结果不被覆盖
ICSYS=0X0A; //工作在队列方式,保持寄存器使能
DLYCT = 0x03; //控制延迟计数
}
void fre_compute()
{
word first,second,temp;
if(TFLG1_C0F)
{
first=TC0H;
second=TC0;
temp=second-first;
fre=250000/temp;
}
else
return;
}
|
|