单片机独立按键如何置数

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:37:18
四个按键p1.0……p1.3分别为个十百千位还有一位设置位p1.4,设置位p1.4按下奇数次时:如果按下个位的键个位加一,……按下千位的键千位加一,达到预设值时按起设置键,把当前的预设值存起来。当程序计数值到达预设值时,则执行某个动作。
最好是c语言的
我说的预设值值得是自己想要的任意值。显示用的是4位串行的74hc595带四位数码管

main
{
int word;
...
switch(Key)
{
...
case 14: //按下p14
while(Key == 14); //防抖
word = set();
break;
...
}
...
int set();
{
int word,finish=1;
word = ... //读取e2rom保存的设定值

while(finish)
{
Led[0] = word % 10000/1000;
Led[1] = word % 1000/100;
Led[2] = word % 100/10;
Led[3] = word % 10; //数码管显示

switch(Key)
{
case 10: //p10 个位
word += 1;
while(Key == 10);
break;
case 11:
word += 10;
while(Key == 11);
break;
case 12:
word += 100;
while(Key == 12);
break;
case 13:
word += 1000;
while(Key == 13);
break;
case 14:
....//保存word至e2rom
finish = 0;
while(Key ==