我叫赵怡彬 2016-10-09 00:38 采纳率: 100%
浏览 1374
已采纳

单片机编程问题,键盘按键问题

用51写个程序按不同的按键会实现不同的功能。那把表示判断按键的if语句一定要放在包涵整个主函数的while语句里吗?不过这样的话,实行不同功能,也是要用到while(1)的,这样while里面嵌套while可以吗?会不会进了一个while之后,出不来了?

  • 写回答

2条回答 默认 最新

  • python授渔者徐老师 2016-10-10 01:07
    关注

    其实,我刚才说的思想是可以解决这个问题的,也就是说,每个循环里面,都先读取一次按键值,并且用一个变量存储起来,这样在每个循环的后面的阶段,就不用再读取按键值了,而只是对这个变量的值进行判断就知道案按下的按键了。

    然后后面的事情如何一直做,可以用状态切换来做,用一个变量表示状态,根据这个变量的不同值进入不同状态执行,切换界面模式,所以
    while(1)
    {
    读取按键值并保存到变量x;(代表了所有按键的情况,不会的话可以用多个变量存储,k1,k2,k3……)

    然后对存在变量中的值进行判断
    
    确定一个状态y
    
    根据y
    执行对应操作
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同