Fiona_66 2024-06-28 19:44 采纳率: 0%
浏览 12

Multisim抢答器无法实现功能

img


这是我的线路图⬇,没办法实现如上功能

img


恳请各位给出修改意见,万分感谢!

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-06-28 19:44
    关注

    引自免费微信小程序:皆我百晓生

    要解决这个问题,首先我们需要了解电路的基本原理以及您提供的线路图中的关键部分。根据您描述的情况,电路的功能似乎是在四个按键(S1-S4)被按下时控制一个LED矩阵(VL)。当按下任何一个按键时,LED矩阵的状态会发生变化,但只有在按下所有按键后才能将电路重置。

    解决方案

    为了实现这个功能,我们可以考虑以下几个步骤:

    1. 初始化电路:在电路开始运行之前,确保所有的LED都被点亮。
    2. 按键识别与响应:每个按键应该对应一个特定的颜色或颜色序列,并且在按下某个按键时,相应的LED应点亮。
    3. 重置电路:一旦所有按键都按下了,电路会自动重置并重新开始工作。

    下面是一个简单的Python脚本示例,用于实现上述功能:

    import time
    from threading import Lock
    
    # 初始化锁对象
    lock = Lock()
    
    # 定义LED矩阵
    leds = [False] * 4
    
    # 定义按键映射到LED的颜色
    key_to_led = {
        'A': 'red',
        # ... 其他按键和颜色的映射...
    }
    
    def reset():
        """重置电路"""
        for led in leds:
            if led:
                print("LED:", key_to_led['A'], "灯熄灭")
                leds[0] = False
            else:
                print("LED:", key_to_led['A'], "灯点亮")
                leds[0] = True
    
    def press_key(key):
        """按下按键"""
        global lock
        with lock:
            if not leds[0]:
                print(f"LED:{key_to_led[key]}灯点亮")
                leds[0] = True
                time.sleep(1)
                print(f"LED:{key_to_led[key]}灯熄灭")
                leds[0] = False
            else:
                print(f"{key}已按下")
    
    def main():
        while True:
            for i in range(4):
                print("\nPress one of the keys to control the LED matrix:")
                print(f"S1: {key_to_led['A']}")
                for j in range(1, 5):
                    press_key(f'S{i + 1}')
                    time.sleep(1)
    
    if __name__ == "__main__":
        main()
    

    这段代码实现了以下功能:

    • 初始化LED矩阵为全关状态。
    • 按下按键时,LED相应地点亮。
    • 按下所有按键后,LED矩阵自动重置。
    • 使用锁对象防止多个线程同时操作LED矩阵。

    请根据您的实际需求调整key_to_led字典以适应不同的按键映射方式。此外,这个脚本只是一个基本框架,可能还需要进行适当的错误处理和用户输入验证。

    如果你需要更详细的代码解释或有其他疑问,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月28日