1
完善资料让更多小伙伴认识你,还能领取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次。这样误差容易增大、
|
|
|
|
哦,非常感谢您的回复。
|
|
|
|
我只想说 马扎正解 (别扭)
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
386 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1670 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1123 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1005 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1229 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12018 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 11:44 , Processed in 0.523624 second(s), Total 49, Slave 42 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号