特别篇----延时函数升级

延时函数每次的值不一样,每次都得重新调用,很烦

所以,我们需要给他设置为可以实现任何ms的调用(0~~65535)

首先复制1ms的延时函数代码

void Delay(unsigned int xms)		//@11.0592MHz
{
	unsigned char i, j;
	while(xms)
	{
		_nop_();
		i = 2;
		j = 199;
		do
		{
			while (--j);
		} 	while (--i);
		xms--;
	}

}

传参,即可

改变后的代码为

#include <REGX51.H>
#include <INTRINS.H>

void Delay(unsigned int xms)		//@11.0592MHz
{
	unsigned char i, j;
	while(xms)
	{
		_nop_();
		i = 2;
		j = 199;
		do
		{
			while (--j);
		} 	while (--i);
		xms--;
	}

}

void main()
{
	while(1)
	{
		P2 = 0xFE;
		Delay(100);
		P2 = 0xFD;
		Delay(100);
		P2 = 0xFB;
		Delay(100);
		P2 = 0xF7;
		Delay(100);
		P2 = 0xEF;
		Delay(100);
		P2 = 0xDF;
		Delay(100);
		P2 = 0xBF;
		Delay(100);
		P2 = 0x7F;
		Delay(100);	
	}


}

版权声明:本文为CSDN博主「qq_40179113」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40179113/article/details/122189337

延时函数每次的值不一样,每次都得重新调用,很烦

所以,我们需要给他设置为可以实现任何ms的调用(0~~65535)

首先复制1ms的延时函数代码

void Delay(unsigned int xms)		//@11.0592MHz
{
	unsigned char i, j;
	while(xms)
	{
		_nop_();
		i = 2;
		j = 199;
		do
		{
			while (--j);
		} 	while (--i);
		xms--;
	}

}

传参,即可

改变后的代码为

#include <REGX51.H>
#include <INTRINS.H>

void Delay(unsigned int xms)		//@11.0592MHz
{
	unsigned char i, j;
	while(xms)
	{
		_nop_();
		i = 2;
		j = 199;
		do
		{
			while (--j);
		} 	while (--i);
		xms--;
	}

}

void main()
{
	while(1)
	{
		P2 = 0xFE;
		Delay(100);
		P2 = 0xFD;
		Delay(100);
		P2 = 0xFB;
		Delay(100);
		P2 = 0xF7;
		Delay(100);
		P2 = 0xEF;
		Delay(100);
		P2 = 0xDF;
		Delay(100);
		P2 = 0xBF;
		Delay(100);
		P2 = 0x7F;
		Delay(100);	
	}


}

版权声明:本文为CSDN博主「qq_40179113」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40179113/article/details/122189337

生成海报
点赞 0

qq_40179113

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

8x8LED点阵

点量这个只需要把9高电平,13低电平就可以了 共阳极点阵 行线是led的正极 列线是led的列线 左上角点亮 显示多个灯是动态扫描的,一个一个显示的,然后间隔速度要快就可以造成显示 点阵由两篇7

特别篇----延时函数升级

延时函数每次的值不一样,每次都得重新调用,很烦 所以,我们需要给他设置为可以实现任何ms的调用(0~~65535) 首先复制1ms的延时函数代码 void Delay(

8x8LED点阵

点量这个只需要把9高电平,13低电平就可以了 共阳极点阵 行线是led的正极 列线是led的列线 左上角点亮 显示多个灯是动态扫描的,一个一个显示的,然后间隔速度要快就可以造成显示 点阵由两篇7

蓝桥杯6·数码管

记住abcdefg的顺序: 9个接口(大头连在一起就是共阳数码管,小头连在一起就是共阴数码管) 记住固定的字段码: 数码管的动态显示: 动态驱动: