求一个1ms的单片机C语言延时程序

STC89c52的单片机,晶振是11.0592MH的。delay(unsignedintX){}求一个X=1的时候,延时10ms,X=100延时1s,以此类推。char不... STC89c52的单片机,晶振是11.0592MH的。
delay(unsigned int X)
{

}
求一个X=1的时候,延时10ms,X=100延时1s,以此类推。
char 不是字符型变量吗?怎么能b=38,a=130呢?
那为什么不用unsigned int型呢?范围更大呀!
展开
 我来答
夜猫叫枫子
推荐于2016-04-21 · TA获得超过1160个赞
知道小有建树答主
回答量:704
采纳率:0%
帮助的人:489万
展开全部
void delay(char x)
{
unsigned char a,b,c;
for(c=x;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
学过标准C就知道了,char 和 int 是可以相互转换的,char的取值范围是-128~+127
unsigned char 的是0~255
可以用unsigned int啊,我一般都是用char的,用unsigned int的话占的字节比较多,运行速度也没char那么快,计算机会麻烦点,建议使用char
兰色的闪电
2010-05-17 · TA获得超过934个赞
知道小有建树答主
回答量:558
采纳率:0%
帮助的人:317万
展开全部
void delay(char x)
{
unsigned char a,;
unsigned char b;
unsigned char c;
unsigned char i;
for(c=x; c>0; c--)
{
for(b=38; b>0; b--)
{
for(a=100; a>0; a--)
{
i++;
}
}
}
}

char 是字符型没错,同时也是一个8位的数据型。所以可以给数据呀。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
因贝特工作
2010-05-21 · TA获得超过283个赞
知道小有建树答主
回答量:489
采纳率:0%
帮助的人:330万
展开全部
采用中断准确,软件延时不靠谱
你不要用C眼光,单片机的char数据长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b4f5253dd
2010-05-19 · TA获得超过168个赞
知道答主
回答量:42
采纳率:0%
帮助的人:44.8万
展开全部
void delay(uint ms) // 毫秒级延时(AT89C52 @ 11.0592MHz)
{
uint ti;
while(ms--)
{
for(ti=0;ti<112;ti++){}//112
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
田田田NQ
2010-05-18
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
delay(unsigned int x)
{
unsigned char a,b;
for(a=x*10;a>0;a--)
for(b=110;b>0;b--);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式