《2022年独立按键和矩阵键盘数码管 .pdf》由会员分享,可在线阅读,更多相关《2022年独立按键和矩阵键盘数码管 .pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六讲独立按键和矩阵键盘按键是什么东西,我想这个就不必由我向各位阐述了。嗯,如你所见,按键种类繁多,功能有简有繁,极大的充斥着我们的生活。但是无论如何,所有的按键其实都有一个原型,来源于同一种原理,所有的按键无论多复杂,多华丽,都是从这样一个原型发展而成的。好比你就算长的再帅, 你也是只猩猩变来的, 呵呵。我们平日所见到的绝大部分的按键,其实都可以归类为一种,叫“接触式按键” 。下图为一个典型的接触式按键(又称轻触开关)。需要特别说明的是,这里说的“接触”,是指机械层面上的接触,而不是感光或者某些特殊涂层(比如触摸屏)一类的接触。所以,按键的工作特性其实是一种机械特性,下文会详细说明。,如上图
2、,请对照图一想象,1、2、3、4 分别对应按键的四个引脚,其中蓝色的线表示按键未被按下之时的状态,我成为初始状态, 它是不导通的; 而绿色名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - 的线是却永久导通的。 各位明白了么, 其实是两个相同的结构连在一起了。我们只要将需要按键开关作用的线路分别接在1、3 和2、4 的任意取一组合, 概括起来就是( 1,2)、(1,4)、(3,2)、(3,4)四种组合,都可以起到我们预期的开关作用
3、。相信以上说明使大家对按键的工作原理有了个比较清晰的认识了,现在来说说一个小知识。先看下图(图4):首先说明的是, 上图的连法是不允许的, 因为当按键按下之后, 电源和地短接,会将导线直接烧毁。但是此处用作特例,假设导线不会烧毁。现在来提出一个问题,当按键按下以后,请问如果这时用万用表测量导线上任何一处的电压,得到的结果是 VCC 还是GND 的电压?答案是: GND ,即表示测出的电压为 0V。为什么呢,因为导线上,对于两端的电平是一种类似于程序语言逻辑运算里面的“与”,即对于导线两端:有零即为零,只有全为一是才为一。理解了这点,按键的工作前提就有了。键盘分为编码键盘和非编码键盘。 键盘上闭
4、合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。 而靠软件编程来识别的键盘称为非编码键盘, 在单片机组成的各种系统中, 用的较多的是非编码键盘。非编码键盘又分为独立键盘和行列式键盘(常说的矩阵键盘)。在这一讲中我们介绍一下单片机中键盘使用。单片机的 IO 口既可作为输出也可作为输入使用,当检测按键时用的是它的输入功能,我们把按键的一端接地,另一端与单片机的某个I/O 口相连,开始时先给该 IO 口赋一高电平,然后让单片机不断地检测该I/O 口是杏变为低电平,当按键闭合时,即相当于该I/O 口通过按键与地相连,变成低电平,程序一旦检测到 I/O 口变为低电平则
5、说明按键被按下,然后执行相应的指令。我们先来说一下,按键常常遇到的问题抖动问题。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 23 页 - - - - - - - - - 还以图四为例, 按键未按下之前, 图四按键左端的导线因为连在VCC 上而显示高电平,右端显示低电平,按键按下后,按键闭合,整个导线都显示低电平,然后按键松开, 又回到按键按下之前的点评状态。如果只考察按键左端的电平变化,应该是上图中所显示的一个负脉冲波形。但是,实际上,正确的波形应该是下图。相比于上图
6、, 大家都看到了在高低电平直接有一段锯齿一样的波形,这就是所谓的按键抖动。为什么会有按键抖动呢, 原因很简单, 接触式按键是靠机械的接触来实现开关作用的。这种接触方式就注定了它要经历一个“接触不稳定正在稳定中彻底稳定” 的一种过程。 就好比你用手抓紧一颗石头,即使你一开始就很用力的握紧, 也不可能马上就达到最紧的状态, 也要经历一个从握住到最紧握的过程。那么在这个过程里,接触式按键就处于一种徘徊在“闭合”与“断开”两者之间的状态。体现在电路中, 就是在一小段时间内有非常多的 “按下抬起” 动作。而这段抖动的时间,大概是1020 毫秒,依不同的环境条件而定。解决这个问题常见的方法有软件去抖动和硬
7、件去抖动。我们解释一下抖动: 关于按键去抖动的解释, 我们在手动按键的时候, 由于机械抖动或是其它一些非人为的因素很有可能会造成误识别,一般手动按下一次键然后接着释放, 按键两片金属膜接触的时间大约为50ms 左右,在按下瞬间到稳定的时间为 5-10ms,在松开的瞬间到稳定的时间也为5-10ms,如果我们再首次检测到键被按下后延时10ms 左右再去检测, 这时如果是干扰信号将不会被检测到,如果确实是有键被按下,则可确认,以上为按键识别去抖动的原理。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
8、- - 第 3 页,共 23 页 - - - - - - - - - 独立按键:我们先将一下独立按键的使用方法,开发板独立按键电路图如下:独立按键一共 5 个,分别连接在单片机的P3.0到 P3.4口。去抖动的方式,我们采用软件延时的方法。过程如下:1. 先设置 IO 口为高电平(一般上电默认就为高)2. 读取 IO 口电平确认是否有按键按下3. 如有 IO 电平为低电平后,延时几个ms 4. 再读取该 IO 电平,如果任然为低电平,说明对应按键按下5. 执行相应按键的程序一个独立键盘程序:基础篇第六个,独立按键控制led 灯/* 独立按键控制led 灯两灭/独立按键排线连接P3.0P3.4
9、口*/ #include reg51.h sbit key1=P30; sbit key2=P31; sbit key3=P32; sbit key4=P33; sbit key5=P34; /*延时函数 */ / 定义一个演示函数,定时时间大概为一个毫秒。void delay(unsigned int i) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - - - - - - - - - unsigned char j; for(i; i 0; i-) fo
10、r(j = 100; j 0; j-); /*/ main() P0= 0 xff;/初始化 P0 口,全部置1 P2 = 0 xff;/初始化 P2 口,关闭所有led 灯while(1) P2 = 0 xff;/初始化 P2 口,关闭所有led 灯if(key1=0) delay(5);/为去抖动加的延时,利用软件延时if(key1=0) P2 = 0 xfe; while(!key1); /等待按键松开,如果将这句去掉的话,/那么 led 灯保持打开状态。 if(key2=0) delay(5); if(key2=0) P2 = 0 xfd; while(!key2); /等待按键松开
11、if(key3=0) delay(5); if(key3=0) P2 = 0 xfb; while(!key3); /等待按键松开 if(key4=0) delay(5); if(key4=0) P2 = 0 xf7; while(!key4); /等待按键松开 if(!key5) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 23 页 - - - - - - - - - delay(5); if(!key5) P2 = 0 xef; / if(!key4) 与 if(
12、key4=0) 表达的是一个意思。就是key4 按键按下(按下相应管脚为低电平),就会执行后面的语句。while(!key5); /等待按键松开 连接好电路图,下载独立按键控制led 灯.hex,观察实验结果矩阵键盘独立键盘与单片机连接时, 每一个按键都需要单片机的一个I/O 口若某单片机系统需较多按键, 如果用独立按键便会占用过多的I/O 口资源。单片机系统中I/O 口资源往往比较宝贵,当用到多个按键时为了节省I/O 口口线,我们引入矩阵键盘。我们以 4X4 矩阵键盘为例讲解其工作原理和检测方法。将16 个按键排成 4行 4 列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另
13、一端连接在一起构成列线, 这样便一共有 4 行 4 列共 8根线,我们将这 8 根线连接到单片机的 8 个 I/O 口上,通过程序扫描键盘就可检测16 个键。用这种方法独立按键控 制led灯.hex 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - - - - - - - 我们也可实现 3 行 3 列 9 个键、 5 行 5 列 25 个键、6 行 6 列 36 个键等。无论是独立键盘还是矩阵键盘,单片机检测其是否被按下的依据都是一样的,也就是检测与该
14、键对应的I/O 口是否为低电平。 独立键盘有一端固定为低电平,单片机写程序检测时比较方便。而矩阵键盘两端都与单片机I/O 口相连,因此在检测时需人为通过单片机I/O 口送出低电平。检测时,先送一列为低电平,其余几列全为高电平 ( 此时我们确定了列数 ), 然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平(这时我们又确定了行数 ) ,则我们便可确认当前被按下的键是哪一行哪一列的,用同样方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平, 这样即可检测完所有的按键, 当有键被按下时便可判断出按下的键是哪一个键。 当然我们也可以将行线置低电平,扫描列是否有低电平。这就是矩阵键盘检
15、测的原理和方法。首先看一下电路图上图是一个 4X4 的矩阵键盘,一共是 16 个按键。我们照习惯称横为“行”,“竖”为列。那么5、6、7、8 我们称之为 “行线”,则1、2、3、4 称为“列线”。要正确记住各个行列线各自对应的IO。注意看,每一个按键的两端, 都分别接在某一个列线和行线上, 即:“行线和列线是通过某个按键的按下和抬起实现联通和断开的”,和“导线两端上的信号是经过“与”的关系再体现到导线上的。”这两句话便构成了矩阵键盘扫描的全部。要理解好,理解不了就背下来。现在详细讲述一下矩阵键盘扫描的原理和步骤:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
16、- - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - 扫描矩阵键盘,即是把某一条(只有一条)行线置为低电平,而列线全部置为输入方向, 然后检测列线, 如果检测到某一条列线是低电平,那么就表示位于这条列线与输出低电平的行线的交点处的按键被按下了。要扫描 16个按键,就依次以这样的方法扫描 16次,之后就可以确定哪一个按键被按下了。当然这里也少不了延时消除按键抖动的环节。下面看一下程序/* 矩阵键盘控制 led 显示实验*/ #includereg51.h #define key_port P0 / 定义矩阵键盘扫描
17、的端口sbit hc573_en = P13; unsigned char key_value; void delay(unsigned int z) /延时函数 unsigned int x,y; for(x=z;x0;x-) for(y=100;y0;y-); void key_scan() unsigned char temp; /定义一个临时变量,用来读取键盘扫描端口的值,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 23 页 - - - - - - - - -
18、 key_port = 0 x7f; /第一行送低电平 delay(5); temp=key_port; /获取按键状态, switch(temp) case 0 x77: key_value=1;break; case 0 x7b: key_value=2;break; case 0 x7d: key_value=3;break; case 0 x7e: key_value=4;break; default:break; while(key_port!=0 x7f); / 等待按键松下 key_port = 0 xbf; /第二行送低电平 delay(5); temp=key_port; s
19、witch(temp) case 0 xb7: key_value=5;break; case 0 xbb: key_value=6;break; case 0 xbd: key_value=7;break; case 0 xbe: key_value=8;break; default:break; while(key_port!=0 xbf); / 等待按键松下名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 23 页 - - - - - - - - - key_port
20、 = 0 xdf; /第三行送低电平 delay(5); temp=key_port; switch(temp) case 0 xd7: key_value=9;break; case 0 xdb: key_value=10;break; case 0 xdd: key_value=11;break; case 0 xde: key_value=12;break; default:break; while(key_port!=0 xdf); / 等待按键松下key_port = 0 xef; /第四行送低电平 delay(5); temp=key_port; switch(temp) case
21、 0 xe7: key_value=13;break; case 0 xeb: key_value=14;break; case 0 xed: key_value=15;break; case 0 xee: key_value=0;break; default:break; while(key_port!=0 xef); / 等待按键松下名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 23 页 - - - - - - - - - main() hc573_en=0; P
22、1=0; / 执行这句是为了屏蔽数码管和点阵hc573_en=1; / 关闭锁存器 P2=0; key_value=0 xff; while(1) key_scan(); P2=key_value; 下载矩阵键盘控制led.hex ,看实验结果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 23 页 - - - - - - - - - 第七讲数码管我们先看看什么是数码管,上图就是各种长相各种样子的数码管了,肯定很眼熟了吧。不管将几位数码管连在一起, 数码管的显示原理都是
23、一样的, 都是靠点亮内部的发光二极管来发光, 下面就来我们讲解一个数码管是如何亮起来的。数码管内部电路如下图所示,从右图可看出,一位数码管的引脚是10 个,显示一个8字需要 7 个小段, 另外还有一个小数点, 所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10 个引脚,其中第 3 和第 8 引脚是连接在一起的。而它们的公共端又可分为共阳极和共阴极,中间图为共阴极内部原理图,右图为共阳极内部原理图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
24、 第 12 页,共 23 页 - - - - - - - - - 上图展出了常用的两种数码管的引脚排列和内部结构。总所周知,点亮发光二极管就是要给予它足够大的正向压降。所以点亮数码管其实也就是给它内部相应的发光二极管正向压降。如上图左(一共a、b、c、d、e、f 、g、DP 八段),如果要显示“ 1”则要点亮 b、c 两段LED ;显示“A”则点亮 a、b、c、e、f 、g 这六段LED ;我们还知道,既然 LED 加载的是正向压降,它的两端电压必然会有高低之分:如果八段 LED 电压高的一端为公共端, 我们称之为共阳极数码管 (如上图中); 如果八段 LED 电压低的一段为公共端, 则称之为
25、共阴极数码管 (上图右)。所以,要点亮共阳极数码管, 则要在公共端给予高于非公共端的电平;反之点亮共阴极数码管,则要在非公共端给予较高电平。对共阴极数码来说, 其8个发光二极管的阴极在数码管内部全部连接在一起,所以称“共阴”,而它们的阳极是独立的,通常在设计电路时一般把阴极接地。当我们给数码管的任意一个阳极加一个高电平时,对应的这个发光二极管就点亮了。如果想要显示出一个 8字,并且把右下角的小数点也点亮的话,可以给 8个阳极全部送高电平,如果想让它显示出一个0字,那么我们可以除了给第“g, dp ”这两位送低电平外,其余引脚全部都送高电平,这样它就显示出0字了。想让它显示几,就给相对应的发光二
26、极管送高电平,因此我们在显示数字的时候首先做的就是给 0-9十个数字编码,在要它亮什么数字的时候直接把这个编码送到它的阳极就行了。共阳极数码管其内部 8个发光二极管的所有阳极全部连接在一起,电路连接时,公共端接高电平, 因此我们要点亮的那个发光管二极管就需要给阴极送低电平,此时显示数字的编码与共阳极编码是相反的关系,数码管内部发光二极管点亮时,也需要 5mA 以上的电流,而且电流不可过大,否则会烧毁发光二极管。由于单片机的 I/O 口送不出如此大的电流,所以数码管与单片机连接时需要加驱动电路,可以用上拉电阻的方法或使用专门的数码管驱动芯片,本实验板上使用的是74HC573 锁存器,其输出电流较
27、大,电路接口简单,可借鉴使用。一般共阳极数码管更为常用, 为什么呢?这是因为数码管的非公共端往往接在IC 芯片的 IO上,而IC 芯片的驱动能力往往是比较小的,如果采用共阴极数码管, 它的驱动端在非公共端, 就有可能受限于 IC芯片输出电流不够而显示昏暗 (比如51单片机),要外加上拉电阻或者是三极管加大驱动能力。所以使用共阳数码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 23 页 - - - - - - - - - 管的好处是:将驱动数码管的工作交到公共端(一般接
28、驱动电源),加大驱动电源的功率自然要比加大 IC芯片IO口的驱动电流简单许多。 另一方面,这样也能减轻MCU 的负担。当多位一体时, 它们内部的公共端是独立的, 而负责显示什么数字的段线全部是连接在一起的, 独立的公共端可以控制多位一体中的哪一位数码管点亮,而连接在一起的段线可以控制这个能点亮数码管亮什么数字,通常我们把公共端叫做“位选线”,连接在一起的段线叫做“段选线”,有了这两个线后,通过单片机及外部驱动电路就可以控制任意的数码管显示任意的数字了。一般单位数码管有 10个引脚,二位数码管也是 10个引脚,四位数码管是 12个引脚,关于具体的引脚及段、 位标号大家可以查询相关资料,最简单的办
29、法就是用数字万用表测量,若没有数字万用表也可用5V直流电源串接 1k电阻后测量,将测量结果记录,通过统计便可绘制出引脚标号。数码管静态显示当多位数码管应用于某一系统时,它们的“位选”是可独立控制的,而“段选”是连接在一起的, 我们可以通过位选信号控制哪几个数码管亮,而在同一时刻,位选选通的所有数码管上显示的数字始终都是一样的,因为它们的段选是连接在一起的, 所以送入所有数码管的段选信号都是相同的,那么它们显示的数字必定一样,数码管的这种显示方法叫做静态显示。从电路图可以看出, 本开发板使用的是共阳极数码管,在每段数码管端加上一个470R 的限流电阻。下面看一下程序:/* 名师资料总结 - -
30、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 23 页 - - - - - - - - - * 标题 : 试验数码管上如何显示数字( 共阳极 ) * * * * 连接方法: P0 与JP3 用8PIN排线连接 * * * * * 请 学 员 认 真 消 化本 例 程 , 用单片机脚直 接控制数码管* */ #include void delay(unsigned int i); /函数声名/ 此表定义 LED 的字模 unsigned char code LED7Code = 0 x3F,
31、0 x06,0 x5B,0 x4F,0 x66,0 x6D, 0 x7D,0 x07,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71; main() unsigned int LedNumVal ; / 定义变量 while(1) / 将字模送到 P0口显示 LedNumVal+; P0 = LED7CodeLedNumVal%16&0 x7f; /LED7 0 x7f 为小数点共阴和共阳此处也是不一样; delay(62000); / 调用延时程序 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
32、 - - - - 名师精心整理 - - - - - - - 第 15 页,共 23 页 - - - - - - - - - /* * * * 延时程序 * * * */ void delay(unsigned int i) char j; for(i; i 0; i-) for(j = 200; j 0; j-); 下载数码管静态显示 .hex ,连接排线,观察开发板运行结果动态数码管首先我们来看一下开发板上的电路原理图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共
33、23 页 - - - - - - - - - 本开发板上使用的是, 通过P22、P23、P24控制3-8译码器来对数码管进行位选,通过 P0口经过 573的驱动控制数码管的段选,通过P13控制573的使能端,为低电平时 573才会有输出。下面看一下程序:/* *数码管动态显示 * */ #include sbit LS138A = P22; / 定义138译码器的输入 A脚由 P2.2 控制sbit LS138B = P23; /定义138译码器的输入脚B由P2.3 控制sbit LS138C = P24; / 定义138译码器的输入脚C由P2.4 控制sbit EN573 = P13; /5
34、73 锁存器使能端口sbit MOSI =P37; /定义管脚sbit R_CLK =P35; /定义管脚名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 23 页 - - - - - - - - - sbit S_CLK =P36; / 定义管脚void delay(unsigned int i); /函数声名char DelayCNT; / 此表为 LED 的字模 , 共阴数码管 0-9 - unsigned char code Disp_Tab = 0 x3f,0
35、x06,0 x5b,0 x4f,0 x66,0 x6d, 0 x7d,0 x07,0 x7f,0 x6f,0 x40; void init_all() unsigned int i; P0=0 xff; P1=0 xf0; P2=0 xff; P3=0 xff; for(i=0;i=50) DelayCNT=0; / 延时计数每扫描一次加一次 +LedNumVal; / 每隔 50个扫描周期加一次 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 23 页 - - - -
36、 - - - - - LedOut0=Disp_TabLedNumVal%10000/1000; LedOut1=Disp_TabLedNumVal%1000/100|0 x80; LedOut2=Disp_TabLedNumVal%100/10; LedOut3=Disp_TabLedNumVal%10; LedOut4=Disp_TabLedNumVal%10000/1000; / 千位 LedOut5=Disp_TabLedNumVal%1000/100|0 x80; / 百位带小数点 LedOut6=Disp_TabLedNumVal%100/10; /十位 LedOut7=Disp_
37、TabLedNumVal%10; /个位 for( i=0; i 0; i-) for(j = 200; j 0; j-); 在用C 语言编程时,编码定义方法如下: unsigned char code Disp_Tab = 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d, 0 x7d,0 x07,0 x7f,0 x6f,0 x40; 编码定义方法与 C语言中的数组定义方法非常相似,不同的地方就是在数组类型后面多了一个 code关键字,code即表示编码的意思。 需要注意的是, 单片机C语言中定义数组时是占用内存空间的,而定义编码时是直接分配到程序空间中,编译后编码占用
38、的是程序存储空间,而非内存空间。下载数码管动态显示 .hex ,观察实验结果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 23 页 - - - - - - - - - 知识点 : 如何用万用表检浏数码管的引脚排列对数字万用表来说, 红色表笔连接表内部电池正极,黑色表笔连接表内部电池负极,当把数字万用表置于二极管档时,其两表笔间开路电压约为 1.5V,把两表笔正确加在发光二极管两端时,可以点亮发光二极管。如下图所示, 将数字万用表置于二极管挡, 红表笔接在脚, 然后用黑
39、表笔去接触其他各引脚,假设只有当接触到脚时,数码管的a段发光,而接触其余引脚时则不发光。由此可知,被测数码管为共阴极结构类型,脚是公共阴极,脚则是数码管的 a段. 接下来再检测各段引脚, 仍使用数字万用表二极管档, 将黑表笔固定接在脚,用红表笔依次接触、引脚时,数码管的其他段先后分别发光, 据此便可绘出该数码管的内部结构和引脚排列图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 23 页 - - - - - - - - - 检测中,若被测数码管为共阳极类型,则需将红、 黑表笔对调才能测出上述结果,在判别结构类型时, 操作时要灵活掌握, 反复试验,直到找出公共端为止,大家只要懂得了原理,检测出各个引脚便不在是问题了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 23 页 - - - - - - - - -