51 数码管静态显示 [李园7舍_404]

对于单片机的学习我一般不按照资料的顺序学习。我是照这个步骤将新知识掌握:

1.学习过程:阅读C语言程序,查看控制变量被赋予的值-->查看跟控制变量对应的相关的电路图-->被控制电路所接收到的输入信号会带来什么样的输出-->这样子的输出带来的电路显示效果

2.根据1的学习过程我们知道了电路的显示效果跟输出信号的关系,被控电路输出信号与输入信号的关系,被控电路输入信号与C语言程序中控制变量赋值的关系,然后我们就可以改写C语言程序中的控制变量的值去重新控制电路的显示效果

 

以上内容纯属个人观点,下面进入单片机数码管静态显示学习的过程。

 

1.相关概念

当数码管应用于某一系统时,它们的“位选”是可被独立控制的,而“段选”是连接在一起的我们可以通过位选信号控制哪几个数码管亮,而在同一时刻,位选选通的所有数码管上显示的数字时钟都是一样的,因为它们是连在一起的,送入所有数码管的段选信号都是一样的,它们显示的数字会是一样的,数码管的这种显示方法叫静态显示。

位选:在多个数码管中选哪一个数码来显示数字。

段选:被选中的数码管将显示哪个数字(数码管的内部是发光二级管亮,可以选择哪些发光二极管被点亮来显示相应的数字)

 

2.我们看单片机与数码管部分电路图

                      

在看单片机这类电路图时,编号相同的节点在实际中是连通的(不用线连接有简介的效果),如P2.3和CS3是连通的。

我们可以看到右图中COL系列线与左图中的P2系列是相连的,其实P2.0~P2.3给出的信号就是输入到右图CS1-CS3上的对应数码管的位选信号,当信号为真时,相应的数码管被选中。

同理,右图中的2-9号端分别与左图中P0.0-P0.7相连通,根据示例程序中透露:共阴极数码管输入端为低信号时,输出高电平。

 

3.编写程序控制数码管亮起来(静态显示)

为了简单,以下程序用来点亮CS1数码管,显示数字8。

 

#include

//选中单片机的P2.3,由dula代替需要的操作
sbit dula=P2^3;

void main()
{
     //送入位选信号
     dula        = 1;

     //送入段选信号
     P0	     = 0xFF;

     dula	     = 0;

    //程序停止在这里
    while(1);
}

然后程序经过keil软件(或其他软件)编译链接生成可执行文件(*.hex文件)后,下载(根据前面所介绍的步骤)到单片机内,第一个数码管就会被点亮显示数字8.

 

4.总结

只要由以上两个图成功的控制了一个数码管的数值显示之后,就可以改变程序中的位选和段选信号使选择0-4个数码管显示相同的数字(静态显示的限制)。

所以程序中的位选代码和段选代码成了核心控制信号,故做记录如下:

位选信号为高时,相应的数码管被选中。

给74HC53某位输入信号位为1时,输出也为1,且对应的数码管被点亮(共阴数码管)。

 

你可能感兴趣的:(碚大)