EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Terran 于 2022-9-28 13:15 编辑 1 e$ d1 z) _6 R4 l6 Y, u/ S
Q) M1 i/ v k: ]
数码管,英文名称Segment Displays,是把多个发光二极管封装在一起,组成8字,或者米字形的器件。 如上图所示,分别为8字和米字形的数码管,还有一些异形的,暂时不考虑。 今天主要说8字形的数码管,这种数码管主要分两类:7段的和8段的;驱动方式分两种:共阴极 和 共阳极。根据连在一起的字符数量,还会分为1位的,2位的,3位的,4位的等等。 先说七段和八段的分别,这个很简单,从外表就能看出来。把8字分成一段一段的LED,刚好有7段,如果再加上右下角那个小点,就是8段。也就是说,一个完整的1位数码管由七个或者八个LED组成,想要显示1、2、3等等的字符,点亮相应的数码管组成该字符就行。那么如何点亮?问题来了。 还记得点亮发光二极管那篇教程里面提到的LED的驱动方式:学51 单片机-点亮LED . o- [0 X" t1 f7 X- g4 z, ]( I
数码管是由发光二极管组成的,发光二极管有两种驱动方式,数码管自然也有两种驱动方式:共阴极 与 共阳极。 共阳极是指数码管内部LED的正极接在一起,想要点亮LED,拉低相应的负极即可。共阴极是指数码管内部LED的负极接在一起,想要点亮 LED,拉高相应的正极即可。 什么是数码管编码?就是让数码管显示数字时,对应的IO输出的高低电平。 共阳极的编码为0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e。 共阴极数码管编码为:0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71。 什么是段选?什么是位选? 段选就是我想显示数字时,这个数字对应的IO编码,也就是上面的数码管编码。 位选就是,当1个数码管内部集成了3位数字的时候,我想让左、中、右这三个数字其中一个显示3的时候,对位进行操作的编码。很多人问问题的时候,段选和位选都分不清。 曾经有个家伙问我:1位的数码管和2位的数码管编码为什么不一样?当时把我给绕进去了! 只要是同种数码管,不管是1位、2位、4位编码肯定是一样的。 接下来是驱动电路,以共阴极为例 锁存器的功能就是可以把当前输入的状态在输出脚锁住,这样,及时输入变化,输出也能保持不变。控制方式非常简单,只需控制74HC573的11脚即可。 这里留个思考题,为什么用74HC573来驱动数码管,不用单片机直接驱动? 下面是程序,选中一个数码管,显示数字 3. & V7 K0 F. b% @. Y* i! f: Y
1 I+ s: S4 G: a* B$ V3 A. H+ V8 c |