(C51学习二)点亮数码管

1.什么是数码管

2.共阴极和共阳极

3.让数码管显示数字原理

4.段选和位选

5.用锁存芯片74HC573实现段选和位选

6.代码实现


1.什么是数码管

(C51学习二)点亮数码管_第1张图片

图所示,这是二位的数码管

一个数码管,要有8个LED灯控制他显示是什么数字,7个LED控制数字,1个LED控制小数点。如上图


2.共阴极和共阳极

(C51学习二)点亮数码管_第2张图片

上图,对于一个数码管,共阴极就是 组成数码管的二极管的阴极是连在一起的,想点亮数码管,就在单片机的对应 I/O 口给高电平。

共阳极就是 组成数码管的二极管的阳极是连在一齐的,想点亮数码管,就在单片机的对应 I/O 口给低电平。



3.让数码管显示数字原理

(C51学习二)点亮数码管_第3张图片

如上图,abcdefg分别控制数码管的8条led灯,如我要显示数字 8 ,则要把abcdefd全点亮,如上图右边,就是把abcdefg都置高电平。



3.段选和位选

(C51学习二)点亮数码管_第4张图片

上图所示,上面八根线(a,b,c,d,e,f,g,dp)控制数码管显示的数字是多少,叫做段选

下面四根线,控制四个数码管中,哪一个数码管被点亮,叫做位选


位选的意义:

由第一点的知识可知,控制一个数码管的亮灭,需要8个LED灯,换言之,控制一个数码管,就要用掉8个 I/O口,控制5个数码管就要用掉40个I/O口,

I/O口的资源没有那么多,所以引入了位选,有了位选以后,只需要8个I/O口控制数码管的段选(数码管显示什么数字)就好,至于让哪一个数码管亮,就由位选来做。



4.用锁存芯片74HC573实现段选和位选。

(C51学习二)点亮数码管_第5张图片

上图所示,是一片74HC573芯片,这片芯片的作用是锁住输入的值,(D1~D8为输入端,Q1~Q8为输出端),C段(就是上图的11引脚)为片选段。

当C段为1时,输出端=输入端,当C段为0时,当输入端改变,输出端也不会改变了,达到了锁存的作用


(C51学习二)点亮数码管_第6张图片

如图所示上图是共阴数码管的原理图,从原理图可知,一块74HC573控制段选,另一块74HC573控制位选,分别接到最小系统的P2.6和P2.7引脚

由于是共阴极,所以位选置0时,数码管会亮


5.代码实现

我们显示数字时,为了方便,我们可以下载一个 数码管计算器 ,百度数码管计算器即可。可以快速显示 响应数字怎么引脚怎么设置

(C51学习二)点亮数码管_第7张图片

如上图,显示3 就是把对应8位 I/O口组 设置为 0x4F

#include
sbit WE=P2^7;
sbit DU=P2^6;

void main()
{
	DU=1;
	P0=0x4f; //让数码管显示数字3
	DU=0;
	
	WE=1;
	P0=0xfe;//让第一个数码管点亮,1111 1110
	WE=0;
	while(1);
}


 
  
 
  
 
 

你可能感兴趣的:(#,C51单片机)