基于微控制器8线I/O端口实现8段条形图LED显示设计

描述

带有数字显示器的仪器设计也许会受益于一个提供显示参数的模拟版的副显示器。条形图显示器提供了一种很容易解释的图形指示器,该指示器允许与它的满刻度值相比较,但基于微控制器的常规设计要使用至少一个8线I/O端口来驱动8段条形图LED显示器。

作为替代方案,一些微控制器包含PWM(脉宽调制)输出。如果使用PWM输出来驱动National Semiconductor公司的LM3914条形图显示器驱动电路或等效器件,就能把需要的I/O线路数量减少至最低程度。在操作中,微控制器的程序调节PWM输出的脉宽,使得输送给LM3914电路的平均电压能照明显示器中必要数量的条形。

图1中的设计消除了这些方法的缺点,并且只使用一条端口线路来驱动一个8段条形图。该设计不使用PWM输出,因此能应用到任何微控制器。请参考图2中的时序示意图,无论条形图显示器何时需要更新,微控制器的软件都通过它的输出端口提供一个脉冲序列。第一个脉冲的宽度为T1,它比脉冲宽度T2更宽,后者是通过触发单稳态IC1(74123 或等效器件)产生的。把两个脉冲施加到IC3(7400或等效NAND门),它和IC1 一起组成一个长脉冲检测器。利用IC1的数据表中的公式来为C1和R1 选值,它们为 T2 的输出脉冲产生约为1.5ms的值。T1和T3 的典型宽度分别是3ms和1ms。

led

C3的输出脉冲变低,持续时间为T1-T2,并且该脉冲清空IC2(一个8Bit串入并出移位寄存器),这迫使 IC2 的所有输出变低,并点亮条形图阵列(LED1 ~ LED8)的所有段。

led

为了点亮条形图阵列的N段,微控制器立即通过输出端口线路发送一个由(8-N)个宽度为T3的脉冲组成的串行序列。由于这些脉冲的宽度小于 T2,NAND门IC3的输出始终保持高电平,因此不清空移位寄存器。微控制器的每个输出脉冲的上升沿都把一个高电平加载到IC2的某个输出端。

请注意:移位寄存器IC2的QA输出连接到条形图最重要的段。因此,第一个脉冲关断最重要的段。从最重要的段开始,对于(8-N)个脉冲,8-N个段关断,而由最不重要的段开始的N个段则保持点亮。运用这个反向逻辑,就可利用移位寄存器的输出端的能力来使吸收的电流大于它们能供应的电流——分别是8mA和0.4mA,因此在不添加输出缓冲器的前提下产生了更亮的条形图显示。图2显示了一张样本时序示意图,它点亮了8个显示段中的5个。

如果还有第二条输出端口线路,则可不使用单稳态多谐振荡器IC1和NAND门IC3,而是使用第二个端口,通过在条形图需要更新时输出零来清空移位寄存器。为了获得更好的分辨率,可以串联额外的移位寄存器来向条形图添加一些段。为了点亮M段长显示器的 N 个段,第一个输出端口向移位寄存器的时钟输入发送 M-N 个脉冲。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分