本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
char* scz(unsigned long num) //它的作用是反数值转换成字符,且和我们书写的习惯一样.
{
int j,k,h,m;
// char c[10],b[10];
char c[10],b[10];
for(j=0;j<10;j++)
{
if(num>0)
{
c[j]=num%10+48;
num=num/10;
}
else
break;
}
for(k=9;k>=0;k--)
{
if(c[k]!=0)
{ m=k;
for(h=0;h<=k;h++)
{
b[h]=c[m];
m--;
}
break;
}
}
return b;
}
/*------------------------------------------------
主函数
------------------------------------------------*/
void main(void)
{
unsigned char i;
unsigned char *bu;
unsigned int juLi;
LCD_Init();
while(1)
{
while(ranging()-juLi<60|juLi-ranging()<60);
DelayMs(50);
LCD_Clear();//清屏
juLi=ranging();
if(juLi==0)
{
LCD_Write_String(1,1,"it is zero");
}
else
{
for(i=0;i<10;i++)
{
bu=scz(juLi);
if(bu[i]>47&&bu[i]<58)
{
LCD_Write_Char(i,0,bu[i]);
DelayMs(500);
}
else
{
break;
}
}
}
}
}
char* scz(unsigned long num)它的作用是把一个数字转换成字符数组,并以指针的形开返回,用LDC1602动态显示scz传回的数组,当前后数组所含 的位相同时能够显示,但是当位数不同了,位数少的就不能按要求显示,而是最前面的多出的位数不能消除,只能在后面显示,请高手指教一下 |