找回密码
 立即注册

QQ登录

只需一步,快速开始

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

新手请教单片机延时问题

  [复制链接]
跳转到指定楼层
楼主
ID:230023 发表于 2017-8-30 11:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void delay (void)
{
unsinged char i j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)

        ;
}

为什么是小于250呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:198530 发表于 2017-8-30 12:30 | 只看该作者
因为计250个数就是从零到250,实际是0~249就是250个数,如0~9是10个数
回复

使用道具 举报

板凳
ID:230035 发表于 2017-8-30 12:49 | 只看该作者
因为unsighed char定义的东西为8位二进制,2^8就是256,只要不超过255都可以,至于你设置的250,是为了计算延时时间方便
回复

使用道具 举报

地板
ID:230023 发表于 2017-8-30 13:59 | 只看该作者
恩,谢谢
回复

使用道具 举报

5#
ID:230046 发表于 2017-8-30 14:12 | 只看该作者
纯粹延时作用而已
回复

使用道具 举报

6#
ID:230023 发表于 2017-8-30 15:12 | 只看该作者
dudoumayou 发表于 2017-8-30 12:49
因为unsighed char定义的东西为8位二进制,2^8就是256,只要不超过255都可以,至于你设置的250,是为了计算 ...

亲我是初学者,麻烦给解释下,如果是这样
for(i=0;i<170;i++)
for(j=0;j<250;j++)计算时间是按170的来,那250是什么作用?
回复

使用道具 举报

7#
ID:7485 发表于 2017-8-30 15:40 | 只看该作者
楼主还没弄清楚什么是“for循环”。
回复

使用道具 举报

8#
ID:111634 发表于 2017-8-30 16:24 | 只看该作者
应先学些基础理论,才能事半功倍。
回复

使用道具 举报

9#
ID:229541 发表于 2017-8-30 18:53 | 只看该作者
这个与单片机的晶振有关
回复

使用道具 举报

10#
ID:229541 发表于 2017-8-30 18:57 | 只看该作者
这个与晶振有关,晶振直接影响着机器周期,进而影响着指令周期。这里
你的循环执行了250x250次就消耗了250x250个指令周期
回复

使用道具 举报

11#
ID:230146 发表于 2017-8-30 22:10 | 只看该作者
unsighed char定义最大数值256,大于256就会变成0,就会直接跳出语句,所有要定义i不能超过256
回复

使用道具 举报

12#
ID:230148 发表于 2017-8-30 22:22 | 只看该作者
不小于也行啊
回复

使用道具 举报

13#
ID:230170 发表于 2017-8-31 09:30 | 只看该作者
根据你定义的数据类型所能表达的范围,只是让单片机做加或减操作达到演示效果,具体你计算每条指令的时钟周期就可以较为精确的知道延时的时间长度。
回复

使用道具 举报

14#
ID:230245 发表于 2017-9-1 10:29 | 只看该作者
这种延时程序只是占用cpu的资源,让其执行空指令已达到耗时的目的。for循环是反复执行的意思,次数越多延时越长。170、250只是认为设置的循环次数,这是根据自己需要延时的长短来定的。(这种延时函数简单常用,但精度不高)
回复

使用道具 举报

15#
ID:228585 发表于 2017-9-1 11:12 | 只看该作者
问题不清晰
回复

使用道具 举报

16#
ID:227677 发表于 2017-9-1 16:48 | 只看该作者
消抖一般用延时函数,按下的时候要消抖动(加延时),松手的时候也要消抖
回复

使用道具 举报

17#
ID:86913 发表于 2017-9-1 17:06 | 只看该作者
我也刚刚在学,我理解为双循环,循环的次数是170×250次,不知对不对?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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