好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于74HC595芯片的LED驱动设计.doc

18页
  • 卖家[上传人]:新**
  • 文档编号:466677665
  • 上传时间:2022-12-11
  • 文档格式:DOC
  • 文档大小:278.50KB
  • / 18 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 安徽财经大学管理科学与工程学院课程设计基于74HC595芯片的LED驱动设计摘要本文本文主要研究将数据从单片机的串行口输出,通过串入并出移位寄存器芯片74HC595的并行端口输出,来驱动LED显示器应用单片机技术,通过Proteus软件仿真实现了这一过程详细介绍了74HC595芯片,包括管脚图,时序图等等,并且与拥有相似功能的74HC164芯片作了简单比较;文章还对LED数码管作了介绍本为的一大特色就是详细介绍了LED动静态显示原理,以及对当前专业领域内,联合运用动静态显示原理,驱动多位LED数码管显示的新方法的探讨关键词:单片机、74HC595、LED、动静态显示1 引言随着计算机技术的发展,单片机应用已经渗透到了国防、商业以及日常生活等各个领域单片机往往作为CPU控制着整个系统在整个控制过程中,数据的串并行转换是经常进行的比如驱动一个七段显示器显示数据出来,就至少需要7比特的并行数据,而如果一个家电产品中同时有多个七段显示器以及各种按键等,则并行数据就更大了而单片机输入输出端口有限,为了能够完成更多的控制功能,用来驱动这些并行数据的端口就只能限定在少数的几个,为了达到少数的输入输出端口来控制大量的外部设备,就需要将串行数据转换为并行数据。

      面对这一问题,本文介绍了一种方法,即利用单片机配合串入并出芯片74HC595来实现串并转换功能的,并将其应用到的LED的驱动上1.1 目的和意义本文主要研究将数据从单片机的串行口输出,通过串入并出移位寄存器芯片74HC595的并行端口输出,来驱动LED显示器用74HC595芯片驱动LED速度较快,功耗较小,LED的数目多少随意,既可以控制共阴极的LED显示器,也可以控制共阳极的LED显示器,可以用软件控制LED的亮度,还可以必要的时候关闭显示(数据保留),以减小功耗,并可随时唤醒显示用74HC595驱动LED不仅软硬件设计简单,而且功耗较低,驱动能力强,占用的口线较少,是一种造价低廉,应用灵活的设计方案1.2 本设计主要研究内容本文主要研究以下内容:(1)用74HC595串入并出芯片实现对一个七段数码管驱动显示的软硬件具体实现2)用74HC595串入并出芯片实现LED动、静态显示的基本原理2 系统分析2.1 系统整体组成对于用74HC595实现对一个七段数码管的驱动显示,主要包括以下几个部分晶振和复位模块单片机AT89C5174HC595串并转换LED显示 图2_1 系统整体组成2.2 系统工作原理系统的核心是AT89C51单片机芯片,该芯片将预置的数据通过单片机串口输出。

      整个系统只占用单片机P2端口的3个引脚,P2_0接74HC595的SH_CP引脚,用于输入移位时钟脉冲;P2_1接DS脚,输入预置的串行数据;P2_2接ST_CP脚提供锁存脉冲74HC595的Q0--Q7并行输出端可以控制数码管的8个管段,在上升沿时移位寄存器的数据被串入存储寄存器,由于OE引脚接地,传入存储寄存器的数据将直接出现在送到输出端,在数码管显示仅通过单片机的3个引脚即控制了8引脚的七段数码管,同时74HC595具有级联功能,通过74HC595还可以驱动多位LED3 系统硬件设计3.1 系统硬件总体设计用74HC595实现对一个七段数码管的驱动显示的具体电路图如下:图3_1 系统硬件仿真电路图3.2 74HC595芯片介绍74HC595是具有8位移位寄存器和一个存储器,三态输出功能移位寄存器和存储器是分别的时钟数据在SH_CP的上升沿输入,ST_CP的上升沿进入到存储寄存器中去如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7’),和一个异步的低电平复位(MR),存储寄存器有一个并行8为的,具备三态的总线输出,当使能OE(为低电平)有效时,存储寄存器的数据输出到总线。

      3.21 74HC595芯片引脚图及其说明 (1) 74HC595的引脚图 图3_2 74HC595的引脚图(2)引脚说明表3_3 74HC595的引脚说明管脚功能描述Q0—Q7并行数据输出端GNDGNDSOUT数据串行输出端,用于级联MR串行移位寄存器复位端,低电平有效SH_CP数据串行输入移位时钟,上升沿有效ST_CP数据移位锁存控制信号,上升沿有效OE并行数据输出使能端,低电平有效SIN数据串行输入端,数据在SH_CP上升沿移位锁存VCCVDD3.22 74HC595芯片时序图图3_4 74HC595芯片时序图3.23 74HC595芯片与74HC164的比较74HC595芯片与74HC164芯片功能相仿,都是8位串行输入转并行输出的移位寄存器,那么本文选择了74HC595芯片的主要原因有:(1)74HC595(35mA)比74HC164(25mA)的驱动电流大;(2)74HC595具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变这在串行速度慢的场合很有用处,没有闪烁感;(3)74HC595有输出端使能/禁止控制端,可以使输出为高阻态,方便地产生闪烁和熄灭效果。

      3.3 LED数码管介绍发光二极管LED是能将电信号转换成光信号的发光器件,7段LED数码管则是在一定形状的绝缘材料上,利用单只LED组合排列成“8”的字型,分别引出它们的电极,点亮相应的笔段来显示出0-9的数字图3_5 数码管引脚图3.31 LED数码管的结构LED数码管根据LED接法的不同可分为共阴和共阳两类,了解这些特性,对编程、是很重要的,不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的,共阴和共阳极数码管的外形及内部电路如下图所示,它们的发光原理都是一样的,只是电源极性不同 图3_6 共阴和共阳极数码管的外形及内部电路将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式以共阴式为例,若把阴极接地,在相应段的阳极接上正电源,该段即会发光3.32 元器件的布局与走线 分析原理图,需要仔细考虑元器件的布局与走线,合理的布局会减少走线的难度本设计为了方便走线,数码管与74HC595采用自由连接方式(如下图1),而没有采用顺序连接方式(如下图2)这大大降低了走线难度 图3_7自由连接 图3_8 顺序连接4 系统软件设计4.1 系统软件总体设计软件程序整体流程图如下: 开始初始化串行输入并行输出驱动显示图4_1 系统软件流程图4.2 用74HC595驱动显示LED数码管的C程序//----------------------------------------------------------------//名称:74HC595串入并出芯片应用//----------------------------------------------------------------//说明:74HC595具有一个8位串入并出的移位寄存器和一个8位输出寄存器,//本例使用74HC595,通过串行输入数据来控制数码管显示//----------------------------------------------------------------#include #include#define uchar unsigned char#define uint unsigned intsbit SH_CP = P2^0; //移位时钟脉冲sbit DS = P2^1; //串行数据输入sbit ST_CP =P2^2; //输出锁存器控制脉冲uchar temp;ucharcode DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//--------------------------// 延时//--------------------------void DelayMS(uint ms){ uchar t; while(ms--) for(t=0;t<120;t++);}//------------------------//串行输入子程序//------------------------void In_595(){ uchar i; for(i=0;i<8;i++) { temp<<=1; DS=CY; //移位运算中将高位送入PWD寄存器的进位标志位CY, //CY的值再传送给DS引脚 SH_CP=1; //位移时钟脉冲 _nop_();_nop_(); SH_CP=0; }}//-----------------------//并行输出子程序//-----------------------void Out_595(){ ST_CP=0; _nop_(); ST_CP=1; //上升沿数据送到输出锁存器 _nop_(); ST_CP=0; //锁存显示数据}//-------------------------//主程序//-------------------------void main(){ uchar i; while(1) { for(i=0;i<10;i++) { temp=DSY_CODE[i]; In_595(); //8次移位即可将temp中的一字节数据串行输入74HC595 Out_595(); //74HC595移位寄存数据传输到存储寄存器并出现在输出端 DelayMS(200); } }}5 问题的进一步探讨本文仅仅是用Proteus软件仿真实现了用74HC595芯片驱动一位LED数码管的显示,然而具体实际中,往往需要驱动多位LED数码管的显示。

      根据显示方式的不同,LED显示分为静态显示和动态显示两种方式下面就其相关原理及电路实现作一下介绍5.1 LED静态显示的基本原理及实现 静态显示方式,加在每一块显示器上的信号维持不变,直到显示另一个字符为止每位LED显示器选线和74HC595的并行输出端相连,每一位可独立显示,在同一时间里,每一位显示的字符可以各不相同对每一位LED显示器,都必须有与之对应的锁存器以保证需占用较多的硬件资源,成本高,对于驱动显示多位LED数码管显然很不利;但它显示亮度高,编程简单对于驱动显示LED位数不高的情况下,是个不错的选择静态显示的电。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.