STC15定时器的仿真出现问题了

有没有人能教我一下STC15的计数器怎么用?
我自己设的计数器用仿真现象不对

1,先参考例程改
2,注意看手册,有些STC没有timer1
3,建议直接上硬件,仿真环境不能完全模拟硬件,有时候误差还很大

可以找一个现成的STC15定时器的例子加以修改。

STC15 是一款 8051 内核的单片机,其计数器是指在内部集成的定时器/计数器模块。STC15 的计数器有四个,分别为定时器0、定时器1、定时器2和定时器3。

STC15 的计数器可以用来实现各种功能,如延时、PWM、脉冲计数等。下面以定时器0为例,介绍一下如何使用 STC15 的计数器:

  1. 首先需要配置定时器0的工作模式和计数器初始值,例如:
TMOD &= 0xF0;  // 将 TMOD 寄存器低 4 位清零,表示定时器0工作在模式013位定时器/计数器)下
TH0 = 0x3C;    // 定时器0的计数器初始值为 0x3C
TL0 = 0xB0;
  1. 启动定时器0,开始计数/计时:
TR0 = 1;  // 启动定时器0
  1. 等待定时器0计数/计时完成,检查 TF0 标志位是否被置位:
while(!TF0);  // 等待定时器0计数/计时完成

TF0 = 0;      // 清除 TF0 标志位

上述代码中,TF0 是定时器0的溢出标志位。当定时器0计数/计时完成后,TF0 会被硬件置位,表示定时器0已经溢出。在程序中,我们通过检查 TF0 是否被置位,来确定定时器0是否完成计数/计时的任务。

需要注意的是,STC15 的计数器是在硬件层面运行的,因此如果需要调整计数器的精度或者频率等参数,需要修改对应的硬件寄存器。此外,不同的计数器具有不同的特点和使用方式,具体应该根据实际需求选择合适的计数器进行使用。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^