找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4269|回复: 13
收起左侧

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

[复制链接]
ID:138144 发表于 2016-9-9 15:45 | 显示全部楼层 |阅读模式
我仿真怎么不对啊?仿真时间不对,求大神指教!谢谢!
QQ图片20160909154255.png
回复

使用道具 举报

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。

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

使用道具 举报

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仿真时间都不对,是不是仿真点没设定好啊?

开始计时时间

开始计时时间

结束计时时间

结束计时时间
回复

使用道具 举报

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--);
}
我一般用这个,如果要精确的;用定时器。
回复

使用道具 举报

ID:97438 发表于 2016-9-10 10:56 | 显示全部楼层
sz15207554653 发表于 2016-9-10 08:52
不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

你断点设置问题吧?
回复

使用道具 举报

ID:137239 发表于 2016-9-10 11:05 | 显示全部楼层
sz15207554653 发表于 2016-9-10 08:52
不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

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

使用道具 举报

ID:137239 发表于 2016-9-10 11:13 | 显示全部楼层
sz15207554653 发表于 2016-9-10 08:52
不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

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

使用道具 举报

ID:137239 发表于 2016-9-10 11:37 | 显示全部楼层
sz15207554653 发表于 2016-9-10 08:52
不管用12M和24M仿真时间都不对,是不是仿真点没设定好啊?

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

使用道具 举报

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 设置晶振频率
回复

使用道具 举报

ID:138144 发表于 2016-9-10 20:01 | 显示全部楼层
luoluoluo136 发表于 2016-9-10 12:02
void main()
{
        unsigned char a ,b,c;

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

使用道具 举报

ID:138144 发表于 2016-9-10 20:01 | 显示全部楼层
jubaolun 发表于 2016-9-10 08:55
void Delay_ms(unsigned int nms)
{
       unsigned char i,j;

恩,谢谢!
回复

使用道具 举报

ID:138144 发表于 2016-9-10 20:02 | 显示全部楼层
STC89C51 发表于 2016-9-10 11:37
我用proteus仿真是没有问题的

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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