完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
程序是这样的:
void Delay_ms(unsigned int t) { unsigned char j; unsigned int i; for(i = 5*t;i > 0;i --) for(j = 90;j > 0;j --); } 这是1ms延时程序,软件仿真时时间是对的,但是下载到板上时间就很短了,Delay_ms(5000)应该是5秒的,我用秒表测实际才1秒多一小点。仿真频率和板上的晶振是一样的11.0592MHZ。谁能告诉我这个是什么问题啊。
|
|
相关推荐
6个回答
|
|
仿真和实际肯定会是有误差的,仿真只是在理想的情况下的模拟,实际的元件势必有误差
|
|
|
|
首先谢谢您的回复。。。但是这个差的太大了,差五倍啊,另外我刚才试了下,要是用STC89C52RC仿真和实际的就差不多,但是用STC12C5A60S2就差很多,应该是Delay_ms(1000)是一秒,用前面那个时间误差不是很大,用后面那个的话要Delay_ms(5000)才1秒左右。能说一下为什么这两个芯片差这么多吗
|
|
|
|
呵呵,问题原来出在芯片上。89C52是12T的。60S2是1T。速度是89C52的12倍。请熟悉下指令周期与机器周期。两款的周期是不同的。 |
|
|
|
还有你编程的程序,用到了5*t .我总觉得这样写不好。t每增加1 。for循环增加5次。这样误差容易增大、
|
|
|
|
哦,非常感谢您的回复。
|
|
|
|
我只想说 马扎正解 (别扭)
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》 第十六章 WATCH_DOG实验
460 浏览 0 评论
【敏矽微ME32G070开发板免费体验】+ADC测试与LED点亮
418 浏览 0 评论
飞凌嵌入式-ELFBOARD ELF 2的硬件知识分享--核心板
352 浏览 0 评论
【敏矽微ME32G070开发板免费体验】\\+Lora通信终端产品开发项目
514 浏览 0 评论
1576 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11972 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 04:20 , Processed in 0.742238 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号