• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

怎么用按键作显示模式选择键

ea1c05ee9e6ee035 2020-06-03 浏览量:714
用按键作显示模式选择键,实现上述实验中3个显示画面的切换,即上电显示“1”,按1次键显示“1234”,再2次键显示2位秒计数器,按3次键又显示“1”……。这个怎么做呀?#define THCO   0xee
#define TLCO   0x0还有这个定义该怎么判断什么时候需要又如何来写呢??
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个从逻辑上来说比较简单,涉及的主要是

    1. 按键检测

    2. 状态翻转(切换处理)

    对于1,注意一下防抖就好

    对于2,大致是有一个状态标记变量,比如为int flag 初始化为0,按1次键就累加1再对可能状态取余设置值,之后根据这个flag进行显示切换。

    伪语言位

    #define FLAGCOUNT 3
    int flag=0;
    
    // 按键处理过程
    void OnButton(){
    flag=(flag+1) %  FLAGCOUNT ; // 因为从上看只有3个状态,这里可以换
    show(flag); // 这里的show是一个现实处理实现,会根据flag进行适当显示处理
    }

    void show(int flag){
    switch( flag ){
    case 0:
    ...
    break;
    case 1:
    ...
    break;
    case 2:
    ...
    break;
    ....
    }
    }

    • 发布于 2020-06-04
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 这定义一个变量 比如 int i;

    然后上电初始化 i=0;

    后来进入主循环时 判断按键是否按下如果按下就i++;

    然后在主循环的最后判断i的值 

    if (i==0) 处理一次

    if(i==1) 在处理一次 以此类推

    • 发布于2020-06-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 定义一个变量来记录三中状态,然后主循环里面判断这个变量的值,在显示,可以用if,else,也可以用switch,case,thco和tlco应该和显示刷新率有关,不需要改动
    • 发布于2020-06-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种用状态机做比较容易,就是按键实现状态切换,不同的状态下给画面显示不同的内容
    • 发布于2020-06-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以用一个变量计下按下的次数,再通过if或是switch来判断变量的值,不同的值运行不同的程序或是函数
    • 发布于2020-06-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 你只要写好按键的功能函数,至于 在函数内再放上显示不同界面的函数,这样功能就实现了
    • 发布于2020-06-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

怎么用按键作显示模式选择键