打印
[LED驱动]

【分享】+基于SPI接口的多功能大号LED数码管设计

[复制链接]
1828|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 outstanding 于 2014-2-26 11:49 编辑

      这个设计已经做出实物,是以前的一个项目,希望大家喜欢,并支持!!!
1 系统总体结构设计
1.1  系统设计思想
通过大号数码管的控制卡来控制大号数码管模块组的显示;通过软件编程,实现大号数码管组对温度和时间的多功能显示。一块大数码管模块由32个LED发光二极管组成,其中28个大LED发光二极管组成大数码管的七段,4个小LED发光二极管组成大号数码管的第八段DP。六个大号数码管模块组成一个完整的大号数码管模块组(大号数码管组)。通过大号数码管控制卡中主芯片中的SPI接口来控制大号数码管的显示。SPI接口传输速度快,其时钟速度一般为系统时钟的四分之一(Fosc/4)。系统总体设计如图1所示。
                                                      
      图1  系统总体设计
1.2  主要芯片的简要介绍
1.2.1 MBI5026的介绍
MBI5026是一种16位LED恒流驱动器。采用先进的Bi_CMOS工艺生产,其恒流值可以通过外接电阻调节(Iout=5~90mA)。MBI5026含有16位移位寄存器,16位锁存器,1.2V基准源,以及16位高精度恒流驱动器等模块构成[2],详细资料可以参考MBI5026数据手册。
MBI5026的主要特点:
Ø 输出恒流范围:2~90 mA(通过调节外接电阻实现);
Ø 最高时钟频率:30MHZ
Ø 输入:兼容5V CMOS
Ø 电流均匀性: (Ta=25oC, VDD=5.0V) BittoBit:±3%; ChiptoChip:±4%
   1.2.2 STC12C5616AD芯片主要介绍SPI接口
目前很多单片机都配置有SPII2CUART等串行接口。在SPII2CUART三种串行接口一般情况下速度最快的是SPII2C接口由于是二线协议速度很难超过1MHz/ Bit,而UART工作在方式08位移位寄存器)时时钟速度为系统时钟的十二分之一(Fosc/12),而SPI接口时钟速度一般为系统时钟的四分之一(Fosc/4)。典型SPI接口结构如图2所示[3]。
图 2  典型SPI接口结构示意图
串行外围设备接口SPI用于CPU与各种外围器件进行全双工、同步串行通讯。SPI可以同时发出和接收串行数据。它只需四条线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线CS。这些外围器件可以是简单的TTL移位寄存器,复杂的LCD显示驱动器,A/DD/A转换子系统或其他的MCU。当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。主SPI的时钟信号(SCK)使传输同步[4]。
2 系统硬件设计
2.1  大号数码管控制卡电路
控制卡也即是大号数码管组的驱动电路,关键是利用STC单片机的SPI串行接口,本设计控制卡上面有DS1302(时钟芯片)和DS18B20(温度芯片)两个模块,编译器可以通过USB进行调试。其硬件电路设计如图3所示。
                                                                                 
图3  大号数码管控制卡原理图
2.2  大号数码管电路设计
大号数码管电路设计主要是MBI5026(一种16位LED恒流驱动器)进行恒流驱动,从而控制大号数码管的LED发光二极管。为了防止数据线过长,信号衰减,在MBI5026前面加入一片增强信号驱动能力的芯片74HC245D,所有信号经过再次驱动后,再进入MBI5026驱动电路,然后同理驱动下一个大号数码管。大号数码管的电路设计如图4所示,图中只画了一个模块,完整的模块组由6个模块组成。
图4  大号数码管原理图
3 系统软件设计
系统软件编程主要包括STC12C5616AD,DS1302,DS18B20,USART。下面简要介绍时钟和温度两个模块。
3.1  DS1302时钟模块
DS1302采用8条引脚,DS1302与CPU连接仅需要三条线,即SCLK(7)、I/O(6)、RST(5)。
    DS1302的控制字节说明
    数据传送是以单片机为主控芯片进行的,每次传送时由单片机向DS1302写入一个命令字开始。命令字节的最高有效位(位7)必须是逻辑1,RAM/CK位是片内RAM和时钟选择位,位5至位1指示操作单元的地址;最低R/W为读写控制位,,命令字节总是从最低位开始输出。
    数据输入输出
