数码管
- 一个数码管的引脚是10个,显示8字需要7小段,另外还有一个小数点,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10个引脚,其中第3脚和第8脚是连接在一起的
又由公共端可分为共阴极和共阳极
共阴极数码管:发光二极管的阴极全部连接在一起,通常设计电路时将阴极接地;当我们给数码管的任一个阳极加高电平,对应的这个发光二极管就点亮了
共阳极数码管:发光二极管的阳极全部连接在一起,通常设计电路时将阳极接高电平;当我们给数码管的任一个阴极加低电平,对应的这个发光二极管就点亮了
用万用表检测数码管的引脚排列
将数字万用表置于二极管挡,红表笔接在1脚,然后用黑表笔去接触其他各引脚,假设只有当接触到9脚时,数码管的a段发光,而接触其余引脚时则不发光。由此可知,被测数码管为共阴极结构类型,9脚是公共阴极,1脚则是数码管的a段。接下来再检测各段引脚,仍使用数字万用表二极管挡,将黑表笔固定接在9脚,用红表笔依次接2~10引脚时,数码管的其他段先后分别发光,据此便可绘出该数码管的内部结构和引脚排列图。而共阳极需将红、黑表笔对调。
数码管静态显示
- 当多位数码管应用于某一系统时,它们的"位选“是可独立控制的,而“段选“是连接在一起的,我们可以通过位选信号控制哪几个数码管亮,而在同一时刻,位选选通的所有数码管上显示的数字始终都是一样的,因为它们的段选是连接在一起的,所以送入所有数码管的段选信号都是相同的,那么它们显示的数字必定一样,数码管的这种显示方法叫做静态显示
- 在查看原理图时,原理图中标号相同的节点,在实际电路中是物理电气相连的,最上面一排是6个单位数码管,可以看到所有数码管的阳极,即标有a,b,c,d,e,f,g,h的引脚全部连接在一起,然后与下面的U1元件73HC573锁存器的数据输出端相连,锁存器的数据输入端连接单片机的P0口,P0口同时加了上拉电阻。数码管中WEl,WE2,WE3,WE4,WE5,WE6是它们的位选端,每一个数码对应一个位选端,与下面U2元件74HC573的数据输出端的低6位相连,U2的数据输入端也连接到单片机的P0口。两个锁存器的锁存端分别与单片机的P2.6和P2.7相连
- 共阴极:
#include <reg52.h> //52系列单片机头文件 sbit dula = P2^6; //申明U1锁存器的锁存端 sbit wela = P2^7; //申明U2锁存器的锁存端 void main() //主函数 { wela=1; //打开U2锁存器 P0=0xFE ; //送入位选信号 wela=0; //关闭U2锁存器 dula=1; //打开U1锁存器 P0=0x7F ; //送入段选信号 dula=0; //关闭U1锁存器 while(1); //程序停止到这里 }
- 共阳极:
#include <reg52.h> //52系列单片机头文件 sbit dula = P2^5; //申明U1锁存器的锁存端 sbit wela = P2^6; //申明U2锁存器的锁存端 void main() //主函数 { wela=1; //打开U2锁存器 P0=0x01 ; //送入位选信号 wela=0; //关闭U2锁存器 dula=1; //打开U1锁存器 P0=0x80 ; //送入段选信号 dula=0; //关闭U1锁存器 while(1); //程序停止到这里 }
- 可选择数码管哪位:
#include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit HC138A = P2^0; sbit HC138B = P2^1; sbit HC138C = P2^2; uchar num; void delayms(uint xms){ uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } uchar code table[]={0x3f, 0x06, 0x5b, 0x4f,0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; void main(){ wela=1; //打开U2锁存端 HC138A = 1; HC138B = 0; HC138C = 0; //送入位选信号,低电平有效 wela=0; while(1){ for(num=0;num<16;num++){ //16个数循环显示 dula=1; //打开U1锁存端 P0=table[num]; dula=0; delayms(1500); } } }
- 共阴极数码管编号:
数码管动态显示
- 使六个共阴极数码管一次显示1~6:
- 数码管的动态显示又称为数码管的动态扫描显示,即轮流向各位数码管送出字形码和相应的位选,利用发光二极管的余辉和人眼视觉的暂留作用,使人感觉各位数码管在同时显示