想用51单片机编个倒计时的c程序,要求用两位数码管显示分钟的,并用一个按键

如题所述

你这数码管的1、2口就这么悬着或者接dp一起了真的没问题吗……
全局变量2个用于表示个位和十位,显示的时候可以省点力不用每次计算个位十位。
然后一个全局变量代表秒
编程的话,首先是按键响应中断,控制某个全局变量flag的值,三种状态:正常、暂停、到时间。按键可以在前两种之间切换,如果已经是第三种状态则没反应(或者要重置什么随你)
然后定时器,一直开着就好,比如定10ms,每10ms就给一个全局变量的值+1
这个变量到了100的时候就说明一秒过了,重设值,全局变量的秒减一。如果到0了,就恢复60,然后给分钟的个位减一。如果个位不够减,就把十位减一然后个位设9。如果十位和不够减,就是时间到了,flag设置为第三种状态
主函数在初始化各种状态之后不断循环给数码管显示数字,就ok了。
温馨提示:答案为网友推荐,仅供参考