单片机驱动数码管设计详解(用74HC595实现)
简单设计了一个单片机驱动数码管的电路,该设计中只使用了4位数码管,占用了单片机3个IO口,如果驱动芯片全用满可以驱动8位数码管。仅供初学者分享学习。
本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管的驱动芯片,共占用3个IO口。74HC595部分电路图如下:
与单片机相连接的三个脚分别为:HC_DAT,HC_RCK,HC_CLK。两片595采用级联方式,即U2的第9脚接到U3的第14引脚。
2. 74HC595简介
74HC595是8位的移位寄存器,串入并出,并具有锁存功能,被广泛的用于数码管、点阵的驱动电路中。其管脚介绍如下:
15:数据输出A-接数码管数据A段;
1:数据输出B-接数码管数据B段;
2:数据输出C-接数码管数据C段;
3:数据输出D-接数码管数据D段;
4:数据输出E-接数码管数据E段;
5:数据输出F-接数码管数据F段;
6:数据输出G-接数码管数据G段;
7:数据输出H-接数码管数据H段;
16:电源正脚-接电源正;
8:电源负脚-接电源负;
14:数据输入脚-接单片机管脚;
12:数据锁存时钟-接单片机管脚;
11:数据输入时钟-接单片机管脚;
13:使能输出脚-低电平有效,接低电平;
10:数据清零-不清零,接高电平;
9:数据级联输出-接下一片595的数据输入脚;
74HC595的真值表如下:
知道了74HC595的引脚定义和真值表,那该如何编程呢?下面重点来了,通过时序图来编程。看重点!!!
3. 74HC595时序图
我是重点!我是重点!我是重点!
通过时序可以看出:
SCK是上升沿的时候要把数据写入;
RCK是上升沿的时候数据才能锁存显示;
有数据操作的过程中RESET必须是高电平;
EN必须是低电平,595才能工作;
知道了以上4点就可以写程序了。其中3、4条是硬件连接上的事情(也可以用单片机的IO口来连接,这样的话可以随时控制74HC595的工作与否情况)。写程序主要靠1、2条。下面具体操作。
4. 程序实例
看下面一段程序:
第39行:HC595_CLK(0)的原型如下:
HC595_CLK(0)是让CLK处于低电平,即上升沿还没有来到;
HC595_DAT(1)就是要把写入的数据准备好;
temp<<1是将数据移位,即一个字节分八次写入;
HC595_CLK(1)是让CLK处于高电平,即上升沿来了;
以上几句解释一下就是:
在CLK时钟上升沿来临之前把要写入的数据准备好,等上升沿来了就把准备好的数据写入。 这就是对时序图的解释。
记住,这仅仅是把数据写入到了74HC595中,但是还没有让74HC595锁存,即没有让数据显示出来,如果让数据显示的话,必须要给RCK一个上升沿(即时序图中的第2条),操作如下:
单片机执行完这个程序后,数据才会在数码管上显示出来。
这一节内容的难度较大,主要是因为时序图这个东西是很模糊的一个内容,大家可以慢慢理解体会。
本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。公众号:micropoint8
数码管驱动芯片怎么使用?
这是74HC245芯片,它常用于电路中增加控制器的驱动能力。 如图1。
图1 74HC254芯片
单片机等微控制器的引脚拉电流能力一般在20mA左右,想要直接点亮数码管、显示屏等大功率显示器件则明显不够,这时,我们用一颗74 HC245芯片来增加单片机引脚的驱动能力。如图2。
图2 74HC245用于增加驱动能力
这颗芯片的引脚拉电流能够达到73-83mA。它的引脚有三种输出状态:高电平、低电平和高阻态。同时,有八路输入与八路输出,他的工作电压范围是3至5V。如图3。
图3 74HC245的性能
下面我们来依次分析其引脚的功能,这是它的原理图,第2-9脚也就是a0至a7,是芯片的输入或输出,第18至第11脚也就是b0-b7是芯片的输出或输入。第1脚DIR为方向控制引脚,当该引脚为高电平时,信号由a端为输入,b端输出;电平为低时,信号由b端输入,a端输出。第19脚OE是芯片使能引脚,也就是当引脚电平为低时,芯片才有输出,否则则为高阻状态。最后两只第10、20引脚是芯片的电源引脚。如图4。
图4 芯片的引脚说明
这是一颗stc单片机在驱动数码管时,74HC245芯片的使用方法。第19引脚接地,使能芯片。方向控制引脚接VCC,则A端输入、B端输出。如果我们把这两只引脚接入单片机的IO端口,则可以通过单片机来控制74HC245的使能及输出方向。这是单片机的八个输出引脚,也是这颗芯片的八个输入引脚,这里各接一只下拉电阻,保证芯片在没有工作时电位被稳定钳位在低电平。芯片的输出引脚直接连接数码管,这里每条线路串接了一只100Ω的电阻,这个电阻起限流的作用,根据负载的不同,我们选取不同阻值的电阻来进行限流。如图5
图5 芯片的使用方法
相关问答
单片机 如何 驱动 步进电机-牌子网单片机想要驱动步进电机,必须要通过一个电机驱动芯片,也就是可以单片机通过控制信号,让这个驱动芯片工作,提供步进电机所需要的工作电流。简单说,就...
如何用 单片机驱动 马达?1、首先第一步就是要马达连接到HC6800EM3单板上,注意的是要进行使用排线单片机P1端连接到马达控制芯片的输入端(4Pin口),确保P1.0~P1.3和即可。2、接着就要将...
单片机 怎么接 驱动 模块?方法如下:+5V和GND是电源,俗称正负极,接到单片机板子上的DC-10插座里面的电源接口就可以了(+5V接VCC,GND接GND),前提是你不是从这个下载口给单片机板子供...
单片机驱动 交流接触器的方法[回答]在各种自动控制设备中,都存在一个低压的自动控制电路与高压电气电路的互相连接问题,一方面要使低压的电子电路的控制信号能够控制高压电气电路的执...
直流电机 驱动芯片 的选择?SA8301马达驱动IC兼容TC118SSSA8301是为低电压下工作的系统而设计的单通道低导通电阻直流电机驱动集成电路。集成了电机正转/反转/停止/刹车四个功能SA8...
电桥 驱动芯片 原理?单片机能够输出直流信号,但是它的驱动才能也是有限的,所以单片机普通做驱动信号,驱动大的功率管如Mos管,来产生大电流从而驱动电机,且占空比大小能够经过驱...
51 单片机驱动 4位共阴数码管,为何加上阻电阻-ZOL问答排阻:因为单片机IO口驱动能力有限,采用上拉排阻可以提高单片机的驱动能力。电阻:限流。因为数码管本质上是发光二极管,限流就是为了避免因电流过大而烧坏数码...
LCD段码屏可以不用 驱动芯片 ,直接 单片机驱动 吗?段码LCD液晶屏根据不同的偏压可以用不同的方式来驱动,一般二分之一偏压可以用单片机的I/O通过驱动程序来驱动,启普微方案一般采用三分之一偏压方式,液晶屏驱动...
单片机 编程时如何查看 芯片 手册写程序,例如 驱动 ,看不明白-ZOL问答看芯片手册编程主要看芯片的一些重要参数和控制时序。比如DS18B20(数字温度传...再者就是看它的驱动电流、电压,输出电压,带负载能力。还有些工作温度,湿度...
有哪些较好的电机 驱动 控制 芯片 推荐?[回答]EN8F883单片机,引脚数是有28/24/20/16四种,可擦写编程FLASH工艺,带有EEPROM256字节,还有10位PWM,最大频率为20kHz。自带的PWM脉宽调制调速是利用...