找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2884|回复: 8
收起左侧

STC89C58RD+单片机主频不对的问题?

[复制链接]
ID:192523 发表于 2019-4-12 23:12 | 显示全部楼层 |阅读模式
本人用的STC89C58RD+单片机,自己焊接的最小系统,上电后能下载程序,IO也能正常输出,但是时钟的主频不对。用的12M的晶振,按理说主频应该是1M,但是用STC的软件计算出的1s延时却有6s,一开始怀疑是晶振自身频率不对,测了晶振输出是12M的正弦波,请问大佬们有没有知道原因的。先谢谢各位大佬了。
回复

使用道具 举报

ID:94031 发表于 2019-4-13 08:37 | 显示全部楼层
这种东西没必要纠结,只要重新设置寄存器保证延时时间就行,软件与硬件脱节经常有的事。
回复

使用道具 举报

ID:123289 发表于 2019-4-13 09:18 | 显示全部楼层
你需要查“STC89C58RD”手册的主频部分。
回复

使用道具 举报

ID:192523 发表于 2019-4-13 09:42 | 显示全部楼层
xuyaqi 发表于 2019-4-13 08:37
这种东西没必要纠结,只要重新设置寄存器保证延时时间就行,软件与硬件脱节经常有的事。

好的,谢谢大佬
回复

使用道具 举报

ID:213173 发表于 2019-4-13 10:47 | 显示全部楼层
无标题.jpg

  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. }
复制代码



回复

使用道具 举报

ID:401564 发表于 2019-4-13 11:24 | 显示全部楼层
在很多情況下,不管你是用C还是用汇编,单片机都是会按程序走的,如果是固定的延时,只会有uS级别的差别,mS级别是不会有的,除非你程序不对,像你这种差到那么多秒的,程序或者是烧录器设定肯定是有改动过的
你看一下烧录那6T双倍速有没有使能的,再看一下你的代码有没有问题
回复

使用道具 举报

ID:192523 发表于 2019-4-13 14:25 | 显示全部楼层
yzwzfyz 发表于 2019-4-13 09:18
你需要查“STC89C58RD”手册的主频部分。

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

使用道具 举报

ID:192523 发表于 2019-4-13 14:25 | 显示全部楼层
Y_G_G 发表于 2019-4-13 11:24
在很多情況下,不管你是用C还是用汇编,单片机都是会按程序走的,如果是固定的延时,只会有uS级别的差别,mS级别 ...

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

使用道具 举报

ID:192523 发表于 2019-4-13 14:25 | 显示全部楼层

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表