panhao109 2019-10-30 09:45 采纳率: 0%
浏览 3169

89C51单片机设计一个彩灯控制系统,有4个控制开关,8盏LED灯

1.当闭合第1个开关时,8盏灯同时闪烁;
2.闭合第2个开关时,8盏灯从左到右依次被点亮,最后全亮;
3.闭合第3个开关时,8盏灯从右到左依次被点亮,最后全亮;
4.闭合第4个开关,8盏灯隔灯闪烁。(控制过程中的时间自己设定;每次只允许一个开关闭合)如果能有硬件设计最好

  • 写回答

3条回答

  • bobhuang 2019-10-30 10:33
    关注

    89C51有4个8bit端口,共32个IO,这个需求只需要4位输入和8位输出,用面包板就能搭出原型。
    可以找网上现成的基于89C51的原理图改一下,比如控制LED的电路。
    4个开关输入,可以用port1或者port2,带内部拉高,只要在闭合的时候拉底就可以。注意开关的瞬间信号容易出现毛刺信号,用多次检测做平均或者检测连续状态来消除。
    8位输出,一般用于控制三极管,再通过三极管控制LED灯。选择接通电流与LED灯匹配的三极管。
    再加上电源和编程烧录的电路,就差不多了。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog