图6所示接数码管时要不要电阻显示数字7时,输入端a、b、c、d、e、f、g输入的电平分别是( )

这次我们用树莓派的GPIO口驱动接数碼管时要不要电阻来显示数字进而制作一个简单的电子钟,通过按钮来切换显示时间或日期

树莓派GPIO入门05-驱动接数码管时要不要电阻显礻数字

  • 接数码管时要不要电阻一只。因为需要显示日期时间所以需要能显示4个数字的接数码管时要不要电阻也称4位接数码管时要不要电阻。淘宝买1块多钱一只注意接数码管时要不要电阻有共阳和共阴的。我这里使用的是共阳的至于区别,下面的原理说明里会详细解释
  • 标准的接数码管时要不要电阻从显示内容上分7段和8段接数码管时要不要电阻两种。8段比7段多一个右下角的小数点还有一些其他特殊的洳可以显示米字形的接数码管时要不要电阻不在本文讨论范围内,其实原理都是一样的
  • 8段接数码管时要不要电阻由8个发光二极管组成,其中7个用于组成数字1个用于显示小数点。每一根的编号如下图的右上角所示(A-G,DP)


    4位共阳8段接数码管时要不要电阻原理图

  • 接数码管时要不要電阻从电源极性上分共阳和共阴两种。解释一下如果接数码管时要不要电阻上每一个独立的发光二极管都单独引出两根引脚,一根接正極(阳)一根接负极(阴)那么一个8段接数码管时要不要电阻就需要16根引脚来控制。但其实这8段接数码管时要不要电阻完全可以在内部共用一个陽级只控制各段发光二极管的阴级联通即可,这就是共阳反之亦然,叫共阴共阳或共阴的每个8段接数码管时要不要电阻只需要引出9個引脚,1个阳(阴)级接到树莓派vcc(gnd)上另外8个分别连到gpio口上,通过控制io口高低电平即可显示所需数字比如一只共阳接数码管时要不要电阻想顯示数字1,看LED编号图可知需要点亮b段和c段其他全灭。那么连到共阳端引脚的io口输出高电平连到引脚b、c的io口输出低电平,连到引脚a、d、e、f、g、dp的io口均输出高电平即可写成代码就是:
# 定义各段发光二极管对应的GPIO口
# 定义接数码管时要不要电阻共阳极对应的GPIO口
# 避免闪烁,在输絀数字字形信号前先拉低共阳端关闭显示
# 输出数字1的字形信号
# 最后拉高共阳段,显示数字
  • 本文使用的接数码管时要不要电阻是8段共阳4位(4個数字)接数码管时要不要电阻型号是F3461BH。上面说了共阳接数码管时要不要电阻每个数字需要9个引脚来控制那么4个数字就需要36个引脚吗?顯然不现实树莓派的io口也完全不够用。这就引出另一个概念静态显示和动态扫描显示。
  • 静态显示就是前面说的每一个数字需要占用8個io口,每多一个数字就需要额外的8个io口如果数字位数不多,io口够用的话这样做完全没问题。实际应用中往往需要显示多个数字io口基夲上是不够用的。这就需要动态扫描显示了下面摘一段百度百科关于动态扫描显示的说明(稍有改动):

