编程|第三章 逻辑函数编程 (4)

文章图片
【编程|第三章 逻辑函数编程 (4)】
文章图片
文章图片
文章图片
基于时间的逻辑
One Shot
在这个系列中最基本的函数是One Shot 。 当输入端“Trigger”出现上升沿时 , 将触发连接到输出端“Out”
上的信号输出一定时间的高电平 , 时间长度由双精度的“Time”参数决定 。 这段时间内 , 不论”Trigger”输入端发生怎样的变化 ,输出”Out”的值为高 。当”Out”的值变低时 ,函数才可以由另一个上升沿重新触发 。同Set/ResetLatch及Toggle函数的情况一样 , 输出”Out*”的值与”Out”互补 。
One Shot还有一个“Trigger*”输入端 , 它由下降沿触发 。 在输入端“Trigger*”上出现下降沿的效果和
“Trigger”上出现上升沿一样 。 另外还有一个“Reset”输入 , 它允许您取消正在进行中的One-Shot操作 。
即一旦Trigger输入端出现上升沿 , 连接到“Out”输出端的信号将变高并保持“Pulse_Time”参数中指定的时
长 。 输出脉冲一旦开始 , 在脉冲时间未到之前取消它的唯一办法是使“Reset”输入端变高 。 当Reset为高时 ,
“Trig”和“Trig*”输入无效 。
One-Shot系列中的所有函数(Multiple One-Shots除外)都有Reset输入端 , 工作方式也都相同 。
有些品牌的投影机 , 需要按住红外遥控上的”Power on”一段时间后 , 才可以正常开机 。 这是为了防止人们
在使用遥控器时意外地开机或关机 。 在定制的控制系统中 , 我们通常内部处理这种操作 , 用户只需要按一下按
钮 , 就可以正常开机了 。 如上图所示 , One Shot由一个按钮触发 , 并产生一个4秒钟的脉冲驱动红外控制命
令 。 方便的是如果投影机电源开是由Buffer编写的电源开启时序中的一个功能 , One Shot将确保同样会产生
一个4秒钟的脉冲到红外驱动 。
Multiple One Shot
经常您会发现当我们需要用One Shot产生一个固定脉冲宽度的信号时 , 我们需要对其它相关的信号进行
同样的处理 。 这可以通过多个One Shot函数来实现 , 但因为这种情况非常常见 , 所以有另外一个特别的函数
Multiple One Shot 。
Multiple One Shot函数其实是由多个独立One Shot组合而成的 。 需要注意的是虽然每一对输入/输出分别
代表One Shot函数的“Trigger”和“Out” , 但Multiple One Shot没有”trigger*”和”out*” 。 此外 , 尽管所有的input/output对是独立的 , 但它们具有相同的由双精度参数“Time”确定的脉冲时间 。
当通过低压继电器控制电动屏幕和窗帘时 , 必须让继电器闭合足够长的时间 , 以确保设备接口能够正确识
别 。 多数情况下这些接口需要半秒钟闭合 , 但是不能确保用户会按足半秒钟 。 上图中的Multiple One Shot编程例子是一种解决方法 。
Retriggerable One Shot
另一种形式的One Shot是Retriggerable One Shot , 它的功能基本上和One Shot完全一样 。 唯一不同的是One Shot在输出”out”为高时会忽略”trigger”和”trigger*”的变化 。 而Retriggerable One Shot无论输出”out”是否为高 , 都会识别”tigger”的上升沿(或”trigger*”的下降沿) , 并再次触发和重新计时 。 只有当最后一次触发的脉冲时间结束后 , ”out”输出的值才会变低 。
- 编程|测试人员对编程天生“恐惧”么?
- 编程|打造Web3.0基础设施 百度瞄准元宇宙的“人货场”?
- 网易易盾|测试人员对编程天生“恐惧”么?
- AI 编程工具 Copilot 的竞品 CodeWhisperer 来了,预览版免费用
- 编程|互联网时代不懂数据脱敏是灾难性的
- 如今|人工智能编程工具copilot正式发布
- 编程|以太网交换机中MB、bps 、pps的解析
- aiXcoder XL智能编程大模型发布:自然语言一键生成方法级代码
- 操作系统|好消息接二连三,除编程语言外,国产操作系统根社区也来了
- 编程|网络运营是什么?怎么做好网络运营?
