本帖最后由 Kiwi 于 2013-8-15 17:04 编辑
替你解释一下这个函数 希望更深入的 自己去学习一下
void LED8Show(char data){ //这个函数的功能是显示一个你给到的数 0-9 A-F 一共16个
char i; //临时变量,用来表示 数组中8个段位对应的序号(数组LED8Pin[]的下标)
char j; //临时变量,用来表示数组LED8Pin 是0 还是 1(该断是亮 还是灭)
char hc; //临时变量,用来存放所要显示的字符(0-9 A-F)的 2进制编码(2进制编码中的每一
//位对应了每个段位,是1就亮 是0就灭)
if(0<=data<16) //检查输入的字符 在正常范围内
{
hc = LED8Code[data]; //将输入的字符的2进制编码从数组中拿到临时变量中
for(i=0;i<8;i++) //循环8次 逐一决定8个段位是亮是暗
{
j = bitRead(hc,i); //读取 hc这个2进制的 第i位置 是0 还是 1 并且讲结果存入 j
digitalWrite(LED8Pin, j); //执行语句,LED8Pin对应的I/O口 是高还是低(亮灭)
}
}
} |