单片机C程序如何取上升沿和下降沿

单片机C程序如何取上升沿和下降沿,第1张

上升沿和下降沿一般是硬件处理,程序只能判断是否已出现。

计数器一般会自动计数,如果是程序模拟计数器,先置状,如被外部改变,就认为已出现跳变。

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

上升沿和下降沿在实际编程中应用相当广泛,尤其是在运动控制中。

举个简单的例子,到设备到达某个位置时,需要第一道工序,而离开某个位置时,需要第二个工序,这样一个位置传感器的时候,就要采用上升沿的信号做第一道工序,采用下降沿信号做第二道工序。

另外上升沿或者下降沿还往往可以用来滤波,例如,我按一次按钮,某个设备动作一次,如果我用常开点做这个动作的时候,你按下去一下,可能PLC已经扫描了成千上万遍,因为你按下去的时间不确定,而PLC的扫描周期很短,只有几微秒,而你按一下的动作最快也是毫秒级别的,每扫描一次就动作一次,这样你实际按了一下,而设备已经动作了N下了。这个时候取上升沿信号就不会有这个问题了。

不知道我的解释你听明白了没有,希望对你有帮助,如果不明白,欢迎追问!

程序段1的POS指令仅仅检测方框上面的I0.0的上升沿,P线圈指令检测它左边的输入的能流(RLO)的上升沿。你的P线圈左边只有I0.0的常开触点,所以结果是一样的。可把P线圈左边的触点改为串并联电路。POS指令不能检测串并联电路的上升沿。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12020228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存