根据时序编程,单片机驱动74HC595实现数码管显示

1. 数码管硬件设计 本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管的驱动芯片,共占用3个IO口。74HC595部分电路图如下:…

根据时序编程,单片机驱动74HC595实现数码管显示插图

根据时序编程,单片机驱动74HC595实现数码管显示插图(1)
根据时序编程,单片机驱动74HC595实现数码管显示插图(2)
1. 数码管硬件设计
本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管的驱动芯片,共占用3个IO口。74HC595部分电路图如下:
根据时序编程,单片机驱动74HC595实现数码管显示插图(3)


与单片机相连接的三个脚分别为:HC_DAT,HC_RCK,HC_CLK。两片595采用级联方式,即U2的第9脚接到U3的第14引脚。
根据时序编程,单片机驱动74HC595实现数码管显示插图(4)
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实现数码管显示插图(5)
知道了74HC595的引脚定义和真值表,那该如何编程呢?下面重点来了,通过时序图来编程。看重点!!!

根据时序编程,单片机驱动74HC595实现数码管显示插图(2)
3. 74HC595时序图
我是重点!我是重点!我是重点!
根据时序编程,单片机驱动74HC595实现数码管显示插图(7)


通过时序可以看出:
  1. SCK是上升沿的时候要把数据写入;
  2. RCK是上升沿的时候数据才能锁存显示;
  3. 有数据操作的过程中RESET必须是高电平;
  4. EN必须是低电平,595才能工作;
知道了以上4点就可以写程序了。其中3、4条是硬件连接上的事情(也可以用单片机的IO口来连接,这样的话可以随时控制74HC595的工作与否情况)。写程序主要靠1、2条。下面具体操作。
根据时序编程,单片机驱动74HC595实现数码管显示插图(2)
4. 程序实例
看下面一段程序:

根据时序编程,单片机驱动74HC595实现数码管显示插图(9)


第39行:HC595_CLK(0)的原型如下:
根据时序编程,单片机驱动74HC595实现数码管显示插图(10)
HC595_CLK(0)是让CLK处于低电平,即上升沿还没有来到;
HC595_DAT(1)就是要把写入的数据准备好;
temp<<1是将数据移位,即一个字节分八次写入;
HC595_CLK(1)是让CLK处于高电平,即上升沿来了;
以上几句解释一下就是:
在CLK时钟上升沿来临之前把要写入的数据准备好,等上升沿来了就把准备好的数据写入。这就是对时序图的解释。
记住,这仅仅是把数据写入到了74HC595中,但是还没有让74HC595锁存,即没有让数据显示出来,如果让数据显示的话,必须要给RCK一个上升沿(即时序图中的第2条),操作如下:
根据时序编程,单片机驱动74HC595实现数码管显示插图(11)


单片机执行完这个程序后,数据才会在数码管上显示出来。
根据时序编程,单片机驱动74HC595实现数码管显示插图(12)


这一节内容的难度较大,主要是因为时序图这个东西是很模糊的一个内容,大家可以慢慢理解体会。
关注微信公众号『玩转嵌入式』,后台回复“128”获取干货资料汇总,回复“256”加入技术交流群。

精彩技术文章推荐





01

|曾经震撼世界的25颗经典芯片,555在列



02

|什么是牛屎芯片?一坨“牛屎”,拆一台万用表看牛屎芯片



03

|一块晶圆可以生产多少芯片?



04

|芯片和模组有什么区别?



根据时序编程,单片机驱动74HC595实现数码管显示插图(13)

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

作者: soufei

为您推荐


Fatal error: Can't use function return value in write context in /www/wwwroot/www.qianrushi.com.cn/wp-content/themes/news/footer.php on line 115