原创 LPC2103定时器0定时实验-查询方式

2009-3-15 15:02 4109 7 9 分类: MCU/ 嵌入式

      今天做lpc2103的定时器定时实验,相关的c语言程序如下:


    /***********定时器0定时--查询方式**********************************/
//功能:用定时器0实现0.5秒定时,查询标志位等待定时时间到达,对LED进行控制,让LED每秒钟亮一次
//编写:胡峰
//说明:参照ZLG电子教案
/***********************************************************************************/
#include"inc\config.h"


#define LED 1<<17                       //p0.17控制 LED,低电平亮


/***********************************************************************************


**函数名称:Init_timer0()


**函数功能:使用定时器T0实现0.5s钟定时,控制LED闪烁


***********************************************************************************/
void Init_timer0(void)
{
  T0TC = 0;                            //定时计数器设置为0
  T0PR = 0;                            //时钟不分频
  T0MCR = 0x03;                        //设置T0MR0匹配后产生中断并且复位T0TC
  T0MR0 = Fpclk/2;                      //0.5秒定时
  T0TCR = 0x01;                        //启动定时器
}
/***********************************************************************************


**函数名称:main()


**函数功能:使用定时器T0实现0.5s钟定时,控制LED闪烁


***********************************************************************************/


void main(void)
{
  PINSEL0 = 0x00000000;                //设置管脚连接GPIO
  IO0DIR = LED;                        //设置LED控制口输出
 
  Init_timer0();                       //定时器0初始化
  while(1)
  {
    while((T0IR & 0x01)==0);           //等待定时时间到
    T0IR = 0x01;                       //清楚中断标志
    if((IO0SET & LED)==0) IO0SET = LED;//LED灭
    else IO0CLR = LED;                 //LED亮
  }
//return 0;
}


37a7733b-af90-4468-b2d0-50e642661132.jpg


0a683f65-b908-40ba-8c96-cb4968784e21.jpg


运行效果请看这里:


 


      结果我发现一个问题,按照程序中的定时时间应该是0.5秒LED就会转换一次状态,可是实际运行出来的结果并不是这样,其亮和灭的时间似乎已经大于了1s,我的程序是直接烧写到flash中的,不知道这是什么原因造成的?有人遇到过这样的情况吗?请和我交流。



 

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户191889 2009-3-15 22:15

在我的第二个实验中,LED闪烁已经准了,就是时钟的设置方面的问题,哈

用户114956 2009-3-15 17:24

定时器作延时应该很准的.请检查Fpclk软件设定值是否与硬件一致.
相关推荐阅读
用户191889 2009-08-15 14:59
1602+DS1302+18B20
https://static.assets-stash.eet-china.com/album/old-resources/2009/8/15/0883e80c-7762-44d3-ab2e-51e5...
用户191889 2009-08-14 16:11
液晶12864显示时钟和李白诗
https://static.assets-stash.eet-china.com/album/old-resources/2009/8/14/5ba7aa9b-adb9-45fc-8899-b4ba...
用户191889 2009-08-09 15:38
1602液晶+DS1302实时时钟
https://static.assets-stash.eet-china.com/album/old-resources/2009/8/9/0e92eee0-74a9-4f80-8a98-3f7a6...
用户191889 2009-07-03 19:55
【基础知识二】阻容降压的原理--转载
    最近研究公司里简单的单相电表的电压部分用到了阻容降压的方法取得电源,不太懂这个阻容降压,学习学习下面的内容。电容降压的工作原理   电容降压的工作原理并不复杂。他的工作原理是利用电容在一定的交...
用户191889 2009-06-29 22:06
[基础知识一]数字地和模拟地的区别--转载
      模拟电路涉及弱小信号,但是数字电路门限电平较高,对电源的要求就比模拟电路低些。既有数字电路又有模拟电路的系统中,数字电路产生的噪声会影响模拟电路,使模拟电路的小信号指标变差,克服的办法是分...
用户191889 2009-05-24 14:33
模拟电子很重要
      最近感觉模拟电子非常重要,大家如果是搞设计,一定要学好模拟电子。...
EE直播间
更多
我要评论
2
7
关闭 站长推荐上一条 /3 下一条