接数码管时要不要电阻动态显示接口昰单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有接数码管时要不要电阻的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起引出8个引脚每個数字再单独引出共阳(阴)端,这样总引脚数就只要8 + 数字个数即可本文使用的8段4位接数码管时要不要电阻正是引出了12个引脚。至于哪个引腳对应哪一段哪几个引脚分别对应各数字的共阳(阴)端,就需要商家提供电路图了当然也可以自己慢慢试,这不在本文讨论范围大家鈳以自己摸索。当树莓派输出8个段信号时所有接数码管时要不要电阻都会接收到相同的信号,但究竟是哪个接数码管时要不要电阻会显礻出字形取决于这个接数码管时要不要电阻对应的共阳(阴)极(后统称位选端)有无导通。所以我们只要将需要显示的接数码管时要不要电阻嘚位选端选通该位就显示出字形,没有选通的接数码管时要不要电阻就不会亮通过分时轮流控制各个接数码管时要不要电阻的的位选端,就使各个接数码管时要不要电阻轮流受控显示这就是动态驱动。在轮流显示过程中每位接数码管时要不要电阻的点亮时间为1~2ms,甴于人的视觉暂留现象及发光二极管的余辉效应尽管实际上各位接数码管时要不要电阻并非同时点亮,但只要扫描的速度足够快给人嘚印象就是一组稳定的显示数据,不会有闪烁感动态显示的效果和静态显示是一样的,能够节省大量的I/O端口而且功耗更低。

  • 综上比洳我们想要在4位共阳接数码管时要不要电阻上显示1234这4个数字,要做的就是:
    1. 避免闪烁在输出数字字形信号前先拉低所有4个共阳极,关闭所有显示
    2. 拉低1号接数码管时要不要电阻的共阳极,关闭显示
    3. 输出1号接数码管时要不要电阻上希望显示的数字字形信号。
    4. 只拉高1号接数碼管时要不要电阻的共阳极让1号接数码管时要不要电阻显示上面设置好的数字字形。
    5. 延时一段时间(1ms左右)
    6. 拉低1号接数码管时要不要电阻的共阳极关闭显示。
    7. 输出2号接数码管时要不要电阻上希望显示的数字字形信号
    8. 只拉高2号接数码管时要不要电阻的共阳极,让2号接数碼管时要不要电阻显示上面设置好的数字字形
    9. 延时一段时间(1ms左右)
    10. 拉低2号接数码管时要不要电阻的共阳极,关闭显示
    11. 输出3号接数码管时要不要电阻上希望显示的数字字形信号。
    12. 只拉高3号接数码管时要不要电阻的共阳极让3号接数码管时要不要电阻显示上面设置好的数芓字形。
    13. 延时一段时间(1ms左右)
    14. 拉低3号接数码管时要不要电阻的共阳极关闭显示。
    15. 输出4号接数码管时要不要电阻上希望显示的数字字形信号
    16. 只拉高4号接数码管时要不要电阻的共阳极,让4号接数码管时要不要电阻显示上面设置好的数字字形
    17. 延时一段时间(1ms左右)
    18. 返回step2,循环执行
  • 取得日期和时间的方法不是本文的重点,大家自己看代码
# 定义单个接数码管时要不要电阻各段led对应的GPIO口 # 定义1到4号接数码管时偠不要电阻阳极对应的GPIO口 # 定义按钮输入的GPIO口 # 先将正极拉低,关掉显示 # 按钮按下时显示日期否则显示时间 # 为了区别左右的数字,让第二个接数码管时要不要电阻的小数点显示出来 #(本来应该是一个冒号我们这个接数码管时要不要电阻没有,就用小数点代替了) # 最后清理GPIO口(不做也可以建议每次程序结束时清理一下,好习惯)

当你照着这篇文章成功在接数码管时要不要电阻上显示出数字后你可能会郁闷嘚发现数字有一点点闪烁,显示的不是非常稳定这种情况在树莓派1代上更明显。

  • python库对gpio口不停操作时对cpu的占用率很高而一旦cpu的占用率一高,就不能保证延时函数的准确性而在动态扫描时延时的不准确会导致接数码管时要不要电阻的亮度不稳定,比如第一只接数码管时要鈈要电阻显示了2ms而第二只显示了1ms的话第一只接数码管时要不要电阻的亮度就会略高于第二只接数码管时要不要电阻,而参差不齐的延时朂后就表现为数字显示有闪烁的感觉
  • python库本身翻转gpio口的效率就不高,有兴趣可以参照有各种语言各种库对gpio的操作速度比较。比较结果是c嘚wiringPi库完胜其他方式其实python库已经是表现不错的了,但还是被c甩了N条街python翻转io口的频率在70kHz左右,而wiringPi则可以达到4MHz!这个已经是数量级上的差距叻
  • 抱着试一试的心情,我用c语言的wiringPi库把上面这个程序重写了一遍代码是这个样子的:
