单片机交流
直播中

斯克迪亚

12年用户 415经验值
私信 关注
[问答]

在51单片机中如何去采用定时器中断的方式?

定时器工作方式配置有哪几种?
在51单片机中如何去采用定时器中断的方式?

回帖(1)

成贯征

2021-7-16 14:12:42
  1.开全局中断 EA = 1
  2.对应中断使能 比如定时器1 ET1 = 1、定时器0 ET0 = 1
  3.定时器工作方式配置: 有三种方式 双8位定时 16位定时 还有捕捉方式 定时器2有4种 ,具体不介绍了 TMOD 是定时器0和定时器1方式配置的寄存器 TMOD = 0x01,定时器0工作在方式1(16位计数)
  4.打开定时器 TR0 = 1;定时器1打开是 TR1 = 1;
  5.中断服务程序:就是定时时间到,你要处理的事务。
  例子://50ms定时
  void main(void)
  {
  TMOD = 0x01; //配置方式
  TH0 = 0x3C; //计数时间
  TL0 = 0xB0;
  TR0 = 1; //开启定时器
  EA = 1; //全局中断打开
  ET0 = 1; //定时器0中断打开
  for(;;)
  }
  void Timer0_ISR(void) intterupt 1 //中断服务程序
  {
  TH0 = 0x3C; //计数时间
  TL0 = 0xB0;
  P1 = 0x11; //定时到,要执行的动作
  }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分