1. 数码管的构成
一般的单片机的数码管都分成“两个小块”,每个“小块”里面有四位“数字”,而每个”数字“又由8个“段”组成。
“两块”:
一块内的“四个数字”
每个数字由“8段”二极管组成(a,b,c,d,e,f,g,dp)
2. 如何点亮数码管
2.1 如何点亮一个“数字”?
输入何种电平才能点亮数码管由数码管的类型决定。
数码管类型分为共阴极和共阳极两种,这里的共阳和共阴指的是每个“数字”里的8“段”二极管的连接方式。
如下图:(来源百度图片)
1. 共阴极
共阴极表示8“段” 已知的一端连接上了同一个低电平(如图为接地端),故要想让对应“段”的二极管亮起来,需要让该“段”另一端输入高电平(即1),才能打通二极管。
2. 共阳极
同理,共阳极表示8“段” 已知的一端连接上了同一个高电平(如图为电源),故要想让对应“段”的二极管亮起来,需要让该“段”另一端输入低电平(即0),才能打通二极管。
2.1.1 以共阳极数码管为例:点亮一个“数字”让其显示6
如下图(来源百度):
(1)共阳极,输入低电平点亮
(2)显示6,如图,需要a,c,d,e,f,g 段同时点亮,故给连接a,c,d,e,f,g 段的输入低电平0,剩下的(b,h(dp))不亮,则输入1
(3) 在单片机中分别由8个输入控制这8 “段”,且常常用16进制来表示:
点亮6 应输入 0x41, 转换为二进制为:0100 0001(注意管口的对应顺序)
二进制 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
对应管口 | a | b | c | d | e | f | g | dp(h) |
(注意,该图的小数点用h表示,蓝桥杯的用dp表示,只是符号的不同,本质一样)
2.2 如何对多个“数字”进行有选择的点亮?
知道了如何点亮一个数字后,对多个“数字”进行有选择的点亮在点亮单个数字的基础操作上,加入一个可供选择哪个数字进行点亮的操作。
这里就要提到两个经常说的词“段选”和“位选”。
1. 段选
本质就是点亮单个“数字”。对每个数字内的“段”进行操作,就能控制显示单个“数字”输出什么。(即2.1.1例子)
2. 位选
对多个“数字”进行有选择的点亮 就是加入了一个位选操作,如下图圈起来部分,分为对应了该”块“的4个“数字”,想要哪个数字显示就对应的输入置为高电平,相当于控制开关。
欢迎指正。