zoukankan      html  css  js  c++  java
  • 关于电平触发和边沿触发的不同

     记得以前上大学时,老师讲到下降沿触发时,怎么也分不清下降沿触发与低电平触发有什么区别,乍看,它们似乎是一样的,比如键盘扫描程序扫描键盘是否按下:

    某事件设为低电平触发【采用周期时间扫描方式查询触发条件是否成立】,初始化时为高电平即事件未触发,当电平突然改变为低电平,之后扫描程序执行到了这里扫描,则发现变为低电平故执行触发;

    某事件设为下降沿触发【采用周期时间扫描方式查询触发条件是否成立】,初始化时为高电平即事件未触发,当电平突然改变为低电平,之后扫描程序执行到了这里扫描,则发现变为低电平故执行触发;

      看上面结果是不是一样的!

      但是,大家千万别忘了一个重要的东西,那就是时间是一直在走的,不会永远定格在某一刻,特别是单片机、计算机,它们只要没给它们指令让他们停止,那么它们就一直在运行,同样键盘扫描程序也一直在周期性地扫描键盘!当下一个扫描周期到了时,你就会发现它们两种触发方式所导致的结果完全是不一样的。

      同样拿键盘扫描做实例,比如一个简单的键盘扫描程序设计,它实现一个键盘对应一个指示灯,当键盘按下一次时(假设按键按下时送人低电平、松开时送入高电平)对应的指示灯状态改变一次,即如果原来是熄灭的,当键盘第一次按下时将使它点亮,当键盘再次按下时它将熄灭,再按下时点亮,再按下时熄灭如此循环。这里我们采用键盘周期性扫描的方法查询按键是否按下:

    1、在第1次扫描到键盘按下时,结果如前面我们说的一样,不论是低电平触发还是下降沿触发结果都会触发事件,这里触发时即指示灯点亮。然后程序继续运行……

    2、当程序继续运行到第2次扫描键盘时按键还没放开,结果就不一样了。

     低电平触发:触发条件依然为低电平,即触发条件成立,那么执行事件,即指示灯状态改变,此时指示灯由亮变灭

     下降沿触发:触发条件依然为低电平,与下降沿触发条件不成立,那么不执行事件,即指示灯维持原来的亮的状态。

    3、当程序继续运行到第3次扫描键盘时按键还没放开,结果:

         低电平触发:触发条件依然为低电平,即触发条件成立,那么执行事件,即指示灯状态改变,此时指示灯由灭变亮

         下降沿触发:触发条件依然为低电平,与下降沿触发条件不成立,那么不执行事件,即指示灯维持原来的亮的状态。

      以上就是最典型的低电平触发与下降沿触发的区别,希望大家能从上面的例子里理解、掌握低电平触发和下降沿触发,并在实际学习和工作中能够灵活运用合适的触发方式。

  • 相关阅读:
    阿里云配置php环境 ubuntu12.04 32 nginx+php5+mysql
    苹果广告新手段,照片广告,防不胜防啊,老司机教你如何应对
    苹果日历广告对应办法
    python 保存文本txt格式之总结篇,ANSI,unicode,UTF-8
    python 脚本开发实战-当当亚马逊图书采集器转淘宝数据包
    pycharm的console显示乱码和中文的配置
    python读取文件时提示"UnicodeDecodeError: 'gbk' codec can't decode
    appium安装问题集锦
    二叉树算法-用于记忆
    获取当前目录及子目录下包含指定内容的文件名,并将文件的相对路径打印
  • 原文地址:https://www.cnblogs.com/biglucky/p/4971077.html
Copyright © 2011-2022 走看看