找回密码
 立即注册

QQ登录

只需一步,快速开始

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

谁能帮我解释一下这个单片机程序,函数声明部分看不懂

[复制链接]
跳转到指定楼层
楼主
ID:387208 发表于 2019-1-26 11:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include<reg52.h>
  2. unsigned char code table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};//显示数字1-9
  3. void Delay(unsigned int t);//函数声明(就是这里不知道什么)
  4. void main (void)
  5. {
  6.         unsigned char i;//定义一个无符号型局部变量i取值范围0-255
  7.         while(1)
  8.       {
  9.             for(i=0;i<10;i++)
  10.             {
  11.                P2=table[i];    //循环调用表中的数值
  12.                Delay(50000);
  13.             }
  14.      }
  15. }
  16. void Delay(unsigned int t)
  17. {
  18.     while(--t);//这个也不知道是什么东东
  19. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:472132 发表于 2019-1-26 16:22 | 只看该作者
函数声明部分就是定义了函数的名字Delay,还有一个无符号整型变量t。假设t=10,while(--t)当t=0时就会不成立,那么--t的这个过程是需要执行时间的,也就实现了延时的功能。
回复

使用道具 举报

板凳
ID:213173 发表于 2019-1-26 17:04 | 只看该作者
编译器是从main函数开始编译,main函数里调用了Delay函数,如果不作声明,编译器不知道到哪里找Delay函数。如果把Delay函数放在main函数前面就相当于声明,就不必另外作声明。
回复

使用道具 举报

地板
ID:164602 发表于 2019-1-26 20:53 | 只看该作者
把函数写在main()主函数的前面,就可以不用申明了。
另外:while(--t);的意思,就是一个循环,浪费时间用的,这是个延时函数
回复

使用道具 举报

5#
ID:387208 发表于 2019-1-27 11:25 | 只看该作者
谢谢你们啦
回复

使用道具 举报

6#
ID:466753 发表于 2019-1-27 14:26 | 只看该作者
定义了一个延时函数
回复

使用道具 举报

7#
ID:453974 发表于 2019-1-27 18:58 | 只看该作者
我想不明白的是你有啥看不懂的呢,不就是让变量一直自减么,当while里面的判断条件为假时一跳出不就跳出循环了么
回复

使用道具 举报

8#
ID:473410 发表于 2019-1-28 10:00 | 只看该作者
这个函数delay就是一个延时的功能,通过while(i--)的运算来使CPU消耗一段时间达到延时的功能,你想啊,while语句里面非0即真的,所以i只有自减到0的时候才会跳出循环,这就需要时间啊。还有一点,楼主注释的有一点错误了,这个不是显示1-9了,这是10个数,应该是0-9.
回复

使用道具 举报

9#
ID:449525 发表于 2019-1-28 11:05 | 只看该作者
延时,程序减到0,往下执行
回复

使用道具 举报

10#
ID:24354 发表于 2019-1-28 14:19 | 只看该作者
while(--t);这个就是用来延时的。
回复

使用道具 举报

11#
ID:473735 发表于 2019-1-28 21:26 | 只看该作者
就是一个延时程序,数数50000下,显示下一个数字;
0 - wait 50000 - 1 - wait 50000 - 2 -wait 50000 - ....
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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