write_dat(' ');
}
else if(fre>=1000)
{
write_com(0x80+4);
for(i=0;i<8;i++)
{
write_dat(0x30+temp[i]); //保存要显示的数到显示缓冲区
if(i==4)
{
write_dat('.');
}
}
write_dat('K');
write_dat('H');
write_dat('z');
}
T1count=0;
timecount=0;
TH1=0;
TL1=0;
TH0=0;
TL0=0; //定时器0重新装值,保证精确(不加的话只是最多差0.001s,0.1%)
}
void display1()
{
uchar j;
float zhou;
zhou=((T1count1*65536+TH0*256+TL0)*1.0549);
frx=(long)((zhou)*256);
temp1[0]=frx/10000000;
temp1[1]=frx%10000000/1000000;
temp1[2]=frx%10000000%1000000%1000000/100000;
temp1[3]=frx%10000000%1000000%1000000%100000/10000;
temp1[4]=frx%10000000%1000000%1000000%100000%10000/1000;
temp1[5]=frx%10000000%1000000%1000000%100000%10000%1000/100;
temp1[6]=frx%10000000%1000000%1000000%100000%10000%1000%100/10;
temp1[7]=frx%10000000%1000000%1000000%100000%10000%1000%100%10;
if(frx<=999)
{
write_com(0x80+0x40+4);
for(j=0;j<8;j++)
{
write_dat(0x30+temp1[j]); //保存要显示的数到显示缓冲区
}
write_dat('H');
write_dat('z');
write_dat(' ');
write_dat(' ');
}
else if(frx>=1000)
{ // frx=frx/1000;
write_com(0x80+0x40+4);
for(j=0;j<8;j++)
{
write_dat(0x30+temp1[j]); //保存要显示的数到显示缓冲区
if(j==4)
{
write_dat('.');
}
}
write_dat('K');
write_dat('H');
write_dat('z');
}
}
void main(void)
{
init();
init1();
while(1)
{
rd=0;
ird=1;
if(flag==1) //标志位为1,表示进行完了一次1S记数
{
flag=0;
kb=0;
kx=1;
clr=0;
ird=0;
id=0;
display1();
display();
}
else
{
kb=1;
kx=0;
上一页 [1] [2] [3] 下一页
本文关键字:单片机 源程序 源码-程序,单片机-工控设备 - 源码-程序