void main(void)
{
init2(); //定时器初始化
while(1)
{
if(num==100) //1秒时间到
{
if(fcnt<11) fun1(); //fcnt<11为1秒内小于10个脉冲。转去fun1求低频
else f1=(fcnt-1)/10; //否则是求高频
}
init(); //1602初始化函数
init1(); //固定显示内容
pinlu(f1); //分频各位分离显示
while(1)
{
switch(a) //万位
{case 0 :delay(5);write_com(0x87);delay(5);write_data('0');delay(5);break;
case 1 :delay(5);write_com(0x87);delay(5);write_data('1');delay(5);break;
case 2 :delay(5);write_com(0x87);delay(5);write_data('2');delay(5);break;
case 3 :delay(5);write_com(0x87);delay(5);write_data('3');delay(5);break;
case 4 :delay(5);write_com(0x87);delay(5);write_data('4');delay(5);break;
case 5 :delay(5);write_com(0x87);delay(5);write_data('5');delay(5);break;
case 6 :delay(5);write_com(0x87);delay(5);write_data('6');delay(5);break;
case 7 :delay(5);write_com(0x87);delay(5);write_data('7');delay(5);break;
case 8 :delay(5);write_com(0x87);delay(5);write_data('8');delay(5);break;
case 9 :delay(5);write_com(0x87);delay(5);write_data('9');delay(5);break;
default :delay(5);write_com(0x87);delay(5);write_data('*');delay(5);break;
}
switch(b) //千位
{case 0 :delay(5);write_com(0x88);delay(5);write_data('0');delay(5);break;
case 1 :delay(5);write_com(0x88);delay(5);write_data('1');delay(5);break;
case 2 :delay(5);write_com(0x88);delay(5);write_data('2');delay(5);break;
case 3 :delay(5);write_com(0x88);delay(5);write_data('3');delay(5);break;
case 4 :delay(5);write_com(0x88);delay(5);write_data('4');delay(5);break;
case 5 :delay(5);write_com(0x88);delay(5);write_data('5');delay(5);break;
case 6 :delay(5);write_com(0x88);delay(5);write_data('6');delay(5);break;
case 7 :delay(5);write_com(0x88);delay(5);write_data('7');delay(5);break;
case 8 :delay(5);write_com(0x88);delay(5);write_data('8');delay(5);break;
case 9 :delay(5);write_com(0x88);delay(5);write_data('9');delay(5);break;
default :delay(5);write_com(0x88);delay(5);write_data('*');delay(5);break;
}
switch(c) //百位
{case 0 :delay(5);write_com(0x89);delay(5);write_data('0');delay(5);break;
case 1 :delay(5);write_com(0x89);delay(5);write_data('1');delay(5);break;
case 2 :delay(5);write_com(0x89);delay(5);write_data('2');delay(5);break;
case 3 :delay(5);write_com(0x89);delay(5);write_data('3');delay(5);break;
case 4 :delay(5);write_com(0x89);delay(5);write_data('4');delay(5);break;
case 5 :delay(5);write_com(0x89);delay(5);write_data('5');delay(5);break;
case 6 :delay(5);write_com(0x89);delay(5);write_data('6');delay(5);break;
case 7 :delay(5);write_com(0x89);delay(5);write_data('7');delay(5);break;
case 8 :delay(5);write_com(0x89);delay(5);write_data('8');delay(5);break;
case 9 :delay(5);write_com(0x89);delay(5);write_data('9');delay(5);break;
default :delay(5);write_com(0x89);delay(5);write_data('*');delay(5);break;
}
switch(d) //十位
{case 0 :delay(5);write_com(0x8a);delay(5);write_data('0');delay(5);break;
case 1 :delay(5);write_com(0x8a);delay(5);write_data('1');delay(5);break;
case 2 :delay(5);write_com(0x8a);delay(5);write_data('2');delay(5);break;
case 3 :delay(5);write_com(0x8a);delay(5);write_data('3');delay(5);break;
case 4 :delay(5);write_com(0x8a);delay(5);write_data('4');delay(5);break;
case 5 :delay(5);write_com(0x8a);delay(5);write_data('5');delay(5);break;
case 6 :delay(5);write_com(0x8a);delay(5);write_data('6');delay(5);break;
case 7 :delay(5);write_com(0x8a);delay(5);write_data('7');delay(5);break;
case 8 :delay(5);write_com(0x8a);delay(5);write_data('8');delay(5);break;
case 9 :delay(5);write_com(0x8a);delay(5);write_data('9');delay(5);break;
default :delay(5);write_com(0x8a);delay(5);write_data('*');delay(5);break;
}
switch(e) //个位
{case 0 :delay(5);write_com(0x8b);delay(5);write_data('0');delay(5);break;
case 1 :delay(5);write_com(0x8b);delay(5);write_data('1');delay(5);break;
case 2 :delay(5);write_com(0x8b);delay(5);write_data('2');delay(5);break;
case 3 :delay(5);write_com(0x8b);delay(5);write_data('3');delay(5);break;
case 4 :delay(5);write_com(0x8b);delay(5);write_data('4');delay(5);break;
case 5 :delay(5);write_com(0x8b);delay(5);write_data('5');delay(5);break;
case 6 :delay(5);write_com(0x8b);delay(5);write_data('6');delay(5);break;
case 7 :delay(5);write_com(0x8b);delay(5);write_data('7');delay(5);break;
case 8 :delay(5);write_com(0x8b);delay(5);write_data('8');delay(5);break;
case 9 :delay(5);write_com(0x8b);delay(5);write_data('9');delay(5);break;
default :delay(5);write_com(0x8b);delay(5);write_data('*');delay(5);break;
}
switch(f) //小数位位
{case 0 :delay(5);write_com(0x8d);delay(5);write_data('0');delay(5);break;
case 1 :delay(5);write_com(0x8d);delay(5);write_data('1');delay(5);break;
case 2 :delay(5);write_com(0x8d);delay(5);write_data('2');delay(5);break;
case 3 :delay(5);write_com(0x8d);delay(5);write_data('3');delay(5);break;
case 4 :delay(5);write_com(0x8d);delay(5);write_data('4');delay(5);break;
case 5 :delay(5);write_com(0x8d);delay(5);write_data('5');delay(5);break;
case 6 :delay(5);write_com(0x8d);delay(5);write_data('6');delay(5);break;
case 7 :delay(5);write_com(0x8d);delay(5);write_data('7');delay(5);break;
case 8 :delay(5);write_com(0x8d);delay(5);write_data('8');delay(5);break;
case 9 :delay(5);write_com(0x8d);delay(5);write_data('9');delay(5);break;
default :delay(5);write_com(0x8d);delay(5);write_data('0');delay(5);break;
}