找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教for循环

[复制链接]
跳转到指定楼层
楼主
ID:201936 发表于 2017-11-23 14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.h>
sbit led=P1^0;
void delay(unsigned int i)
{
unsigned int j;
unsigned char k;
for(j=i;j>0;j--)
  for(k=125;k>0;k--);
}
void main()
{
unsigned char m;
for(m=20;m>0;m--)//m=几决定了闪烁次数
{
  led=~led; //每隔一段时间即对输出取反。
  delay(3000); //闪烁间隔。
}
while(1); //闪烁十次后,到此不再闪烁。
}
请问 for(j=i;j>0;j--)中的i不用赋值的吗?数值是多少呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:252587 发表于 2017-11-23 14:50 | 只看该作者
delay(3000)相当于把3000赋值给i

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:231632 发表于 2017-11-23 15:02 | 只看该作者
你这个是delay函数,delay(1000),代表调用delay函数,同时将1000赋值给i

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:7485 发表于 2017-11-23 15:15 | 只看该作者
一共循环了20次,每次循环都取反一次,隔一次亮一次,20次有10次亮,10次灭。如果m=30,亮和灭各15次。

其实这样告诉你对你也没太大的帮助,因为你还是需要掌握一些基础知识才行。
回复

使用道具 举报

5#
ID:252134 发表于 2017-11-23 18:03 | 只看该作者
i是形参,是要你给实参的,例如delay(3000)相当于里面的i赋值为3000

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:201936 发表于 2017-11-23 20:07 | 只看该作者
ahshmj 发表于 2017-11-23 15:15
一共循环了20次,每次循环都取反一次,隔一次亮一次,20次有10次亮,10次灭。如果m=30,亮和灭各15次。

...

刚学单片机并且基础不好,好多东西不理解。谢谢
回复

使用道具 举报

7#
ID:157238 发表于 2017-11-23 21:28 | 只看该作者
建议着重看一下函数调用,数值是怎么传递的等等

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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