找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机延时问题

[复制链接]
跳转到指定楼层
楼主
ID:137239 发表于 2016-8-26 01:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位大神,为什么51延时程序不能写成:
void delay()
{
       unsigned char a;
       for(a=0;a<=80000;a++);
}
非得写成:
void delay(unsigned i)
{
       unsigned char a,b,c;
       for(a=0;a<i;a++)
           for(b=0;b<130;b++)
               for(c=0;c<250;c++);
}
否则,程序就无法执行。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:57896 发表于 2016-8-26 02:46 | 只看该作者
刚入门的吧,因为 char型变量最大值是255,80000这个值太大,int 也只有65535,按你的思路只能用long型变量了

评分

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

查看全部评分

回复

使用道具 举报

板凳
ID:57149 发表于 2016-8-26 08:12 | 只看该作者
unsigned char a
最大值是 255 。
回复

使用道具 举报

地板
ID:61343 发表于 2016-8-26 08:32 | 只看该作者
受教了!!
感謝大大.
回复

使用道具 举报

5#
ID:105778 发表于 2016-8-26 08:49 | 只看该作者
C51 unsigned char 范围:0--255
      unsigned int            0--65535
unsigned long int           0--4294967295
随便买本51书都会写数值范围要求的。

评分

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

查看全部评分

回复

使用道具 举报

6#
ID:82476 发表于 2016-8-26 09:10 | 只看该作者
8000大于255
回复

使用道具 举报

7#
ID:82476 发表于 2016-8-26 09:10 | 只看该作者
8000大于255;char最大值255;

评分

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

查看全部评分

回复

使用道具 举报

8#
ID:137239 发表于 2016-8-26 12:59 | 只看该作者
hantp 发表于 2016-8-26 08:12
unsigned char a
最大值是 255 。

谢谢,我当时没有考虑到这个,现在想起来这个错误好低级啊1
回复

使用道具 举报

9#
ID:137239 发表于 2016-8-26 13:00 | 只看该作者
zsn8888 发表于 2016-8-26 08:49
C51 unsigned char 范围:0--255
      unsigned int            0--65535
unsigned long int            ...

谢谢!
回复

使用道具 举报

10#
ID:134770 发表于 2016-8-26 21:03 | 只看该作者
a<80000,=不了80000,a是char.

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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