⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 跑马灯.c

📁 C51的跑马灯程序
💻 C
字号:
/*-------------------------------------------*/
	/*P0~P3一个灯循环亮且由慢变快*/
	#include<stdio.h>
	#include<reg51.h>
	unsigned int tc;     		/*延时变量tc*/
void main()
                {
	 void delay(int t);	/*定义延时函数delay(int t)或delay(t)但delay()是错的因此函数是有参数的。*/
	 void light();         	    /*void函数应无类型int. float等 说明,定义亮灯函数 light(),其是无参数的。*/
	 while(1)			/*大循环*/
	 {
 	 tc=5000;
	  while(tc>500)		/*tc由5000开始到500循环*/
	  {
 	  light();
 	  tc=tc-1500;
 	 }
 	 while(tc>=100)  	 /*tc由500开始到小于100循环*/
 	 {light();
	  tc=tc-80;}
	 }
	} 	       		/*継续大循环*/


void light()		/*亮灯子函数 light()其无直接参数*/
	 {
 	 unsigned int c;
 	 int i;
 	 c=0x0fe;			/*P0口亮*/
 	 for(i=1;i<=9;i++)
 	  {P0=c;
  	   delay(tc);
   	   c=c<<1|1;	               /*等价c=c<<1;c=c+0x01*/
          } 		/*注:若用P0=P0<<1|1;因读P0再右移再加1,当P0某个脚外电路拉底就不对了*/
	c=0x7f;
	  for(i=1;i<=9;i++)
	   {P2=c;
	    delay(tc);
	    c=c>>1|0X80;
	   } 
	c=0x7f;
	  for(i=1;i<=9;i++)
	   {P3=c;
	    delay(tc);
	    c=c>>1|0X80;
	   } 
	c=0x7f;
	  for(i=1;i<=9;i++)
	   {P1=c;
	    delay(tc);
	    c=c>>1|0X80;
	   }
	}


void delay(int t)	/*延时函数delay(int t)*/
	{int i;
	 for(i=1;i<=t;i++)
	  {
	   }
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -