目录
数显部分:题目要求显示“0”和“L”,注意观察一下就可以知道,一个正“L”和一个倒“L”就组成一个0
数码管引脚图
按题目分析可知,上电显示0,按键按下一次显示L,等按到三次后再显示0,那么数码管依次显示0-L-L-L-0-L-L-L……故数码管的f、e、d保持常亮即可。
那怎么才能让它依次显示0-L-L-L呢?用的共阴极数码管的fed要保持全亮,那么fed全为高电平,abc要依次为1、0、0、0
根据给的耗材清单,可以使用CD4013双D触发器和CD4011与非门构成
CD4013:双D触发器,内有两个D触发器,1~6引脚为一个,8~13引脚为一个,7和14为供电,4号R引脚高电平复位为0,6号S引脚高电平置位为1,所以这两个引脚不能同时为高电平;当这两个引脚同时为低电平时,并且3号时钟端有上升沿到来时,1号Q引脚就等于5号D引脚的电平
1)R和S不能同时为高电平。
2)当R为1、S为0时,输出Q一定为0,因此R可称为复位端。
3)当S为1、R为0时,输出Q一定为1。
4)当R、S均为0时,Q在CP端有脉冲上升沿到来时动作,具体是Q=D,即若D为1则Q也为1,若D为0则Q也为0。
一个D触发器:
使用一个触发器 仅仅只能让Q输出端为0-1-0-1……,无法实现我们的需求。我们看看给的材料清单给了2片4013,那么就有4个D触发器了,为什么给这么多呢?????
这里我们就要想到CD4013的级联了,我的方案使用了两个D触发器和四个与非门。
分析一下1Q和2Q的电平变化:00、10、01、11,对每个输出端都接与非门转化为11、01、10、00,对这四个再次与非得到0、1、1、1,是不是与我们想要的非常接近了,再经过一个就得到1、0、0、0了。
一、数显部分:
方案一:
方案二:
但是,由于40系列芯片带负载能力弱,电流小,使得数码管亮度不均匀,就像下图。需要三极管扩流或者在上图数码管的def端和VCC之间串一个电阻(亲测有效)。
方案三:
4017驱动 (由于我用的4017,后面部分我都以4017为例)
初始状态Y0为高电平,Y0直接接到数码管的abc端,4017的15端接到10端复位,Y1、Y2、Y3都不接到数码管上,数码管的def端同样接到VCC(中间串个电阻),这样就能显示0-L-L-L。
二、恒流源部分
比赛用的芯龙公司的XL3002芯片,这个在官网上有参考电路,不过这部分还是有点小坑的,小编在这个坑里待了好久……(在CSDN上就不说了)
三、调光部分
下图为芯龙官网的参考电路(亲测有效)
我这里是固定R1,改变R2,实现调光
4017的Y0——Y3四个引脚对应不同的的R2,其中必须保证Y0中的电阻计算出来的电流不能让这个LED亮。