dabor                   

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  131 随笔 :: 0 文章 :: 101 评论 :: 0 Trackbacks

经常不知道 CPU  是死机,还是所写代码有问题,干脆弄个灯来观察 CPU 是否正常。
void Timer1 (void) interrupt 3		// T1 的中断号为 3
{
	static uchar numBlueLED	= 40;	// 2S (2/0.05)

	TR1	= 0;			// 停 T1
	TL1	= -50000;		// 低 8 位
	TH1	= (-50000) >> 8;	// 高 8 位
	TR1	= 1;			// 开 T1

	// 开蓝生命灯 5x50mS, 周期 2S
	numBlueLED--;

	if (numBlueLED == 5)
	{
		IO_BLUELED	= 0;	// 开蓝灯
	}
	else if (numBlueLED == 0)
	{
		IO_BLUELED	= 1;	// 关蓝灯
		numBlueLED	= 40;
	}
}

void main (void)
{
	//--- 定时器中断初始化 ---
	TMOD	= (TMOD & 0x0f) | 0x10;	// 置T1为方式1,并且不影响 T0
	// 延时50mS的时间常数
	// 计算方法: 1 uS 1 个周期 (12M / 12) 则应置数:65536 - (50000uS/1))
	TL1	= -50000;		// 低 8 位
	TH1	= (-50000) >> 8;	// 高 8 位

	TR1	= 1;			// 启动 T1
	ET1	= 1;			// T1 中断允许
	EA	= 1;			// 开中断

	while (TRUE)
	{
		NC;
	}
}




posted on 2008-07-21 13:48 dabor 阅读(370) 评论(0)  编辑 收藏 引用 所属分类: 11 C51
只有注册用户登录后才能发表评论。