数码管的 8 个段,我们直接当成 8 个 LED 小灯来控制,那就是 a、b、c、d、e、f、g、dp 一共 8 个 LED 小灯。我们通过图 5-3 可以看出,如果点亮 b 和 c 这两个 LED 小灯,也就是数码管的 b 段和 c 段,其他的所有的段都熄灭的话,就可以让数码管显示出一个数字 1,那么这个时候实际上 P0 的值就是 0b11111001,十六进制就是 0xF9。那么我们写一个程序进去,来看一看数码管显示的效果。#includesbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;void main(){ENLED = 0; //使能 U3,选择数码管 DS1ADDR3 = 1;ADDR2 = 0;ADDR1 = 0;ADDR0 = 0;P0 = 0xF9; //点亮数码管段 b 和 cwhile (1);}#includesbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;void main(){ENLED = 0; //使能 U3,选择数码管 DS1ADDR3 = 1;ADDR2 = 0;ADDR1 = 0;ADDR0 = 0;P0 = 0xF9; //点亮数码管段 b 和 cwhile (1);}
大家把这个程序编译一下,并下载到单片机中,就可以看到程序运行的结果是在最右侧的数码管上显示了一个数字 1。
用同样的方法,我们可以把其他的数字字符都在数码管上显示出来,而数码管显示的数字字符对应给 P0 的赋值,我们叫做数码管的真值表。我们来列一下我们这个电路图的数码管真值表,注意,这个真值表里显示的数字都不带小数点的,如表 5-7。
表 5-7 数码管真值表
大家可以把上边那个用数码管显示数字 1 程序中的 P0 的赋值随便修改成表 5-7 真值表中的数值,看看显示的数字的效果。
-
单片机
+关注
关注
6035文章
44554浏览量
634580 -
数码管
+关注
关注
32文章
1882浏览量
91060
原文标题:单片机数码管的8个段显示效果分析
文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论