标题: STC89C58RD+单片机主频不对的问题? [打印本页]

作者: 桂木桂马    时间: 2019-4-12 23:12
标题: STC89C58RD+单片机主频不对的问题?
本人用的STC89C58RD+单片机,自己焊接的最小系统,上电后能下载程序,IO也能正常输出,但是时钟的主频不对。用的12M的晶振,按理说主频应该是1M,但是用STC的软件计算出的1s延时却有6s,一开始怀疑是晶振自身频率不对,测了晶振输出是12M的正弦波,请问大佬们有没有知道原因的。先谢谢各位大佬了。

作者: xuyaqi    时间: 2019-4-13 08:37
这种东西没必要纠结,只要重新设置寄存器保证延时时间就行,软件与硬件脱节经常有的事。
作者: yzwzfyz    时间: 2019-4-13 09:18
你需要查“STC89C58RD”手册的主频部分。
作者: 桂木桂马    时间: 2019-4-13 09:42
xuyaqi 发表于 2019-4-13 08:37
这种东西没必要纠结,只要重新设置寄存器保证延时时间就行,软件与硬件脱节经常有的事。

好的,谢谢大佬
作者: wulin    时间: 2019-4-13 10:47


  1. void Delay1000ms()                //@12.000MHz
  2. {
  3.         unsigned char i, j, k;

  4.         _nop_();
  5.         i = 8;
  6.         j = 154;
  7.         k = 122;
  8.         do
  9.         {
  10.                 do
  11.                 {
  12.                         while (--k);
  13.                 } while (--j);
  14.         } while (--i);
  15. }
复制代码




作者: Y_G_G    时间: 2019-4-13 11:24
在很多情況下,不管你是用C还是用汇编,单片机都是会按程序走的,如果是固定的延时,只会有uS级别的差别,mS级别是不会有的,除非你程序不对,像你这种差到那么多秒的,程序或者是烧录器设定肯定是有改动过的
你看一下烧录那6T双倍速有没有使能的,再看一下你的代码有没有问题
作者: 桂木桂马    时间: 2019-4-13 14:25
yzwzfyz 发表于 2019-4-13 09:18
你需要查“STC89C58RD”手册的主频部分。

谢谢大佬,问题已经解决了
作者: 桂木桂马    时间: 2019-4-13 14:25
Y_G_G 发表于 2019-4-13 11:24
在很多情況下,不管你是用C还是用汇编,单片机都是会按程序走的,如果是固定的延时,只会有uS级别的差别,mS级别 ...

谢谢大佬,问题已经解决了
作者: 桂木桂马    时间: 2019-4-13 14:25
wulin 发表于 2019-4-13 10:47

谢谢大佬,问题已经解决了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1