打印

关于LPC9107定时器/计数器问题,纳闷..

[复制链接]
1979|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzgwxflove|  楼主 | 2007-12-20 21:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近用LPC900系列的片子,发现一些和定时器/计数器相关的问题 

先说第一个:
  LPC9107的芯片,外部脉冲从T1(P0.7)输入 (T1C/T = 0),可是T1中并不计数,如果对PCLK计数(T1C/T = 1),则T1计数正常,测试如下程序:

//-------------------------------------------------------------------//功能:定时器初始化
//-------------------------------------------------------------------
void TimerInit(void)
{
    TMOD = 0x51;        //T0为16位定时器 T1为外部计数器
    //TMOD = 0x11;        //T0为16位定时器 T1为定时器

    TH1 = 0xff;
    TL1 = 0x00;    

    TR1 = 1;
    ET1 = 1;
}

//-------------------------------------------------------------------
//功能:管脚模式初始化
//-------------------------------------------------------------------
void IOInit(void)
{
     P1M1 = 0x00;
     P1M2 = 0x07;             //P1.0 P1.1 P1.2推挽输出

     P0M1 = P0M1 & 0xd9;
     P0M2 = P0M2 | 0x26;    // P0.7(T1)高阻抗输入

     KB5 = 0;
}
//-------------------------------------------------------------------
//
//-------------------------------------------------------------------
void main(void)
{
    TimerInit();
    IOInit();
    EA = 1;

    while (1)
    {
              ;
    }
}
//-------------------------------------------------------------------
//功能:对脉冲计数
//-------------------------------------------------------------------
void Timer1_interrupt(void) interrupt 3 using 3
{
    TR1 = 0;
    TH1 = 0xff;
    TL1 = 0x00;    
    TR1 = 1;

    RxD = !RxD;;    //闪烁指示进入中断
}

谢谢大家看看,是不是别的原因造成的?
 
 

相关帖子

沙发
yzgwxflove|  楼主 | 2007-12-20 21:37 | 只看该作者

re

外部脉冲肯定是送进去了,用示波器看的,1KHz左右。

使用特权

评论回复
板凳
yzgwxflove|  楼主 | 2007-12-21 08:45 | 只看该作者

大家帮我看看

看手册没有看出LPC的定时器和标准51有什么差别,为什么不行?谢谢了

使用特权

评论回复
地板
bagdmu| | 2007-12-21 09:09 | 只看该作者

LPC900的前三种定时/计数器模式与标准51没什么区别

使用特权

评论回复
5
yzgwxflove|  楼主 | 2007-12-21 11:34 | 只看该作者

谢谢LS

测试程序应该没有什么问题,是不是还有什么寄存器要设置?

使用特权

评论回复
6
yzgwxflove|  楼主 | 2007-12-21 18:05 | 只看该作者

结果

和LPC936对比测试,LPC9107的T1外部脉冲输入存在问题!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

179

帖子

1

粉丝