在控制指令字写入DS1302后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7[5],数据读写时序如图5所示。
图5  数据单字节读写时序图
3.2  DS18B20温度传感器模块
   DS18B20两种供电方式的电路如图6所示。采用寄生电源供电方式时,VDD必须接地,另外为了得到足够的工作电流,应给I/O口提供一个强上拉,一般可以使用一个场效应管将I/O口直接拉到电源上。采用外部供电方式时可以不用强上拉,但只要外部电源处于工作状态,GND引脚不得悬空。温度高于100度时,不得使用寄生电源,应采用外部电源供电。
                                                                                         
图6  DS18B20的供电方式
    DS18B20 的工作时序
DS18B20 简单的硬件接口是以相对复杂的软件编程为代价的。单总线上一共有 3 种时序信号:(1)初始化信号(2)写 0、1 信号(3)读 0、1 信号[6],与之对应的时序如图7所示。设计中必须保证指令的执行时间符合时序信号的要求[3]。
                                                                                            
图7  DS18B20 的工作时序
3.3  显示程序
软件编程中为了简化编程和程序的可移植性,把时钟模块(DS1302)和温度模块(DS18B20)分别写成头文件形式,在主函数数中只要包含就可以。数码管显示程序中采用了“倒算数值”的简单算法,从而可以方便的控制各个大号数码管的显示,USART主要是进行波特率的设置。下面简要给出时钟和温度模块的显示程及SPI接口程序。如下图8所
                                                                                       
图8  时钟和温度显示程序及SPI接口程序
结 语
本设计通过对软件的优化来降低硬件的复杂程度,进一步降低成本。利用SPI可以同时发送和接受串行数据的特点,大大提高了数据的处理速度。本设计可以进行温度、时钟和蜂鸣器的多功能切换,替代了传统的单一显示模式。若多个大号数码管组组成一个更大的数码管组模块,可以同时显示时间和温度。本设计已做成了实物,且已经在教学实践中得到运用。

         大号数码已经做出实物,并且一直在运行,效果良好。照片忘记拍了!!!希望能给大家带来点帮助。


相关帖子

沙发
outstanding|  楼主 | 2014-2-26 10:03 | 只看该作者
希望 LED狂人 能给条裤子  谢谢:lol

使用特权

评论回复
板凳
LED狂人| | 2014-2-26 17:23 | 只看该作者
outstanding 发表于 2014-2-26 10:03
希望 LED狂人 能给条裤子  谢谢

裤子回去给,现在公司电脑,去年就有问题,一直没弄

使用特权

评论回复
地板
outstanding|  楼主 | 2014-2-26 20:28 | 只看该作者
LED狂人 发表于 2014-2-26 17:23
裤子回去给,现在公司电脑,去年就有问题,一直没弄

哦 这样啊 最近忙什么呢?老大

使用特权

评论回复
5
LED狂人| | 2014-2-26 23:24 | 只看该作者
outstanding 发表于 2014-2-26 20:28
哦 这样啊 最近忙什么呢?老大

这几天一直在外面,24号广州看展会,25日拜访客户;还挺忙的

使用特权

评论回复
6
outstanding|  楼主 | 2014-2-27 08:10 | 只看该作者
LED狂人 发表于 2014-2-26 23:24
这几天一直在外面,24号广州看展会,25日拜访客户;还挺忙的

老大 传点广州展会的图片看看

使用特权

评论回复
7
renjunming| | 2014-2-27 13:31 | 只看该作者
谢谢分享!

使用特权

评论回复
8
outstanding|  楼主 | 2014-2-27 13:33 | 只看该作者
renjunming 发表于 2014-2-27 13:31
谢谢分享!

:handshake   

使用特权

评论回复
9
小浣熊| | 2014-3-3 22:41 | 只看该作者
好东西,学习了

使用特权

评论回复
10
outstanding|  楼主 | 2014-3-4 08:36 | 只看该作者
renjunming 发表于 2014-2-27 13:31
谢谢分享!

:handshake  谢谢

使用特权

评论回复
11
outstanding|  楼主 | 2014-3-4 14:20 | 只看该作者
这个大家可以做成实物啊  真的很漂亮哦

使用特权

评论回复
12
zh113214| | 2014-3-6 17:25 | 只看该作者
好长啊:lol

使用特权

评论回复
13
outstanding|  楼主 | 2014-3-6 21:58 | 只看该作者
zh113214 发表于 2014-3-6 17:25
好长啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:QQ:2550634286   可接项目和毕设等                   可以出售各种LED灯,控制类产品和                   控制类方案。

378

主题

4015

帖子

11

粉丝