char t;// 计数值
void main()//主函数
{
t=0;//初始化t
while(1)
{
if(P0&0x01==0)//监测是否有光电信号
{
delay_ms(50);//50ms消抖,防止扰动
if(P0&0x01==0)//再次判断是否有信号
{
if(i==99)//如果计数达到99则清0,否则加一
{
i=0;
}
else
{
t+=1;
}
}
}
display(t);//led显示当前计数
}
}
注:display()函数根据数码管硬件编程,上面是个核心主程序,帮你到这了。