单片机在LED数码管上显示光电开关的计数值,大于99则返回0。

有原理图更好。。在线等,急啊。。。。
2025-04-16 15:02:39
推荐回答(1个)
回答1:

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()函数根据数码管硬件编程,上面是个核心主程序,帮你到这了。