谁能帮我看下这个程序呀,我写的51单片机,用的c语言,结果数码管就显示俩00,一直不动,这是怎么回 5
1个回答
展开全部
思路有点问题。
除思路问题外,键盘扫描的处理也有点问题,去抖没做好。
1,建议定义一个变量status标记当前调整的是“时”还是“分”还是秒。用一个按键控制这个变量的变化,变量的值由0变到3,再变为0。0的时候不调整,1的时候调整时,2的时候调整分,3的时候调整秒.用KEY1控制,按一下KEY1,变量status由常态0变成1,再按变成2,再按就成3,再按变回0。
2,用KEY2做加,KEY3做减。按一个KEY2,当前操作的单元加1 ,(如“时”加一)。按一下KEY3,当前操作的单元减一。
还可以把当前操作的单元显示为闪烁状态。
键盘扫描处理,如扫描KEY1,先看KEY1是否按下,然后延时,然后再次看KEY1是否仍然按下,如果是,则确认KEY1有效,否则认为是抖动。
除思路问题外,键盘扫描的处理也有点问题,去抖没做好。
1,建议定义一个变量status标记当前调整的是“时”还是“分”还是秒。用一个按键控制这个变量的变化,变量的值由0变到3,再变为0。0的时候不调整,1的时候调整时,2的时候调整分,3的时候调整秒.用KEY1控制,按一下KEY1,变量status由常态0变成1,再按变成2,再按就成3,再按变回0。
2,用KEY2做加,KEY3做减。按一个KEY2,当前操作的单元加1 ,(如“时”加一)。按一下KEY3,当前操作的单元减一。
还可以把当前操作的单元显示为闪烁状态。
键盘扫描处理,如扫描KEY1,先看KEY1是否按下,然后延时,然后再次看KEY1是否仍然按下,如果是,则确认KEY1有效,否则认为是抖动。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询