班主任敢死队

    1. :kiss:
    2. jianhong_wu 发表于 2014-6-10 01:20 第六节:在主函数中利用累计主循环次数来实现独立按键的检测。 开场白: 上一节讲了多任务中蜂鸣器驱动程序的框架,这节继续利用多任务处理的方式,在主函数中利用累计主循环次数来实现独立按键的检测。要教会大家四个知识点: 第一点:独立按键的驱动程序框架。 第二点:用累计主循环次数来实现去抖动的延时。 第三点:灵活运用防止按键不松手后一直触发的按键自锁标志。 第四点:在按键去抖动延时计时中,添加一个抗干扰的软件监控判断。一旦发现瞬间杂波干扰,马上把延时计数器清零。这种方法是我在复杂的工控项目中总结出来的。以后凡是用到开关感应器的地方,都可以用类似的方法实现软件上的抗干扰处理。 具体内容,请看源代码讲解。 (1)硬件平台:基于朱兆祺51单片机学习板。用矩阵键盘中的S1和S5号键作为独立按键,记得把输出线P0.4一直输出低电平,模拟独立按键的触发地GND。 (2)实现功能:有两个独立按键,每按一个独立按键,蜂鸣器发出“滴”的一声后就停。 (3)源代码讲解如下: 总结陈词:     本节程序已经展示了在主函数中,利用累计主循环次数来实现独立按键的检测。这种方法我经常在实战用应用,但是它也有一个小小的不足,随着在主函数循环中任务量的增加,为了保证去抖动延时的时间一致性,要适当调整一下去抖动的阀值const_key_time1。如何解决这个问题呢?欲知详情,请听下回分解-----在主函数中利用累计定时中断的次数来实现独立按键的检测。 (未完待续,下节更精彩,不要走开哦)
      定义了这么多函数,变量,我眼花了

最近访客

< 1/1 >

统计信息

已有4人来访过

  • 芯积分:--
  • 好友:--
  • 主题:--
  • 回复:2

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言