第五节 数码管的使用 5.1 数码管简介 同学们!相信你的流水灯也做的不错了吧,现在能玩出几种花样了?但是工程师们设计这么一个单片机,并不是只为了让它做流水灯的,那样也太浪费点了吧 ... ^_^ 。 数码管的一种是半导体发光器件,7 段LED 数码管是利用7 个LED(发光二极管)外加一个小数点的LED 组合而成的显示设备,可以显示0~9 等10 个数字和小数点,使用非常广泛,数码管可以分为一位和多位它的外观如图5-1 所示。 图5-1 5.2 数码管的显示原理 数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED 的阳极连接到共同接点com,使用时com 接正5 伏电源,而每个LED 的阴极分别为a、b、c、d、e、f、g 及 dp(小数点);共阴极则是把所有LED 的阴极连接到共同接点com,使用时com 要将其接地。而每个LED 的阳极分别为a、b、c、d、e、f、g 及 dp(小数点),8 个LED 的分布方式如图5-2 所示。图中的8 个LED 分别与上面那个图中的A~DP 各段相对应,通过控制各个LED的亮灭来显示数字。 那么,实际的数码管的引脚是怎样排列的呢?对于单个数码管来说,从它的正面看进去,左下角那个脚为1 脚,以逆时针方向依次为1~10 脚,左上角那个脚便是10 脚了,上面两个图中的数字分别与这10 个管脚一一对应。注意,3 脚和8 脚是连通的,这两个都是公共脚。它对应的引脚分布为图5-3 所示。 图5-2 图5-3 数码管的8 段,对应一个字节的8 位,a 对应最低位,dp(小数点)对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即 0x3f;共阳数码 管的字符编码为 11000000,即 0xc0。可以看出两个编码的各位正好相反。如图 5-4 所示。 图 5-4 那么,一位数码管要显示字符 0~F,则对应的编码如表 2 所示。 一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。 5.3 一位数码管的显示 请实现:让一位数码管依次显示字符0~F,每个字符显示1 秒,如此反复。 一般情况下,为了计算或取码的方便,我们把 a-dp 依次接到单片机某个口上的 Px.0--Px.7上。x 表示 0,1,2,3 其中的一个。这样我们只要给某个口,赋一个值,则相应的 LED 段就被点亮,但是在硬件连接上要注意了:单片机可能不能直接驱动 L...