读书人

数码管展示模板

发布时间: 2013-01-28 11:49:56 作者: rapoo

数码管显示模板
一:数码管介绍

数码管其实就是8个发光二极管构成8个段,把所有负极接一起称为共阴,同理有共阳数码管。

通过对非公共端的单独操作可实现点亮具体某一段,从而实现数字或字符的显示。

数码管展示模板

上图中a为共阴,b为共阳

多位数码管是将每位数码管的公共端引出作为位选引脚,将不同位的同一段接在一起,最终形成的引脚有8个段引脚和n个位引脚(n为数码管位数)

假设段为x坐标,位为y坐标,通过x,y的值可映射到多位数码管中的具体某一段,对其操作便可实现数字或折服的显示。


二:具体显示方法

由上面讲解可知,要让一位数码管显示数字或者字符,必须向其各段输入高低电平,如果将8各段接在一个8位寄存器(P1)

只需向此寄存器输入一个二位十六进制数即可。

三:共阴数码管码表

0x3f , 0x06 , 0x5b , 0x4f ,0x66 , 0x6d , 0 1 2 3 4 5 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , 6 7 8 9 A B 0x39 , 0x5e , 0x79 , 0x71 , 0x00 C D E F 无显示实际操作中,定义一个数组即可
unsigned char Digit[17] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00};

四:显示实例1:硬件连接 将四位共阴数码管的8个段选通过锁存器接在一组P0口(记得加10K上拉电阻),4个位选通过锁存器接在P0口,形成段选锁存器及位选锁存器,两个锁存器的LE端接在其他IO引脚上,硬件连接便算完成。 需要操作的寄存器为: P0(对锁存器进行数据输入用) ,2个IO引脚(控制段选锁存器,或位选锁存器) PS:锁存器不熟悉的请移步至:http://blog.csdn.net/metalseed/article/details/82592552:静态显示

(让数码管静态显示一个具体字符)

#include<reg52.h>sbit duan = P2^6;sbit wei  = P2^7;unsigned char code digit[]={0x3f, 0x06, 0x5b, 0x4f,0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c,0x39, 0x5e, 0x79, 0x71};void delay(uint z);void main(){int num; while(1){for(num=0;num<4;num++){wei = 1; /*位选定*/P0  = 0x00 + (1 << num);wei = 0;duan = 1; /*段点亮*/P0   = digit[16];P0   = digit[num + 1];duan = 0;delay(1000);}}}void delay(int z){int x, y;for(x = z; x; --x)for(y = 110; y; --y);}


读书人网 >其他相关

热点推荐