52单片机的题目,本人刚学一个月,实在有点搞不定,求助啊.有注释、能直接使的追加100分

问题描述:

52单片机的题目,本人刚学一个月,实在有点搞不定,求助啊.有注释、能直接使的追加100分
三个按键 数码管 蜂鸣器 流水灯
开机显示00
每按一次减少键 显示数字减少1 如果减到00再按减少键数值不变化
每按一次增加键 显示数字增加1 如果加到03 再按增加键数值不变化
当显示数字为 00此时按下确认键 执行 流水灯每隔约200ms 右移5次
当显示数字为 01此时按下确认键 执行 流水灯每隔500ms 左移5次
当显示数字为 02 此时按下确认键 执行蜂鸣器滴滴响5次
当显示数字为 03此时按下确认键 执行 所有显示清零 蜂鸣器长响一声
在所有动作执行期间 数码管显示的数据要求稳定 显示 不能消失
注:蜂鸣器P3.7流水灯4个LED:P1.4~P1.7共阳数码管段选P2(0~3:0x14,0x77,0x4c,0x45),位选P3(个位0x80,十位0x40)
按键P3.0、P3.5、P3.6
主要的问题,就是第三个按键按下之后的程序写不对

首先你的键盘扫面,当扫面到有键按下时进入按键处理程序,一般是case语句选择,在确定的case中调用确定键处理函数,函数判断显示的数字(送显示时先将数值存入一个全局变量中,然后再送显示,这样这是就能读出)用case或者if选择,并完成其对应功能