1. 数码管显现规划
本规划使用了一个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条),操作如下:
单片机履行完这个程序后,数据才会在数码管上显现出来。
这一节内容的难度较大,首要是因为时序图这个东西是很含糊的一个内容,我们能够渐渐了解领会。