导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→实例

* 53196: C51计时器程序

   sjpu 
sjpu发表的帖子 

 实例
//T0定时配置,每25mS中断一次
...
TMOD |= 0x60;//T0定时,
TH0 = 0x3C;
TL0 = 0x0B0;//T0定时周期为25ms,24Mhz晶振
ET0 = 1;
EA = 1;
...

//在需要延时处
...
T_count = 80;//80X25ms=2S,根据延时的长短改变T_count的值即可
TR0 = 1;//启动定时器
if(T_count >   0 )
{
  return;// 否则直接返回,等待T_count==0
}
 ...;//后续代码

void timer0(void ) interrupt 1// 定时中断
{
 TH0 = 0x3c;
 TL0 = 0x0a8;
 T_count--;
 if(T_count == 0 )
  {
   TR0 = 0;
  } 
}

发表时间:2004年4月23日11:39:13

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  53208.[详细][quote][b]以下是引用[i]sjpu在2004-4-23 11:39:13[/i..
摘要:[quote][b]以下是引用[i]sjpu在2004-4-23 11:39:13[/i]的发言:[/b] 实例//T0定时配置,每25mS中断一次  ...  TMOD ......(529字)
- [sjpu][881次] 2004年4月23日

[上一篇帖子]:[求助]有人救我吗?想不到烧写一个程序是如此的难,我怎样才能确认数据缓冲区的内容是正确的呢?
[下一篇帖子]:有点意思:通常程序跑飞是当CPU遇到了一个错误的指令地址,从而使程序跑到它不该去的地方,陷入了死循环