【51单片机】使用STC烧录软件生成定时器的代码以及注意事项

简介: 使用STC烧录软件生成定时器的代码以及注意事项

1.点击定时器计算8.1.png

2.每次打开的时候都要配置

因为我的是89C52,所以配置的是下面的状态

不同的板子型号的配置状态不同

8.2.png


就得到了下面的代码

void Timer0Init(void)        //1毫秒@12.000MHz
{
    //AUXR &= 0x7F;        //定时器时钟12T模式

上面的代码是对于比较新的板子使用的,对于STC89C52,不要使用这段代码

    上面的代码是对于比较新的板子使用的,对于STC89C52,不要使用这段代码
    TMOD &= 0xF0;        //设置定时器模式
    TMOD |= 0x01;        //设置定时器模式
    TL0 = 0x18;        //设置定时初值
    TH0 = 0xFC;        //设置定时初值
    TF0 = 0;        //清除TF0标志
    TR0 = 1;        //定时器0开始计时
}

然后要加上下面的中断代码

   ET0=1;    EA=1;    PT0=0;

8.3.png

3.完整代码

void Timer0Init(void)   //1毫秒@12.000MHz
{
  //AUXR &= 0x7F;   //定时器时钟12T模式
  TMOD &= 0xF0;   //设置定时器模式
  TMOD |= 0x01;   //设置定时器模式
  TL0 = 0x18;   //设置定时初值
  TH0 = 0xFC;   //设置定时初值
  TF0 = 0;    //清除TF0标志
  TR0 = 1;    //定时器0开始计时
    ET0=1;
  EA=1;
  PT0=0;
}

4.定时器中断函数模板

8.4.png

void Timer0_Routine() interrupt 1
{
  static unsigned int T0Count;
  TL0 = 0x18;   //设置定时初值
  TH0 = 0xFC;   //设置定时初值
  T0Count++;
  if(T0Count>=1000)
  {
    T0Count=0;
  }
}

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

相关文章
|
3月前
|
C语言
【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
|
3月前
【51单片机】通过定时器中断 在8位数码管显示时间
【51单片机】通过定时器中断 在8位数码管显示时间
|
3月前
|
C语言
51单片机汇编语言流水灯代码
51单片机汇编语言流水灯代码
|
3月前
|
算法
51单片机不用定时器的数码管倒计时
51单片机不用定时器的数码管倒计时
|
6月前
|
传感器
51单片机循迹小车原理介绍和代码示例
51单片机循迹小车原理介绍和代码示例
51单片机循迹小车原理介绍和代码示例
|
6月前
|
传感器
51单片机矩阵键盘超详解!(内含LCD1602代码)
51单片机矩阵键盘超详解!(内含LCD1602代码)
83 0
【51单片机】一文带你利用【Keil软件的模板功能】【自定义模板】简化操作(带图详解)
【51单片机】一文带你利用【Keil软件的模板功能】【自定义模板】简化操作(带图详解)
|
6月前
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
55 1
|
6月前
|
数据采集 数据处理 C语言
单片机:探索其原理、应用与编程实践
单片机:探索其原理、应用与编程实践
86 1