我是靠谱客的博主 跳跃项链,最近开发中收集的这篇文章主要介绍51定时器初始化步骤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

定时器初始化需要六步:

void TimerInit()

{

TMOD = 0X01;

TH0 = (65536 - X) /256;//(65536-X)为定时器初值,如定时10ms,则X=1000

TL0 = (65536 - X)%256;

EA =  1;

ET0 = 1;

TR0 = 1;

}

中断函数:

void Timer0 interrupt 1

{

TH0 = (65536-X)/256;

TL0 = (65536-X)%256;

num++;

if(num>100)

num = 1;

}


/

Step1: 设置系统CLK


Setp2: 设置timer工作模式
TMOD = 0x20;


Step3: 设置timer clk源
CKCON = 0x80;


step4: 设置定时值
TL1 = 0x0F;
TH1 = 0x0F;


step5: 启动timer
TCON = 0x40;
(TR1 = 1)


step6: timer中断允许
IE = 0x80
(ET1 = 1)


step7: 全部中断使能
EA = 1;


step8: 编写中断函数
void Timer1_ISR (void) interrupt 3
{
   static int counter = 0;


   if((counter++) == LED_TOGGLE_RATE)
   {
      LED = ~LED;                      // Toggle the LED
      counter = 0;
   }
}

最后

以上就是跳跃项链为你收集整理的51定时器初始化步骤的全部内容,希望文章能够帮你解决51定时器初始化步骤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部