51单片机的 16按键问题

2024-12-25 23:20:36
推荐回答(2个)
回答1:

主函数,基本可以,显示函数也没有毛病;
只是键盘检测函数,写的太滥了,建议你到我的博客,找个现成的来用。
main()
{
uchar aa1, aa2;
while(1) {
aa1 = keyscan(); //读键盘
display(bai, shi, ge); //用显示,当延时,消抖
aa2 = keyscan(); //再读
if (aa1 == aa2) aa = aa1; //两者相等,确认到aa
i = aa * aa;
bai = i / 100;
shi = (i % 100) / 10;
ge = i % 10;
display(bai, shi, ge);
}
}

回答2:

有种方法可以简单判断,你让他按1就显示1,
按2就显示2,不要计算,这样就知道是计数部分还是其它部分有问题了
一下子完整编译通过机率是很小的。