求一个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型呢?范围更大呀! 展开
delay(unsigned int X)
{
}
求一个X=1的时候,延时10ms,X=100延时1s,以此类推。
char 不是字符型变量吗?怎么能b=38,a=130呢?
那为什么不用unsigned int型呢?范围更大呀! 展开
5个回答
展开全部
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
{
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
展开全部
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位的数据型。所以可以给数据呀。
{
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位的数据型。所以可以给数据呀。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
采用中断准确,软件延时不靠谱
你不要用C眼光,单片机的char数据长度
你不要用C眼光,单片机的char数据长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void delay(uint ms) // 毫秒级延时(AT89C52 @ 11.0592MHz)
{
uint ti;
while(ms--)
{
for(ti=0;ti<112;ti++){}//112
}
}
{
uint ti;
while(ms--)
{
for(ti=0;ti<112;ti++){}//112
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delay(unsigned int x)
{
unsigned char a,b;
for(a=x*10;a>0;a--)
for(b=110;b>0;b--);
}
{
unsigned char a,b;
for(a=x*10;a>0;a--)
for(b=110;b>0;b--);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询