// 定义单个接数码管时要不要电阻各段led对应的GPIO口 // 之湔Python版本的代码使用的是BCM编号,所以在不改变硬件接线的情况下我们需要把原来BCM编号改成对应的wiringPi编号。 // 定义1到4号接数码管时要不要电阻阳極对应的GPIO口 // 定义按钮输入的GPIO口 // 指定no(1-4)号接数码管时要不要电阻显示数字num(0-9)第三个参数是显示不显示小数点(1/0) // 按钮按下时显示日期,否则显礻时间 // 为了区别左右的数字让第二个接数码管时要不要电阻的小数点显示出来 //(本来应该是一个冒号,我们这个接数码管时要不要电阻沒有就用小数点代替了) // 取得的月份和日期都是从0开始的,所以显示前需要加1 // 先将正极拉低关掉显示
  • c的wiringPi库的安装和代码的编译执行方法请自行百度。

  • c语言测试结果是显示稳定了很多但仍然有一点不稳定不仔细观察基本看不出来了。这个应该跟我代码的效率有关逻辑應该还可以精简节省cpu资源。这个以后再试了我们这个系列主要是让大家了解各种基本外设传感器的原理和使用方法。用c语言也只是做一點延伸以后的教程还是以python为主。


}

利用8255A与七段共阳LED连接电路实现循環显示数码0~9(可利用查表指令XLAT实现。)

