数码管按段数可分为七段数码管和8段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)这个小数点能够更精确的表示数码管想要显示的内容;按能显示多少个(8)可分为1位、2位、3位、4位、5位、6位、7位等数码管。3d
按发光二极管单元链接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将全部发光二极管的阳极接到一块儿造成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将全部发光二极管的阴极接到一块儿造成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。htm
怎样测量数码管引脚,分共阴和共阳?blog
找公共共阴和公共共阳:首先,咱们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有不少,但总有一个LED会发光的,找到一个就够了,而后GND不动,VCC(串电阻)逐个碰剩下的脚,若是有多个LED(通常是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,若是有多个LED(通常是8个),那它就是共阳的。也能够直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。get
8段数码管引脚图 工作流
8段数码管原理
8 个数码管它的数据线并联接到 JP5, 位控制由 8 个 PNP 型三级管驱动后由 JP8 引出。class
咱们分别把他命名为 A,B,C,D,E,F,G,H原理
搞懂了这个原理, 咱们若是要显示一个数字 2, 那么 A,B,G,E,D 这 5 个段的发光管亮就能够了。也就是把B,E,H(小数点)不亮,其他全亮。根据硬件的接法咱们编出如下程序。固然在此以前,还必须指定哪个数码管亮,这里咱们就指定最后一个 P2.7。硬件
显示数字 2 则是 C,F,H(小数点)不亮,同时因为接法为共阳接法,那么为 0(低电平)是亮为 1(高电平)是灭。从高往低排列,(p0.7_p0.0)写成二进制为 01111110, 把他转化为 16 进制则为A2H。咱们能够根据硬件的接线把数码管显示数字编制成一个表格, 之后直接调用就好了。二进制
原理图中把全部数码管的 8 个笔划段 a-h 同名端连在一块儿,而每个显示器的公共极 COM 是各自独立地受 I/O 线控制。CPU 向字段输出口送出字形码时,全部显示器接收到相同的字形码,由 8 个 PNP 的三极管,来控制这 8 位哪一位工做,例如上面的例子中咱们选中的是 P2.7.就是最后的一位亮了。 一样的若是要第一位亮, 只须要把程序 CLR P2.7 改成 CLR P2.0 便可。程序
在这里就有了一个矛盾, 全部数码管的 8 个笔划段 a-h 同名端连在一块儿, 那么在一个屏幕上如何显示0,1,2,3,4,5 这样不一样的数字呢? 的确, 在这样的接法中,同一个瞬间全部的数码管显示都是相同的, 不能显示不一样的数字。在单片机里,首先显示一个数, 而后关掉。而后显示第二个数,又关掉, 那么将看到连续的数字显示,轮流点亮扫描过程当中,每位显示器的点亮时间是极为短暂的(约 1ms),因为人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并不是同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 例如数码管显示 01234567 这么 8 个数,在单片机中实际的工做流程以下:先打开 P2.0,送 0, 而后关掉 P2.0,开 P2.1 送 1, 再关掉 P2.1,打开 P2.2 送 2 , 依次向下,因为速度足够快, 那么咱们将连续的看到 01234567 这 8 个数。
8段数码管显示程序流程图:
【来源】