当我用C语言写数码管时为什么我按键按下去它才亮不按它就不亮了_百度知...
发布网友
发布时间:2024-10-23 04:30
我来回答
共1个回答
热心网友
时间:2024-10-30 09:31
键码扫描的地方存在两个问题:
1.如果消抖时,发现键盘抖动,函数没有指定返回值,这个不能预测。
2.在扫描结束之后,没有对键盘弹起做判断,弹起时也需要消抖。
还有一个疑问就是不知你的数码管是动态扫描的来中静态的
代码:void main()
{
unsigned char keytemp;//【定义一个新变量】
p27=0;
P0=s8[16];
while(1)
{
P1=0XF0;
if(P1!=0XF0)
{
//要做防抖,和弹起处理
keytemp=s8[keyscan()];}//【存放变量】
}
P0=keytemp;//【输出显示】
}
}