您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 74HC595驱动两位数码管
CreatedwithSmartPrintertrailversion数码管显示的基础之上,本文进一步介绍2位LED数码管的工作原理及用法。1.12位LED数码管工作原理与1位数码管不同的是,2位数码管显示时要进行位选。如图1.2所示,公共脚10决定位DIG1是否有效,公共脚5决定位DIG2是否有效。图1.1与图1.2显示了2位数码管引脚分布和内部电路设计。其中笔段分布如图1.1所示,引脚对应笔段分布如图1.2所示。图1.12位数码管笔段图1.22位数码管引脚图2位数码管引脚分如:1)公共脚:10、5;2)DIG:A-3B-9C-8D-6E-7F-4G-1DP-2。1.274HC595简介74HC595是一款具有8位移位寄存器和一个存储器,三态输出功能的驱动芯片。移位寄存器和存储器分别具有独立的时钟信号。数据在SHCP的上升沿输入,在STCP的上升沿进入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉CreatedwithSmartPrintertrailversion冲。移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7’),和一个异步的低电平复位(MR),存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。图1.374HC595引脚图74HC595引脚排布如图1.3所示,引脚功能见表1.1。表1.174HC595引脚功能1.3硬件电路设计1.3.1设计原理本设计采用LPC2103自带的硬件SPI接口与74HC595进行数据传输。74HC595将LPC2103发送过来的8位串行数据转换成8位并行数据来驱动2位共阳数码管。与1位数码管类似,2位LED数码管的输入端在5V电源或高于TTL高电平(3.5V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。如图1.4所示2位数码管设计原理图。位选控制脚如表1.2所示。由于本设计采用共阳数码管,所以2位数码管位选引脚选择用LPC2103的P0.8与P0.9CreatedwithSmartPrintertrailversion控制。当P0.8输出高电平(3.3V)时,位选com1有效,即LED1选通;当P0.9输也高电平(3.3V)时,位选com2有效,即LED2选通。表1.22位数码管位选控制图1.42位共阳数码管设计原理图1.3.2元器件选择由于现在市场上所卖的74HC595大多都为贴片式SO16,为了便于学习者在多功能板上焊接,在本设计中选用贴片转直插的SO16PACK板实现贴片转直插功能。当然,学习如果能买到直插式74HC595芯片那就更好,直接把直插式74HC595焊在多功能板上即可。对于数码管的选择,学习者可自由选择,共阳共阴都可以。如果选择共阴2位数码,硬件电路的极性刚好与本设计相反。限流电阻选择直插式470欧左右即可,保证不烧坏数码管即可,建议选择470欧。表1.3元器件选择列表CreatedwithSmartPrintertrailversion位数码管在硬件上仅多了位选引脚,因此分析2位数码管的原理图及各元器件的布局与走线,与上节讲的1位数码管类似。在本设计中为了走线方便,降低学习者的焊接难度,2位数码管与74HC595采用自由连接方式如图1.5所示。当然,这样做会增加软件设计的工作量,后面会做说明。--------------------------------------------------------------------------------------------------☛小贴士:学习者不一定按照本设计所采用的自由连接方式,可具体根据自己所选元器件规格及电路原理来设计连接方式。总之,不管采用哪种走线方式尽量保证走线方便,焊接容易,使最终效果简单美观大方即可。--------------------------------------------------------------------------------------------------图1.5自由连接1.3.4焊接按照图1.5所示自由连接方式进行焊接,就会避免在走线中使用交叉线的麻烦,从而使整个板子焊接完成没有使用一根跳线,并采用“拖锡”的方式连线,简单美观。焊接完成最CreatedwithSmartPrintertrailversion所示。--------------------------------------------------------------------------------------------------☛小贴士:如果学习者实在不能保证最终效果美观大方,最好在焊接之前模拟“万能板”在草稿纸上画出走线路径,这样避免在实际焊接过程中走交叉线,尽可能保证走线的简单美观,从而给人一种赏心悦目的感觉。--------------------------------------------------------------------------------------------------图1.6完成效果整体效果如图1.7所示。图1.7整体效果图1.4程序设计1.4.1段码表生成前面电路设计时,数码管和74HC595采用自由连接的方式(如图1.5所示),所以段码不能采用标准段码,需另行设计。下面介绍一种生成段码表的简单方法。l测试步骤一CreatedwithSmartPrintertrailversion首先发送字符‘0x7F’,参考代码如下文所示。MSPI_SendData(0x7F);实验现象:数码管笔段a被点亮。实验现象分析:当向74HC595发送‘0x7F’时,Q0引脚输出低电平,Q1~Q7输出高电平。可以得出Q0引脚在硬件上对应数码管笔段a,低电平驱动数码管笔段发光。l测试步骤二发送字符‘0xF7’,更改上文代码为:MSPI_SendData(0xF7);实验现象:数码管笔段a熄灭,笔段b被点亮。实验现象分析:当向74HC595发送‘0xF7’时,Q1引脚输出低电平,Q0、Q2~Q7输出高电平。从而可以判断出Q1引脚硬件上对应数码管笔段b,低电平驱动笔段发光。l测试步骤三在了解如何驱动a、b笔段发光的基础之上,更改测试字符,依次向74HC595发送0xFB、0xFE、0xFD、0xBF、0xEF、0xDF六个数据,即可分别点亮c、d、e、f、g、dp六个笔段。l测试结论参考以上测试方法,用户在不清楚硬件电路连接的情况下,逐次向74HC595发送测试数据,即可理清74HC595引脚与数码管笔段的对应关系。同时,也可得出数码管笔段与测试字符的对应关系,如表1.4所列。表1.4段码表数值为了在7端数码管显示数字或者字符,控制器送出的字符需要进行转换,真值表的计算如表1.4所列。表中列出了7段数码管上能够显示的常用字符的真值表。如果用户需要显示其它字符,可根据表1.5所示的方法设置。--------------------------------------------------------------------------------------------------☛小贴士:由于不同的硬件电路,段码表的测试数据有所区别,从而导致段码表和数码管真值表不一样,但笔段测试方法与数码管真值表生成原理是相同的。CreatedwithSmartPrintertrailversion接口,设置LPC2103为SPI主机模式,与74HC595进行通讯。SPI初始化见程序清单1.1。程序清单1.1SPI初始化程序CreatedwithSmartPrintertrailversion,数据发送程序见程序清单1.2。程序清单1.2数据发送程序1.4.2数码管显示试验现象:数码管循环显示数字0~99参见程序清单1.3main函数程序清单1.3main函数CreatedwithSmartPrintertrailversion
本文标题:74HC595驱动两位数码管
链接地址:https://www.777doc.com/doc-5191971 .html