51单片机定时器0工作在模式0,每中断10次,使P2.0引脚连接的LED灯闪烁。
//单片机网www.51hei.com提供的演示程序.
#include "reg_c51.h"
int nn; //中断次数变量
void main(void)
{
TMOD &= 0xF0; //定时器0运行在模式0 ,13位计数器
// GATE0=0; C/T0#=0; M1=0; M0=0;
TH0 = 0x00; //设置初值0x00,所以计数值为8192,若是时钟频率为12MHz
TL0 = 0x00; //则8192μs中断一次
ET0=1; //允许定时器0中断
EA=1; //允许总中断
TR0=1; //启动定时器0
while(1); //无限循环,没有循环体
}
void it_timer0(void) interrupt 1 定时器0中断服务程序
{
nn=nn++; //每次中断nn加1
if(nn==10) //当中断10次后,使LED灯闪烁
{ nn=0;
P2_0 = ~P2_0; //引脚P2.0取反
}}