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

📄 ledplay.c

📁 2005年全国大学生电子设计竞赛论文集
💻 C
字号:
#include"spce061v004.h"
unsigned long int m,n,q,p,r,Dian,kk;int Data[8];
//=========================================================================================
//
//=========================================================================================
void Delay(int hh)
{
	int j;
 	for(j=0;j<hh;j++)
 	{
 		*P_Watchdog_Clear=0x0001;
 	}
} 
//=========================================================================================
//
//=========================================================================================
void LedDispDig(void )
{
	const unsigned char DigCode[11]={0x22,0xee,0x25,0x64,0xE8,0x70,0x30,0xE6,0x20,0x60,0xff};
   	const unsigned char dig[10]={0x02,0xce,0x05,0x44,0xc8,0x50,0x10,0xc6,0x00,0x40};
   	unsigned char disbuff;
   	int i,j;
  	*P_Watchdog_Clear=1;
  	*P_IOB_Dir=0xffff;
  	*P_IOB_Attrib=0xffff;
  	*P_IOB_Data=0x0000;
  	*P_IOB_Data|=0x0004;  
   	for(j=0;j<8;j++)
    {
    	if(Dian==(j+1))
     		disbuff=dig[Data[j]];
     	else
     		disbuff=DigCode[Data[j]];
     	for(i=0;i<8;i++)
     	{
     		*P_IOB_Data=(0x0004|(disbuff&0x0001));
     		*P_IOB_Data|=0x0006;      //clk=1
      		Delay(9);
      		*P_IOB_Data&=0xfffd;       //1口轻灵  clk
      		disbuff=disbuff>>1;
     	}   
    	*P_IOB_Data&=0xfffb;         //sel=0
    	Delay(100);
    	*P_IOB_Data|=0x0004;          //
   	}
}  
//=========================================================================================
//
//=========================================================================================
void ledpaly(float k, unsigned int aa)
{
	Data[7]=aa;
	if(k<0.01)
 	{
  		m=0;n=0;q=0;p=(int)(k/0.001);
  		Data[3]=m;Data[2]=n;Data[1]=q;Data[0]=p;Data[4]=10;Data[5]=10;Data[6]=10;Dian=4;
  		LedDispDig( );
	}
 	else if(k<0.1)
 	{
 		m=0,n=0;q=(int)(k/0.01);p=(int)((k/0.001)/10);
   		Data[3]=m;Data[2]=n;Data[1]=q;Data[0]=p;Data[4]=10;Data[5]=10;Data[6]=10;Dian=4; 
  		LedDispDig( );
  	}
 	else if(k<1)
 	{
 		kk=(unsigned long int)(k*10000);
   		m=0; 
   		n=kk/1000;
   		q=(kk-n*1000)/100;
   		p=(kk-n*1000-q*100)/10; 
  		Data[3]=m;Data[2]=n;Data[1]=q;Data[0]=p;Data[4]=10;Data[5]=10;Data[6]=10;Dian=4;
   		LedDispDig( );
 	}
 	else if(k<10)
 	{
 		kk=(unsigned long int)(k*10000);
   		m=kk/10000;kk=kk-m*10000;
   		n=kk/1000;
   		q=(kk-n*1000)/100;
   		p=(kk-n*1000-q*100)/10; 
   		Data[3]=m;Data[2]=n;Data[1]=q;Data[0]=p;Data[4]=10;Data[5]=10;Data[6]=10;Dian=4;         
   		LedDispDig( );
 	}
 	else if(k<100)
 	{ 
   		kk=(unsigned long int)(k*1000);
   		m=kk/10000;kk=kk-m*10000;
   		n=kk/1000;
   		q=(kk-n*1000)/100;
   		p=(kk-n*1000-q*100)/10; 
   		r=(kk-n*1000-q*100)%10;
  		Data[3]=m;Data[2]=n;Data[1]=q;Data[0]=p;Data[4]=10;Data[5]=10;Data[6]=10;Dian=3;  
   		LedDispDig( );
	}
 	else if(k<1000)
 	{ 
   		kk=(unsigned long int)(k*100);
   		m=kk/10000;kk=kk%10000;
   		n=kk/1000;
   		q=(kk-n*1000)/100;
   		p=(kk-n*1000-q*100)/10; 
   		r=(kk-n*1000-q*100)%10;
   		Data[3]=m;Data[2]=n;Data[1]=q;Data[0]=p;Data[4]=10;Data[5]=10;Data[6]=10;Dian=2;  
   		LedDispDig( );
	}
	else if(k<10000)
 	{
 		kk=(unsigned long int)(k*10);
   		m=kk/10000;kk=kk-m*10000;
   		n=kk/1000;
   		q=(kk-n*1000)/100;
   		p=(kk-n*1000-q*100)/10; 
   		r=(kk-n*1000-q*100)%10;
   		Data[3]=m;Data[2]=n;Data[1]=q;Data[0]=p;Data[4]=10;Data[5]=10;Data[6]=10;Dian=1; 
   		LedDispDig( );
 	}

}

⌨️ 快捷键说明

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