📄 ledplay.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 + -