Protues怎么仿真定时器?

用的C语言,仿真单片机上也填了复位与晶振部分,但是仿真出来定时器T0没有效果。。程序改了又改,后面直接抄网上的了,应该没问题。 是哪出了问题呢?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/170215
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:C语言读取二进制文件,读取结果全部为零,编译运行都没有报错
  • 除此之外, 这篇博客: C语言函数调用底层实现原理中的 寄存器使用约定 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    寄存器是唯一能被被所有函数共享的资源。因此,在函数中调用其它函数时,需要考虑到数据的保存与覆盖问题(即防止被调函数直接修改寄存器导致主调函数的数据被覆盖)。

    IA32采用了统一的寄存器使用约定,所有函数必须遵守。

    • EAX、ECX、EDX为主调函数保存寄存器,即在调用被调函数之前,主调函数如果希望保存这三个寄存器的数据,需要将数据保存到堆栈中,然后调用被调函数。
    • EBX、ESI、EDI是被调函数保存寄存器,被调函数如果向使用这三个寄存器,需要先将其中的数据保存到堆栈中,然后操作寄存器,最后将堆栈中的数据还原
    • EBP和ESP指向当前的栈,每个函数对应一个栈帧。被调函在返回前,需将主调函数的栈帧还原。即恢复到调用前的状态。

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