共阴极相连的数码管:
一共8个LED,数字的显示通过LED的亮灭控制
还有多个数码管连在一起的情况:
如果想让第三个显示1,上面必须是1101,因为是位选,就是说想显示哪一位亮的,下面的引脚按数字1的8个LED来给0/1。
一般数码管的位选都是共阴极接法,二极管是共阳极接法,下面我的这个数码管的程序很简单:
#include <REGx52.h> void main(){ P2_1=1; P2_2=1; P2_3=0; P2_4=1; P1_0=0; P1_1=1; P1_2=0; P1_3=0; P1_4=0; P1_5=0; P1_6=0; P1_7=1; //你可以写成P1=0x81 while(1){ } }
P2连接的是位选ABCD,所以1101,是让第124的数码管亮,然后P1是控制数码管1234567的,所以上面显示6,就是acdefg亮,b DP不亮。