5_3_4.c

来自「单片机学习的例程.rar 学习单片机要从最基本的学起。对于初学者来说很适合的单片」· C语言 代码 · 共 28 行

C
28
字号
//定时器中断的实例。
//使用AT89C2051单片机,晶振频率为4MHz,用定时器0定时,
//使P1.0端口线上输出周期为2秒的方波脉冲,驱动接在该引脚上的发光二极管重复地亮一秒钟,停一秒钟。

#include <AT892051.h>
unsigned char data counter;			//计数5毫秒的个数
main()
{
	TMOD=0x00;						//定时器0为方式0
	IP=0x02;						//定时器中断0为高优先级
	TH0=0xCB;TL0=0x1D;				//定时器0的时间常数(5ms,4MHZ)
	counter=0;						//计数5毫秒的个数
	TR0=1;							//启动定时器0
	IE=0x82;						//允许定时器0中断
	while(1);
}

void time0_int(void) interrupt 1	//中断服务函数,每五毫秒中断一次
{
	TH0=0xCB;TL0=0x1D;				//重装定时器0的时间常数(5ms,4MHZ)
	counter++;
	if (counter==200)				//一秒时间到
		{
		counter=0;					//重新计数5毫秒的个数
		P1_0=~P1_0;					//P1.1引脚输出电平反相,使灯光闪烁
}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?