找回密码
 立即注册

QQ登录

只需一步,快速开始

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

10ms延迟,我仿真的咋不对啊?

[复制链接]
跳转到指定楼层
楼主
我仿真怎么不对啊?仿真时间不对,求大神指教!谢谢!

QQ图片20160909154255.png (7.12 KB, 下载次数: 150)

QQ图片20160909154255.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:137239 发表于 2016-9-9 19:02 | 只看该作者
你用的晶振频率是多少兆的?如果是12M的话,一个delay(1)=4.94ms。
回复

使用道具 举报

板凳
ID:138144 发表于 2016-9-10 08:35 | 只看该作者
STC89C51 发表于 2016-9-9 19:02
你用的晶振频率是多少兆的?如果是12M的话,一个delay(1)=4.94ms。

是12M的,24M应该延迟时间就是对吧?
回复

使用道具 举报

地板
ID:138144 发表于 2016-9-10 08:42 | 只看该作者
STC89C51 发表于 2016-9-9 19:02
你用的晶振频率是多少兆的?如果是12M的话,一个delay(1)=4.94ms。

不对,频率与时间成反比
回复

使用道具 举报

5#
ID:138144 发表于 2016-9-10 08:52 | 只看该作者
STC89C51 发表于 2016-9-9 19:02
你用的晶振频率是多少兆的?如果是12M的话,一个delay(1)=4.94ms。

C:\Users\sz\Desktop\QQ图片20160910084425不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

QQ图片20160910084425.png (15.67 KB, 下载次数: 152)

开始计时时间

开始计时时间

QQ图片20160910084459.png (15.56 KB, 下载次数: 156)

结束计时时间

结束计时时间
回复

使用道具 举报

6#
ID:105206 发表于 2016-9-10 08:55 | 只看该作者
void Delay_ms(unsigned int nms)
{
       unsigned char i,j;
      for(i=nms;i>0;i--)
           for(j=115;j>0;j--);
}
我一般用这个,如果要精确的;用定时器。
回复

使用道具 举报

7#
ID:97438 发表于 2016-9-10 10:56 | 只看该作者
sz15207554653 发表于 2016-9-10 08:52
不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

你断点设置问题吧?
回复

使用道具 举报

8#
ID:137239 发表于 2016-9-10 11:05 | 只看该作者
sz15207554653 发表于 2016-9-10 08:52
不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

我用楼主的延时程序,在我的keil上仿真也不对!
回复

使用道具 举报

9#
ID:137239 发表于 2016-9-10 11:13 | 只看该作者
sz15207554653 发表于 2016-9-10 08:52
不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

楼主不妨用proteus仿真试试,或者直接用硬件试试。
回复

使用道具 举报

10#
ID:137239 发表于 2016-9-10 11:37 | 只看该作者
sz15207554653 发表于 2016-9-10 08:52
不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

我用proteus仿真是没有问题的
回复

使用道具 举报

11#
ID:97438 发表于 2016-9-10 12:02 | 只看该作者

void main()
{
        unsigned char a ,b,c;

        while(1)
        {
                for(c=1; c>0; c--)                                        //第一个断点设置在这里
                {
                        for(b=38; b>0; b--)
                        {
                                for(a=130; a>0; a--);
                        }
                }                                                                        //第二个断点设置在这里
                a=0;
        }
}

keil仿真正常的,是10ms没错。你要点魔术棒-target 设置晶振频率
回复

使用道具 举报

12#
ID:138144 发表于 2016-9-10 20:01 | 只看该作者
luoluoluo136 发表于 2016-9-10 12:02
void main()
{
        unsigned char a ,b,c;

谢谢哒,是断点设计问题!
回复

使用道具 举报

13#
ID:138144 发表于 2016-9-10 20:01 | 只看该作者
jubaolun 发表于 2016-9-10 08:55
void Delay_ms(unsigned int nms)
{
       unsigned char i,j;

恩,谢谢!
回复

使用道具 举报

14#
ID:138144 发表于 2016-9-10 20:02 | 只看该作者
STC89C51 发表于 2016-9-10 11:37
我用proteus仿真是没有问题的

谢谢,没问题,断点的问题
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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