• 基于555定时器的LED电子骰子设计


    目录

    零、前言

    一、电路总体原理图 

    1.1所用仿真平台及电子元件

    1.2整体原理图

    二、主要元件及其工作原理介绍

    2.1 555定时器

    2.2 4017逻辑单元

    三、现象展示

    四、尾声


    零、前言

          自从研究生开学以来就一直在学各种算法,从来没有碰硬件的东西,今天写完了要做的作业,感觉比较闲了,就突然想用仿真软件设计一个电子骰子。骰子(tóu zi),又称色子(shǎi zi),是中国传统民间娱乐用来投掷的博具,早在战国时期就有,通常作为桌上游戏的小道具,最常见的骰子是六面骰,它是一颗正立方体,上面分别有一到六个孔(或数字),其相对两面之数字和必为七。中国的骰子习惯在一点和四点漆上红色。骰子是容易制作和取得的乱数产生器。电子骰子就是用6个LED代表骰子的6个面,用芯片来让代表六个面的LED随机亮灭,最后那个LED亮就代表要到了那个面,这属于一个很简单的数字逻辑电路设计,其本质就是一个流水灯,对这个设计感兴趣的就继续看吧,有任何问题欢迎私信。

    一、电路总体原理图 

    1.1所用仿真平台及电子元件

           各个元件的值都是由公式或者物理参数限制确定的,具体见第第二章主要元件工作原理部分。仿真平台:NI Multisim是很常用的模拟电路仿真软件,不知道的我怀疑你是假的通信汪。

    仿真平台NI Multisim14.0
    电源5V直流电源
    电阻2.2k一个、100k两个
    电容1nf一个、0.1uf一个
    定时器NE 555
    逻辑单元4017
    LED6个
    按钮一个

    1.2整体原理图

         把元器件找到后拖到绘制原理图窗口,按如下方式进行连接,进行仿真就行了。

    整体电路原理图

    1.3电路工作流程

          通过设置电容及电阻值的大小,让555定时器芯片的输出端口产生特定的PWM脉冲,再把特定的PWM脉冲作为逻辑单元4017的触发信号,4017就是一个10进制计数器。当我们按下按钮时电路开始工作,产生的PWM脉冲会让4017的输出空依次输出高电平以点亮LED。6个LED分别代表骰子的1到6,6个面,当按起按钮时,4017暂停工作,不在进行脉冲的计数,LED停止变换,此时亮着的LED就代表此次摇骰子的结果。以上就是电路的工作流程。你可以通过减小PWM脉冲的周期来提高这个电子骰子的随机性。

    二、主要元件及其工作原理介绍

    2.1 555定时器

           555,全称“通用单双极型定时器”(General-purpose Single Bipolar Timer),意思是555的一个芯片中包含一个(单)用三极管做成的(双极型)定时器。它在外接一个电阻和一个电容后,能够精确地实现延时功能。3脚的输出会自动在高低之间变换,而不会稳定地停留在高或低上。这就形成了一个振荡器。这个特性可以用来制作LED的闪烁效果、电子琴等,也可以用于PWM技术控制电动机的转速等。

    各个引脚的功能见下表:

    555定时器引脚功能
    引脚功能
    1、GND接地。
    2、Trigger输入端Trigger,该脚会判断其电压是否小于1/3 Vcc。
    3、Output输出端Output。
    4、Reset清零端Reset。正常工作时应接高电平。
    5 、Cotrol  voltage控制电压端。一般不使用,应通过一只0.01μF(103)瓷片电容接地,以防引入高频干扰。
    6、Threshold输入端Threshold,该脚会判断其电压是否大于2/3 Vcc。
    7、Discharge放电端Discharge。
    8、Vcc外接电源Vcc,范围为4.5V~16V,一般用5V。

    充电时间:T1=0.693(R1+R2)*C

    放电时间:T2=0.693*R2*C1

    周期:T=T1+T2,f=1/(T1+T2)=1.443/(R1+R2)*C1

    占空比:T1/T=(R1+R2)/(R1+2*R2)

    改变R1、R2的值就改变了筛子的随机性。以上就是555的工作原理

    2.2 4017逻辑单元

          4017芯片是十进制计数器/分频器(带十进制输出),它有十个译码输出的5段约翰逊计数器。它是用高速CMOS技术制造,每个译码器输出通常处于低电平,且在时钟脉冲由低到高的转换过程中依次进入高电平。每个输出在高电平维持10个时钟周期中的1个时钟周期。输出10进入低电平后进位输出由低转换到高。

    CD4017有3个输(MR、CP0和~CP1),MR为清零端,当在MR端上加高电平或正脉冲时其输出O0为高电平,其余输出端(O1~O9)均为低电平。CP0和~CPl是2个时钟输入端,若要用上升沿来计数,则信号由CP0端输入;若要用下降沿来计数,则信号由~CPl端输入。设置2个时钟输入端,级联时比较方便,可驱动更多二极管发光。

            由此可见,当CD4017有连续脉冲输入时,其对应的输出端依次变为高电平状态,故可直接用作顺序脉冲发生器。刚好可以用来点亮LED。

    三、现象展示

    具体现象看下面视频,想提高随机性,让LED变化更快一点,改变电阻值就行了,自己可以尝试更改一下:

                      电子骰子

    四、尾声

            学了这么长时间的算法,突然感觉算法和硬件电路设计有异曲同工之妙。都是在设计一个又一个小的模块,每一个小的模块都设计好了连接起来就是一个特别优秀的系统。特别是创意也是很重要的,这个设计本质上就是一个流水灯,但是你能把流水灯和骰子想到一起吗?这就是我们要培养的跳跃性思维。

  • 相关阅读:
    【最小的k个数】
    Linux ARM平台开发系列讲解(CAN) 2.14.1 CAN基础协议分析
    Python 使用PIL读取图像自动旋转exif信息
    ChatGPT和API发生重大中断!
    6-羧基四甲基罗丹明,CAS号: 91809-67-5
    【算法|动态规划No.31 | 01背包问题】01背包模板题
    使用 PPG(光电容积描记图)估计心率和 SpO2 水平(Matlab代码实现)
    v-model的修饰符
    k8s学习配置harbor的nfs对接以及配置为helm仓库
    CLion 使用 clang-cl 工具链时未正确链接 vcpkg 中的 Boost 外部库
  • 原文地址:https://blog.csdn.net/qq_45049500/article/details/127706383