找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2314|回复: 8
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
本人用的STC89C58RD+单片机,自己焊接的最小系统,上电后能下载程序,IO也能正常输出,但是时钟的主频不对。用的12M的晶振,按理说主频应该是1M,但是用STC的软件计算出的1s延时却有6s,一开始怀疑是晶振自身频率不对,测了晶振输出是12M的正弦波,请问大佬们有没有知道原因的。先谢谢各位大佬了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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
这种东西没必要纠结,只要重新设置寄存器保证延时时间就行,软件与硬件脱节经常有的事。

好的,谢谢大佬
回复

使用道具 举报

5#
ID:213173 发表于 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. }
复制代码



回复

使用道具 举报

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

使用道具 举报

7#
ID:192523 发表于 2019-4-13 14:25 | 只看该作者
yzwzfyz 发表于 2019-4-13 09:18
你需要查“STC89C58RD”手册的主频部分。

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

使用道具 举报

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

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

使用道具 举报

9#
ID:192523 发表于 2019-4-13 14:25 | 只看该作者

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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