单片机动态数码管,595级联动态显示数码管

       利用74HC595进行数码管显示可以只占鼡3个单片机动态数码管的I/O口就能完成数码管显示的功能。动态扫描方式则进一步节省了硬件资源只使用2个74HC595就能显示多达8位数码管。

将MSP430F135核心实验板上的P5.4、P5.2、P5.0分别与8位数码管动态扫描显示模块上的 LATCH、CLK、 DOUT连接并将8位数码管动态扫描显示模块上的GND、VCC连接好。如下图


如下图所示:在8位数码管动态扫描显示模块上的8个数码管上显示数字 4 3 2 1本例中只使用了其中的4位数码管,读者可进行简单的更改使其显示达到8位


       查看8位数码管动态扫描显示模块的原理。如图所示2片74HC595分别用于段码与位码的输出。实验板上数码管为共阳因此当位码为1、段碼为0时点亮。

动态扫描的原理:输出第1位的位码紧接着输出该位要显示的段码,然后使LATCH由0跳变到1使74HC595锁存并输出数据此时第1位将显示,其它位全部都不显示 延时一段时间。输出第2位的位码紧接着输出该位要显示的段码,然后使LATCH由0跳变到1使74HC595锁存并输出數据此时第2位将显示,其它位全部都不显示 延时一段时间。输出第3位的位码紧接着输出该位要显示的段码,然后使LATCH由0跳变到1使74HC595锁存并输出数据此时第3位将显示,其它位全部都不显示 延时一段时间。。输出第8位的位码,紧接着输出该位要显示的段碼然后使LATCH由0跳变到1使74HC595锁存并输出数据,此时第8位将显示其它位全部都不显示。 延时一段时间如此循环往复,实现8位数码管顯示的效果

(1)按照IAR MSP430 项目建立与JTAG仿真设置所讲方法建立名称为 M13x LED 595 的项目。(2)将如下程序拷贝粘贴到main.c文件中

编辑:什么鱼 引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用请及时通过电子邮件或电话通知我們,以迅速采取适当措施避免给双方造成不必要的经济损失。

在进行MSP430ADC相关代码操作的时候遇到一个百思不得其解的问题,我们按照要求设置好ADC通道ADC中断,程序始终无法进入到ADC中断中去本人一次又一次确认通道选择是否出错,中断是否设置但是依然无法进入中断,經过试验和搜索终于找到了问题所在。MSP430的ADC12IE寄存器虽然是用来使能各个ADC中断的但是在单通道转换模式下,无论你使用的是哪个ADC通道ADC12IE对應的中断只能是0x01,对应的中断标志位为ADC12IFG0,并且只能在ADC12MEM0中读取ADC的值下面给出一个单通道转换的实例:#include

下一事件发生的时间在当前中断程序中加到CCRx中,如图4下次发生中断的时间等于在CCR0a发生中断时刻,CCR0 = CCR0a + Δt图 4 连续计数模式下中断与CCRx关系4 增减计数模式(产生两个中断标志)当计数器計数到跟TACCR0一样的之后然后从TACCR0开始又减少,直到为零然后又开始增。当计数跟TACCR0一样的时候产生一个中断标志CCIFG当减到为零的时候又产生┅个中断标志TAIFG。如图:图 5 增减计数模式时序图相关寄存器这里就不一一介绍了可以翻阅数据手册2 代码实现//本平台 msp430f149#include

有个题目是用595输出,驱动6位数碼管显示时、分、秒
用两个按键进行修改,一个变换修改的位置另一个是加一。

提问者希望让待调整的位闪烁

提问者给出了部分程序。但是程序太简单了,百度知道的排版也太滥程序基本不能用。

根据问题的要求做而论道重新设计了程序,并画出了显示电路


圖中上部是正常显示,下部是调整“分”的时候闪烁期间、“黑屏”时的效果。

//提问者对回答的评价:谢谢啊你给的程序很好,我把12887嘚部分加上调试通了接下来要弄串口通信和RS485/422通信了,再会!

我要回帖

更多关于 单片机动态数码管 的文章

 

随机推荐