这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Time0,1KHZ 我用Time0捕捉外输入1KHZ方波,出现以下问题,请教!

共2条 1/1 1 跳转至

Time0,1KHZ 我用Time0捕捉外输入1KHZ方波,出现以下问题,请教!!

院士
2006-09-17 18:14:16     打赏
Time0,1KHZ 我用Time0捕捉外输入1KHZ方波,出现以下问题,请教!!



关键词: Time0     我用     捕捉     输入     方波     出现     以下         

院士
2006-12-22 22:43:00     打赏
2楼
问 我用Time0捕捉外输入1KHZ方波,但捕捉到的时间值老是在5us左右震荡,如图,我是用查询中断标志位的方法,没有用到进入与退出中断函数,不应该有这样的现像出现啦,再说了它即使有延迟,也应该每次的延迟是一样的呀,我真不知到这差不多5us秒的时间是哪里来的,谢谢各位指点一下啦。!! 1: 你说得不清楚你的设置代码没看到,如果捕获后,定时器复位,并且上下沿都捕获,你的情况就是对的 2: 我的确是捕获后,定时器复位,并且上下沿都捕获,谢谢liwenz
VICIntSelect = 0x00;    //将红外定为IRQ;VICIntSelect =
VICVectAddr0=0;        //向量IRQ地址0保留
//    VICVectAddr0 = (int)IRQ_Remote_irq1;//向量IRQ1用于红外接收。
//中断优先级分配////////
//    VICVectCntl0 = 0x24;
T0CCR=0x07;    //(P115)设置捕获控制寄存器//双沿捕获,并存定时器的T0TC=0;
T0TCR=0x03;    //启动并复位定时器0
T0TCR=0x01;    //启动定时器0
T0PR=9;    //,最大值每10个pclk时TC加1
T0IR=0x10;    //清出所有的中断
//    VICIntEnable = 0x00000010;//中断使能分配(Time0)
我的确是捕获后,定时器复位(T0TC=0,或T0TCR=0x03,T0TCR=1都试过,一样的),并且上下沿都捕获
我刚开始是在IRQ_Remote_irq1()函数接收的值,发现它有好大的偏差,所以我就改为不进入中断函数,就只扫描T0IR捕捉标志,当我用1Khz方波时有5us的波动,当我用它接收红外码时,红外码的头是9ms的低电平,但测出来的值与实际的值有时候相差几us有时相差100多us,现像就好像是两个时钟的相位偏得太大,两个频率的跑,发果这这样我就觉得它芯片的这个功能就跟本没有什么用嘛。好头大!!谢谢!哪位大虾用这个功能接收过红外码,指点一下,谢谢!! 3: 我用Time0捕捉外输入1KHZ方波,出现以下问题,请教!!你把源码发一下,我们才能帮你找问题呀。 4: 红外遥控5us是没问题的,其实不用捕捉方式只要用下降沿触发中断计时即好,我用51就是如此实现,T0计时+外部中断

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]