微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机菜鸟求助,我已经写出数码管显示从1到99了,现在我想问怎么联合按键做成秒表的形式

单片机菜鸟求助,我已经写出数码管显示从1到99了,现在我想问怎么联合按键做成秒表的形式

时间:10-02 整理:3721RD 点击:
以下是我的数码管从1到99的显示程序
#include"stc15.h"
#define uint unsigned int
#define uchar unsigned char
sbit y1=P4^5;
sbit y2=P4^4;
sbit k1=P3^3;//按键1
sbit k2=P3^2;//按键2
uint right,left=0;
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e };
void kzleft(uint);
void delay(uint z);
void main()
{
    int a = 0,b = 0;
        y1=1;
          P2=0xfe;
           P4M0=1<<4 | 1<<5;//共阳极开启强推挽输出
        P4M1=0x00;
           while(1)
           {
                           y1=0;
                     y2=1;
                         P2=table[right];
                           for(b = 0; b <70; b ++) ;  //消影
                          
                        kzleft(left);
                         for(b = 0; b <70; b ++) ;         //消影
                         a ++;
                if(a > 5000)
                {
                        a = 0;
                        right ++;
                        if(right >9)
                        {
                                right =0;
                                   left ++;
                                   if(left >9)
                                   {
                                           left =0;
                                   }
                        }
                }
           }
}
void kzleft(uint left)
{
        y1=1;
        y2=0;
        P2=table[left];       
}
?*void delay(uint z)
{
   uint x,y;
   for(x=z;x>0;x--)
      for(y=3000;y>0;y--);
}*/

数码管


按键可以做成单独的子程序,显示也做成单独的子程序,然后主程序根据需要调用两个子程序就可以了

是这个样子吗?
while(k1==0); //等待按键松开
    }
   if(k2==0)
   {
      delay(30);    //延时去抖
      if(k2==0)     //再判断是否按下
      {
      //这中间我不知道怎么加循环//
       while(k2==0);    //等待按键松开
      }
    }

只有两个键的话需要记录按的是什么键,以及按键按下的次数。
你需要把整个操作过程整理出来,包括各按键的功能,不同功能所需要按键按下的次数等。
程序尽量模块话,就是模块的功能尽量单一,尽量简单,比如按键检测的模块就是检测按键,检测到了就记录按的是什么键,按了多少次,其他就放到其他的模块去做。

做一个数据,想想按下按键取某个参数

按键模块写出来,再加其他功能的程序进去崩盘啊!不懂啊!求多按键控制多功能的模版

按键模块写出来,再加其他功能的程序进去崩盘啊!不懂啊!求多按键控制多功能的模版

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top