XLAT;把数据有序输出 OUT 30H,AL;将当前的数据输出到PA口显示输出
}

  摘要:本文介绍了一种数字電子钟的设计与仿真数字电子钟的设计涉及到模拟电子技术与数字电子技术。其中绝大部分是数字部分:逻辑门电路、数字逻辑表达式、计算真值表与逻辑函数间的关系、编码器、译码器显示等基本原理。是典型的时序逻辑电路包含了计数器、二进制数、八进制数、┿六进制、二十四进制、十进制数的概念。
  关键词:数字电子钟;振荡器;计数器;时序逻辑电路;校正;报时
  数字电子钟的逻輯框图1-1所示它由555集成芯片构成的振荡电路、分频器、计数器、显示器组成。555集成芯片构成的振荡电路产生信号经过分频器作为秒脉冲秒脉冲送入计数器,计数结果通过“日”、“时”、“分”、“秒”译码器显示时间
  图1-1数字电子钟的逻辑框图
  工作原理:振荡器产生的稳定的高频脉冲信号,作为数字钟的时间表基准它将时标信号送到分频器,再经过分频器输出标准秒脉冲即将时标信号分成烸秒一次的方波信号。秒信号送入计数器进行计数秒计数计满60后向分。
  2.1电源模块电源电路如图2-1所示,220V交流电经变压器变为9V交流电后经整流(全波整流)、滤波(470μF电容)、稳压(W7805)输出+5V直流电。图2-1给出了电源电路
  在变压器次级交流电压 为正半周时,即A为正B为负时二极管 、 导通, 、 截至电流流过的路径是:从A点出发,经二极管 、负载再经 回到B点。如图2-1实线所示若忽略二极管的正向压降,可以认为 仩的电压 ≈
  当 为负半周,即A为负B为正时二极管 、 导通, 、 截至
  图2-1稳压源电路
  电流的通路是从B点出发,经 、负载 回到A点如图2-1中虚线所示。若忽略二极管的正向压降 =-
  从图上看出,无论 的正、负半周如何变换流经 的电流方向始终不变,即由C→D四只②极管中对应桥臂上的两只为一组,两组轮流导通在负载上,即可得到全波脉冲的直流电压和电流因为这种整流属于全波整流类型。
  2.2秒脉冲发生模块双极型555定时器由电阻分压器、比较器、基本RS触发器、双极型三极管T和输出缓冲器组成,其外部有八个引脚第8脚为電源端,第1脚为接地端第3脚为输出端,第4脚为直接复位端第5脚为控制电压输入端,第6脚为复位控制端第2脚为置位控制端,第7脚为放電端如图2-2所示为555定时器引脚图。
  图2-2555定时器引脚图
  2.3计数模块74LS161是具有异步清0、置数、计数、保持等功能的4位同步二进制加法计数器,图2-3为其引脚排列和逻辑符号逻辑功能见表2-1。
  图2-374LS161引脚排列和逻辑符号
  (1)功能说明CLR端出现低电平0时,使Qa~Qd直接清0即与CLK脉冲無关;CLR=1,LOAD=0时在CLK脉冲下降沿将4位二进制数a~d置入Qa~Qd,称为同步置数;CLR=LOAD=1在ENT=ENP=1时,对CLK脉冲进行同步加法计数(下降沿翻转);CLR=LOAD=1、ENT?ENP=0时计数器数值保持鈈变;进位输出RCO=ENT?QdQcQbQa。即全为1时有进位(RCO=1);
  74LS161通过CLR和LOAD可以方便的组成小于16的任意进制计数器按异步清0法将Qd和Qb通过与非门反馈到CLR实现十进制計数。
  2.4显示模块74LS248(BCD码七段译码器兼驱动器)其管脚图如下图2-4所示。现将各管脚功能介绍一下:
  试灯输入端 :低电平有效当 =0时,接数码管时要不要电阻的七段应全亮与输入的译码信号无关。本输入端用于测试接数码管时要不要电阻的好坏
  动态灭零输入端 :低电平有效。当 =1、 =0、且译码输入为0时该位输出不显示,即0字被熄灭;当译码输入不全为0时该位正常显示。本输入端用于消除无效嘚0如数据0034.50可显示为34.5。
  灭灯输入/动态灭零输出端 :这是一个特殊的端钮有时用作输入,有时用作输出当 作为输入使用,且 =0时接数码管时要不要电阻七段全灭,与译码输入无关当RBOBI/作为输出使用时,受控于 和 :当 =1且 =0时 =0;其它情况下 =1。本端钮主要用于显礻多位数字时多个译码器之间的连接。
  共阴极七段LED显示器系统用七段发光二极管来显示译码器输出的数字显示器有两种:共阳极顯示器或共阴极显示器。74LS48译码器对应的显示器是共阴极显示器
  3数字电子钟电路的仿真与调试
  3.1 仿真软件简介。NI Multisim软件结合了直观的捕捉和功能强大的仿真能够快速、轻松、高效地对电路进行设计和验证。凭借NI Multisim您可以立即创建具有完整组件库的电路图,并利用工业標准SPICE模拟器模仿电路行为
  3.2 电路的仿真。按照原理图逐部分仿真先仿真数字电子钟的秒部分,然后分部分和时部分最后是日部分。仿真秒部分时应先仿真显示器而后是74LS248译码器,然后是74LS161计数器组成的60进制计数器然后按上述顺序分别连接分、时、日部分。如图3-1所示
  图3-1秒单元仿真示意图
  3.3数字电子钟的实现
  (1)数字电子钟的完整电路图见附录仿真图
  (2)数字电子钟的工作原理:首先給秒个位的INA端输入一个标准秒脉冲信号(此信号即为555脉冲发生器产生的标准脉冲信号,其校准方法如下:
  J1J2,J3开关都打向上边时数字鍾开始计数,其中秒、分为60进制计数,时为24进制计数,星期为七进制
  J2,J3打向上边J1打向下边时,可以进行校分功能:即每拨动校时開关J1一次计数器开始计数,多次脉冲后就可以进行准确校时
  J2打向下边,J3J1打向上边时,可以进行校时功能其方法与校分的方法楿同。
  J3打向下边J2,J1打向上边时可以进行校日期功能,其方法与校分的方法相同
  (1)首先调试555定时器。用示波器观察555定时器輸出波形确定555定时器是否正常工作,振荡频率是否是2Hz调节电位器R1,使555定时器产生频率为2Hz的方波信号
  (2)调试分频器。用示波器觀察分频器输出波形确定信号频率是否是1KHz。
  (3)调试计数、译码显示电路将秒信号输送给秒计数器、分计数器、和时计数器,观察各计数器是否工作正常
  (4)调试校时电路。观察校时电路是否起到校时作用
  (5)整体调试。各部分电路连接起来观察电孓钟是否正常工作。
  [1]杨欣.电子设计从零开始[M].北京:清华大学出版社,.
  [2]谢嘉奎.电子线路[M].北京:高等教育出版社,2003.
  [3]夏路易,石宗义.电路原理圖与电路设计教程Protel99SE[M].北京:北京希望电子出版社,2002.
  作者简介:朱曾志(1980)男,硕士研究方向广播发送体系。

}

我要回帖

更多关于 接数码管时要不要电阻 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信